DANIEL Armendariz: Hello, tout moun, Byenveni nan iOS devlopman app ak rapid. Mwen Dann Armendariz. Mwen se precepter nan òdinatè syans isit la nan Lekòl la nan Jeni ak Syans aplike. Epi rapid se aktyèlman kalite nan yon lang reyèlman byen òdone. Apre sa, mwen gen kèk plan pou jodi a. Se konsa, sou lè a pwochen oswa konsa, nou ap ale fè yon gade nan iOS devlopman app tèt li lè l sèvi avèk Xcode ak aktyèlman kreye kèk anpil debaz, aplikasyon pou trè senp. Ak gade nan wout la ke ou aktyèlman pran aplikasyon pou sa yo, ak bati yo, ak aktyèlman mete yo sou yon aparèy iOS. Gen kèk nan bagay sa yo ke nou pa ap ale nan gade nan ap gen ladan bagay sa yo tankou aktyèlman ap pran yon aplikasyon ak mete l 'sou magazen an app. Genyen yon anpil nan tutoryèl sou entènèt ki pral ede w ak ke aspè nan li. Men, tou paske kòm yon pati nan CS50, ou jwenn yo rantre nan devlopman nan Apple ekip, ekip devlopman app CS50 la. Si ou pa gen fè sa ankò ak w ap afilye ak CS50, Mwen rekòmande ke ou fè sa paske sa ki jan pou ou ap kapab yo kreye kèk pwogram nan Xcode, bati yo, ak aktyèlman mete yo sou kèk nan iOS aparèy ou si ou gen aktyèlman yon iOS fizik aparèy. Si ou pa gen yon iOS fizik aparèy ki nan plis pase amann. Ou ka aktyèlman devlope pou iOS. Epi Xcode gen yon similatè ki pèmèt ou wè aplikasyon w lan nan aksyon sou òdinatè ou. Men, li sòt de se yon bagay pwòp aktyèlman jwe ak kominike ak aplikasyon ou sou yon aparèy vrè. Se konsa, gen nan yon koup la kondisyon aktyèlman fè tout bagay sa yo devlopman. Youn nan yo se ke ou gen gen yon Mac. Li te gen yo dwe kouri 10.9.4 oswa pita nan lòd yo fè devlopman ak rapid. Ou kapab sèvi ak yon pi bonè vèsyon yo devlope ak Objektif C pou iOS ak Mac. Men, mwen rekòmande pou, ak yon anpil nan la egzanp ki nou pral wè jodi a, itilize 10.10 Yosemite. Se konsa, si ou pa gen ankò modènize, li nan yon eskiz bon yo fè sa. Koulye a, Xcode 6.1 se vèsyon an dènye nan anviwònman an devlopman entegre ke Apple bay pou gratis ki ou ka download nan magazen an app. Apre sa, mwen rekòmande pou w tou kouri vèsyon an dènye. Si ou rive yo dwe kouri yon pi bonè vèsyon, Xcode 5 ak anba a jis tou senpleman pa sipòte rapid tou. Ak vèsyon yo beta nan sis, ki yo te lage pandan ete a, fè sipòte rapid, men gen nan gen yon nimewo menmen chanjman ki fèt nan lang nan, ase se konsa ke kòd la ke w ap pral fè yon gade nan ak ke ou ta ka jwenn sou entènèt la pa pral aktyèlman konpile byen nan vèsyon sa yo anvan nan Xcode. Se konsa, ankò, pa si ou fè ankò gen yon kont pwomotè, Mwen rekòmande ou ale nan developer.apple.com. Enskri, kreye yon kont pwomotè, yo ak rantre nan ekip la CS50 devlopman app. Ki pral bay ou yon opòtinite yo konpile aplikasyon w li mete yo sou aparèy ou an. OK, se konsa kite a jwenn te kòmanse. Bagay la trè premye nou ap ale nan fè se aktyèlman kreye yon trè senp pwojè nan Xcode ki pral pèmèt ou fè yon aplikasyon. Se konsa, si ou poko gen Xcode louvri, ale pi devan epi louvri li ak kreye yon nouvo pwojè. Yon ekran Splash espesyal pral louvri epi yo pral ba ou kèk opsyon sou sa li se ke ou vle fè. Jis di ke ou vle kreye yon nouvo pwojè, yon nouvo aplikasyon. Fenèt sa a pral pòp moute, an konsideran ou ap itilize Xcode 6.1. Dwa koulye a, epi pou nan dire nan seminè sa a, nou ap ale nan dwe lè l sèvi avèk aplikasyon View sèl, jis sòt de yon aplikasyon debaz jwenn pye ou mouye. Epi ou ka branch soti sou pwòp ou a soti nan la. Klike sou Next nan pwen sa. Koulye a isit la gen nan yon koup de bagay sa yo ke ou ta ka vle antre nan. Non a pwodwi se nan non nan pwojè ou. Nan ka sa a, mwen jis pral rele li Seminar1 paske li nan premye egzanp nou an. Non Òganizasyon, nan ka sa a se jis non mwen. Ou ka nan kou chanje li nan non pwòp ou a, oswa nan CS50. Òganizasyon idantifyan, si ou rive gen yon sit entènèt jis pran non an domèn nan ranvèse, com.yourname. ak Lè sa a non an nan pwodwi a ta dwe parèt otomatikman apre sa kòm idantifyan a pake. Li evidan lang nan ke nou ap yo pral lè l sèvi avèk pou jodi a se rapid. Ou ka, nan kou, itilize Objektif C pou sa, men jodi a yo pral rapid. Epitou, n ap pou kounye a di aparèy inivèsèl, se konsa ke li ap travay sou tou de iPad ak iPhone. Apre sa, nou pral kite nwayo done san limit yo kenbe pwojè a relativman senp pou tan an ke yo te. Se konsa, kite a ale pi devan epi klike sou Next. Epi li pral mande m ' kote mwen vle pou konsève pou li. Mwen pral jis sove li nan Desktop m 'pou kounye a. Tout dwa, se konsa kounye a sa a se ki sa ki pral rive lè ou aktyèlman louvri Xcode. Ak avi ke la trè premye bagay ou wè se pwen esklamasyon sa a ki di pa gen okenn siyen idantite jwenn. Mwen te fè sa a entansyonèlman sou òdinatè mwen an ak mwen se avèk lespwa ke mwen pral kapab aktyèlman fikse li, paske mwen vle fè nou wè ki jan sa a pral aktyèlman ap travay sou machin pwòp ou yo. Ale pi devan epi klike sou pwoblèm ranje. Li pral mande ou si ou gen yon ki deja egziste kont pwomotè pòm. Sa a se kote a rantre nan CS50 ekip devlopman app enpòtan pou ke ou pa sèlman gen yon kont app, men ou gen nan tou kapasite yo siyen apps yo li mete yo sou aparèy iOS ou. Sa a se klike not-- pwoblèm ranje se pa nesesè si w ap jis ale nan konstwi e pou devlope lokalman, antyèman nan similatè a iOS. Men, pou kounye a mwen pral yo devlope ak mete yo sou iPad m 'yo, ki pral kapab difize kòm byen. Se konsa, mwen vle aktyèlman ajoute sa a. Epi li pral mande m 'pou ID Apple mwen. Se konsa, li nan pral fè sa a. Apre sa, mwen gen yo chache m ' modpas, ki se sou isit la. Se konsa, bay m 'jis yon sèl dezyèm ke ou jwenn ke, ak fè kopi sa a, epi kole li sou isit la. Klike sou Add. Li nan ale nan mande m ' ki ekip mwen vle yo rantre nan. Mwen pral fè lekòl nan jeni. Klike sou Join. Whoops, ki nan yon sèl nan sa ki mal. Se pou yo fè yon sèl sa a. Èspere ke ke youn pral travay. Ke youn toujou pa travay. Nou ap kouri soti nan yo menm bon isit la. OK, yon sèl sa a ta dwe travay. Koulye a, fèmen sa. Koulye a, kite a fè lekòl nan jeni, klike sou chwazi. Epi, koulye a èspere ke apre yon koup la segonn ou can-- OK, Mwen pral revoke ak demann. Oh nonm, sa a se pral pa nan travay. OK, mwen pral eseye yon yon sèl diferan. Se pou yo fè yon sèl sa a isit la. Demonstrasyon Live yo li pap resevwa m '. Nou ka gen yo retounen anba jis bati antyèman lokalman, men ki ta ka OK nan ka sa a. Se konsa, isit la, pandan y ap sa a se aktyèlman k ap travay, ki sa nou ap ale nan fè se jis kreye yon trè senp Alo Mondyal aplikasyon. Se konsa, sa a se Xcode. Men, si ou pa gen pou wè li ankò, li kapab yon ti kras entimidasyon an premye. Genyen yon anpil nan vitraj, gen nan yon anpil nan doodads nan plizyè zòn. Men, jis reyalize ke gen nan reyèlman plizyè eleman prensipal nan sa a anviwònman devlopman. Sou bò gòch la byen lwen, yo tout nan dosye yo ki aplikab a pwogram ou an oswa nan pwojè patikilye ou. Nou pral klike alantou sou kèk nan yo ak nou pral pwen soti pi plis nan moun enpòtan sou tan. Sou bò dwat la byen lwen, nou gen yon seri nan atribi. Apre sa, tout nan atribi sa yo, gen divès kalite vitraj pou atribi yo. Vitraj yo pral chanje tou depann de kontèks la nan kontni prensipal la, ki k ap pase yo nan mitan yo. Koulye a, mitan an ka aktyèlman montre ou yon varyete de bagay sa yo, pou egzanp kòd ou a tèt li. Oswa ou ta ka aktyèlman have-- lè ou klike sou scénario a ki se, nan chemen an, jis yon grafik reprezantasyon nan itilizatè ou koòdone pou application-- ou Lè sa a, atribi ki fenèt sou byen lwen dwat a pral aktyèlman chanje. Koulye a, gen nan yon koup nan lòt bagay sa yo ke mwen vle pwen. Ou ka sòt de eksplore alantou nan anviwònman an sou pwòp ou yo. Men, youn nan bagay ki ki te trè itil se nan bouton sa-a isit la, tèt dwat nan fenèt la. Genyen bouton sa-a ki sanble sou byen lwen nan kite li gen yon paragraf ki te swiv pa de ti sèk ak sòt nan de flèch montre lwen soti nan chak lòt. Si ou chanje ant nan estanda editè, ki se youn nan byen lwen kite, yon sèl la ki nan chwazi pa default, ak de ti sèk yo sipèpoze youn ak lòt, ki sa ou aktyèlman jwenn se yon View fenèt doub. Lè sa a se aktyèlman ale nan kapab itil pou nou lè nou bezwen fè rapò ant atik nan UI a nan kòd la. Epitou, n ap pale plis sou ke nan jis moman yon. Men, reyalize ke si ou jwenn menm plis vitraj tankou sa a, ou ka senplifye vi ou jis yon ti jan pa klike tounen sou editè sèl ou. Se konsa, lwen tèlman bon. Se konsa, fondamantalman nou gen Kòd la sou bò goch la, sou bò dwat la atribi figi, ak tou sa li se nou ap travay sou isit la nan sant la anpil. Se konsa, isit la mwen te klike sou scénario prensipal la. Epi scénario a, ankò, se yon fason nan Xcode ke ou ka aktyèlman kreye itilizatè ou koòdone lè l sèvi avèk jis trennen ak gout teknik. Se konsa, pou nou an trè premye aplikasyon sa a se jisteman ki sa nou ap pral fè. Nou pral desann ale nan nan byen lwen pi ba pòsyon dwat nan ekran an, ki gen yon varyete de eleman itilizatè ke ou ka Lè sa a, Sur Et faites yo kreye koòdone itilizatè ou yo. Koulye a, tout moun sa yo eleman yo rele opinyon paske yo bay kèk sòt de vi. Genyen yon View imaj, pou egzanp, yo aktyèlman montre yon imaj sou koòdone nan itilizatè. Genyen yon View tab aktyèlman montre yon tab. Se konsa, sou ak pou fè. Genyen yon gran varyete opinyon ke ou ka chwazi isit la. Se konsa, jis pou kounye a nou ap ale pou fè rechèch pou yon etikèt sou. Ou ka jis woulo liv atravè tout nan lis yo ki nan la. Men, gen nan rechèch la defann nan pati anba a trè ki fè li pi fasil yo idantifye opinyon espesifik ke ou aktyèlman vle trennen nan koòdone itilizatè ou yo. Twouve etikèt m 'yo. Mwen pral trennen l 'isit la, dirèkteman sou aplikasyon echantiyon mwen. Dwa gen nan mitan an sanble bon. Apre sa, mwen pral tape "Alo Mondyal!" Frape Antre nan. Koulye a, mwen gen yon mete etikèt sou. Li pa gade tankou li nan santre byen byen. Se konsa, mwen ka eseye re-sant li. Erezman li ofri sa yo gide fè bagay sa yo pi fasil. Mwen pral pou yo eseye konpile li. Èspere ke li pral aktyèlman ap travay isit la. Men, si li fè sa pa, nan jis yon ti moman li pral an reyalite parèt sou iPad m '. Li nan dwa isit la. Gen li se. OK, se konsa sa a, se li. Nou ap fè. Nou te kreye nou an trè premye aplikasyon. Koulye a, evidamman sa a pa fè anyen. Se jis nan yon mete etikèt sou. Gen nan pa gen koneksyon ant koòdone nan itilizatè yo ak kòd la. Se konsa, si nou aktyèlman te vle yo kreye koneksyon sa a, si nou aktyèlman te vle gen kèk sòt nan kominikasyon ant eleman yo ki egziste sou la ekran ak kòd la ke pèmèt nou kontwole sa yo eleman, Lè sa a, nou aktyèlman bezwen gade nan kòd la tèt li. Se konsa, sa a se sa ki rele ViewController.swift. Se pou, espesyalman pou premye pwogram kèk ou, sa a se pral yo dwe sòt de la èstime nan kòd la ke ou enter-- a pwal nan dokiman sa a isit la. Genyen yon anpil nan bagay sa a, se nan isit la byen lwen tèlman, dwa? Genyen enpòte UI klas twous, pase sou desizyon, [? funk,?] tout bagay sa yo divès kalite. Epi li pa byen klè sa ki li se ke tout bagay sa yo vle di. Se konsa, kite a pran yon etap tounen lwen soti nan Xcode pou yon ti kras ak gade nan lang nan tèt li, rapid. Se konsa, avèk rapid, li te nan konsepsyon ak devlopman nan Apple pou apeprè kat ane nan konpreyansyon m 'yo. Apre sa, nan yon koup la karakteristik sou li ki se reyèlman byen òdone. Premye a tout, li nan konpile lang, jis tankou C. Se konsa, ou premye gen konpile li ak Lè sa a kouri li anvan ou ka aktyèlman egzekite kòd la ki rezilta. Men, gen yo, kontrèman ak C, yon entèaktif pouse ke ou ka aktyèlman kouri ak kalite kòmandman abitrè nan. Ak anpil tankou yon konsole JavaScript, ki ou ka abitye ak kounye a, li aktyèlman ap evalye moun kòmande epi yo bay nou la a pwodiksyon an. Apre sa, yo te menm te pran ki nan yon nivo pwochen epi yo te kreye yon bagay rele teren jwèt nan Xcode ki pèmèt ou vizyèlman travay avèk kòd. Epitou, n ap aktyèlman wè kèk egzanp nan ki nan jis yon ti kras. Li nan ki baze sou C. C fond li, paske tout nan konpilateur yo kreye Kòd soti nan C ak kreye kòd la objè soti nan li. Men, li vrèman aksyon relativman ti kras sentaks. Li pral gade san patipri diferan. Gen pral kèk resanblans. Men, gen yo pral yo dwe diferans byen kèk konpare ak, di, JavaScript oswa PHP. Epitou, n ap montre sa yo soti nan jis moman yon. Koulye a, youn nan pi gwo bagay sa yo sou rapid sa a, se bèl se ke, espesyalman konpare C, li nan te vle di yo dwe san danje. Tout bagay nan li se vle di ke yo dwe trè fòtman tape nan. An reyalite li nan prèske anmèdan an premye, lè ou premye kòmanse travay ak rapid, jis ki jan lajan l aplike kalite toupatou. Nenpòt bagay ki se yon fisèl gen yo rete yon fisèl. Li trè difisil yo sòt nan konvèti li oswa entimide l 'nan kèk lòt fòm. Epi ankò, nou pral montre egzanp sou sa a. Men, finalman reyalize ke sa a vle di ke yo pwoteje ou, ak pa ou mwen vle di kòd ou a, ki soti nan ekraze nan kèk fason terib lè ou gen kèk sòt de kalite mismatched. Epi ankò, travay avèk li. Paske li pral fwistre nan premye menm jan ou eseye konpwan poukisa egzakteman w ap vin sa a etranj erè fè fas ak kalite. Men, li pral vo li nan fen an. Li fè fas ak otomatik jesyon memwa, se konsa pa gen okenn ankò fè ou gen fè fas ak bagay sa yo tankou malok ak gratis epi tout nan kalite sa yo de bagay sa yo. Ak li la tou ki fèt pou généraliste. Se konsa, pandan nou ka sèvi ak yon Xcode kreye iOS apps yo ak aplikasyon pou Mac, nou ka tou jis sèvi ak li kòm yon lang scripting. Se konsa, nou ka sèvi ak li sòt nan olye pou yo PHP oswa olye nan Piton aktyèlman byen vit analizan ak pwosesis kèk done ke nou gen sou òdinatè nou yo. Li te gen yon gran varyete modèn karakteristik, opsyonèl, mutabilite, les, fèmen, ak yon anpil nan sa a bagay ou ka oswa ka pa rekonèt. Lè li nan jis sòt de yon malere yon pati nan lang la ke kèk nan sa yo sòt de futurist, eleman modèn ki yo genyen nan eleman yo se konsa pwofondman koutim ke mwen aktyèlman pral gen yo anseye ou CS50.5 yon ti kras. Nou gen yo aprann yon ti jan ti kras pi plis sou kèk nan karakteristik yo nan lòd reyèlman konprann sa k ap pase sou yo ak sou pou ke ou ka gade nan Kòd epi yo pa santi totalman pèdi. Men, ou pral wè sa m 'vle di pa ki nan jis yon minit. OK, se konsa let's-- ase nan sa a sòt de bagay teyorik. Se pou nou aktyèlman gade nan nou an trè premye pwogram rapid. Li nan yon sèl liy nan kòd. Liy 14 dwa isit la, li di ekri ak lèt ​​detache l n alo CS50. Se konsa, gen nan yon koup nan bagay sa a, se trè diferan sou sa a konpare nan bagay sa yo ke ou ta ka itilize yo soti nan C, pou egzanp. Youn nan yo se ke gen nan pa gen intmain, gen nan pa gen ladan seksyon, gen nan okenn nan bagay anplis sa a. Gen ladan nan, tankou estanda I / O, tankou bibliyotèk yo ki aktyèlman bay la karakteristik estanda nan lang lan, yo se otomatikman enkli kòm yon pati nan bibliyotèk estanda rapid nan e ke yo se otomatikman enpòte. Ou pa dwe fè ki enpòte manyèlman. Intmain pa egziste paske pwen an antre prensipal pou kòd la se aktyèlman nan la kòmanse nan kòd la. Se konsa, nenpòt Kòd ki di ou gen kòmanse depi nan konmansman an pral aktyèlman dwe egzekite nan kòmansman an. Se konsa, sa a vrèman anpil senplifye. Avi tou, ki gen nan pa gen virgules. Gen nan pa gen virgules nan lang sa a. Ou mete yon deklarasyon sou yon liy moun ak Lè sa a liy nan pwochen reprezante deklarasyon an ak lòt. Si ou vle mete deklarasyon mulitiple sou entènèt, Lè sa a, ou gen separe li pa virgules. Men, pou pati ki pi, pou bon style, nou ap pa janm ale nan wè virgules pou rezon ki nan separe deklarasyon nan rapid. Se konsa, kouman sa a aktyèlman ap travay? Oke anpil tankou C nou gen aktyèlman yo konpile sa a. Se konsa, nou ka fè sa lè l sèvi avèk rapid c ak Lè sa a 1.swift. Lè sa a, apre yon koup minit sa a pral konpile ak Lè sa a mwen ka kouri atik yon sèl. Ak pase li pral jis di "Alo CS50." Awesome, se konsa gen nou ale. Genyen pwogram premye mond alo nou an. Se pou yo deplase sou li nan nimewo de. Koulye a, nan sa a this-- te chanje yon ti kras, paske Lè nou konsidere ke nòmalman ou do-- an reyalite toujou ou gen konpile yon aplikasyon rapid anvan ou aktyèlman kouri yon sèl l-- nan karakteristik yo ki gwo ke mwen mansyone anvan te ke rapid ka aktyèlman dwe itilize nan sòt nan yon mòd pseudo-entèpretasyon, gen se an reyalite tankou yon entèprèt. Men, sa ki sa a pral fè ki gen la se, an reyalite, yon aplikasyon rapid ke ou ka kouri. Se konsa, pou egzanp si ou jis tape rapid isit la, sa ki pral rive se ke ou pral jwenn yon èd memwa. Epi ou ka tape rapid ou Kòd, enprime hello, ak kouri li. Epi li pral aktyèlman print-- byen, li pa t 'enprime nan ka sa a paske li enprime santre soti, ki se pa vizib isit la. Men, li se aktyèlman kapab fonksyone. Se konsa, nan ka sa a, mwen jis pral sèvi ak sa a kòm yon script. Apre sa, mwen ka aktyèlman kouri sa a kòd la. Se konsa, fason a ke mwen aktyèlman kouri li pral yon ti kras diferan, men ou pral wè ke nan jis moman yon. Koulye a, nan ka sa a ki sa nou ap ale fè se premye defini yon varyab. Se konsa, sa a se ki jan nou defini yon varyab nan rapid, se nou itilize mo kle a kite, ki te swiv pa non an nan varyab la, ak Lè sa a nou bay kèk inisyalizin done opsyonèlman. Se konsa, sa a nou ap defini yon konstan rele, epi nou ap ale nan sèvi ak ke nan pwodiksyon an nan liy nou an ekri an lèt detache nan anpil anba, alo non an. Koulye a, remake ke olye ke lè l sèvi avèk% s, nou ka ankapsulasyon non an nan sa a varyab nan / () epi yo dwe kapab anchene nan sa ki nan sa a fisèl nan sa a fisèl. Koulye a, kontrèman ak C, fisèl se yon aktyèl kalite reyèl nan rapid. Se konsa, li chita ansanm ak antye ak ansanm ak double trè fasil ak natirèlman konpare nan kèk nan lòt la lang ke nou te wè. Se konsa, sa sa a aktyèlman ta fonksyone jis tankou ou ta atann. Mwen ka kouri 2.swift. Apre sa, nou wè ke non mwen se aktyèlman renure a, "Alo lavil Dann." OK, pè. Deplase sou nan nimewo twa. Koulye a, li te yon ti jan nan yon manti blan ke mwen te di ke wout la ke nou deklare varyab te sèvi ak mo kle a kite. Kòm anpil fwa ke posib ou ou ka fè vle sèvi ak kite, paske sa ki fè se li defini yon konstan. Ak ki di rapid ke li kapab optimize vitès la nan aplikasyon w lan paske li konnen ke ki plase a pa pral chanje. Se konsa, ak anpil atansyon evalye lè w ap ale nan sèvi ak yon varyab pou la rezon pou chanje li. Men, lè ou ap ale nan kreye yon varyab jis yo kenbe kèk done e ke se pa aktyèlman pral chanje. Se konsa, konsèp sa a nan pèrsistans, li pa aktyèlman ale nan chanje, se yon yon sèl enpòtan menm jan byen lwen desann kòm defini varyab. Se konsa, isit la nou te defini yon non, kite non, ak nan ka sa a li nan yon konstan, se sa ki nan kalite fisèl, epi li se egal a lavil Dann. Se konsa, Lè nou konsidere ke nan anvan an vèsyon, li infers-- ak pa "li" Mwen vle di swift-- rapid enferyè ki kalite done ke nou te antre nan varyab la. Nan ka sa a, nou kapab eksplisit. Se konsa, kite Lè sa a, non an nan sa a varyab se non, Lè sa a, yon kolon. Apre yo te fin kolon an nou presize ki kalite done. Se konsa, pa gen okenn ankò se li ki int oswa Non fisèl oswa yon bagay tankou sa. Men, olye pou kite mete etikèt sou, nou ap defini si wi ou non li nan konstan oswa varyab, ki te swiv pa non an, ki te swiv pa opsyonèlman nan kalite. Se konsa, nan ka sa a nou ap defini Non sa a se yon fisèl. Nou ap di la a se lavil Dann. Epi, koulye a mwen gen yon lòt varyab, nan ka sa a sa yo rele mete etikèt sou. Men, remake ke li se genyen prefiks ak mo kle a var. Vle di nan var mo kle ki sa a varyab ka ap chanje nan yon pwen pita nan tan, yon kote desann nan kòd la nou ka aktyèlman chanje li epi li pa pral ban nou nenpòt erè patikilye. Nou ka fè estanda konkatenan operatè isit la lè l sèvi avèk senbòl la plis yo aktyèlman ajoute nou an non nan fisèl sa a. Lè sa a, nou ka enprime soti kòm nou te wè jis yon ti moman de sa. Koulye a, kite a di ke ou vle kreye yon varyab men ou pa vle inisyalize li ankò. Ou pa ankò vle mete nenpòt done nan li. Oke ou gen di rapid ki kalite a nan done a pwal anvan ou kapab aktyèlman defini li byen. Se konsa, nan ka sa a, lè nou te defini yon varyab rele klas nou gen yo dwe eksplisit sou kalite li yo, paske li pa ka dégager jis kap nan done yo inisyalizèd ke ou bay li. Li pral ba nou yon erè si ou jis kalite var klas, pou egzanp, paske li pa gen okenn kalite Se poutèt sa. Se konsa, klas = 100. Se konsa, ki 100 se yon nonb antye relatif, li adapte trè joliman nan sa. Li pral kontinye fonksyone. Nou ka wè ki jan sa a, nou ka anchene sa a nan. Koulye a, ou ta ka vin tante l ', si ou aktyèlman te vle anchene nan klas nan yon lòt fisèl tèks, nan yon lòt fisèl, ki ou ta jis sèvi ak sa operatè konkatenan menm. Epi ki ta nòmalman dwe vre. Men, rapid pa pral pèmèt ou chal chanje kalite a nan done. Se konsa, nan ka sa a, sa a liy, 25, ap febli paske se yon klas nonb antye relatif epi yo pa yon fisèl. Se konsa, gen nan yon dezekilib mete nan kalite. Se konsa, ou gen yo dwe eksplisit lè ou vle chanje done sa a, lè ou vle entimide sa a done nan yon kalite diferan ak di, OK, mwen vle pran sa a klas, ki se yon nonb antye relatif, ak konvèti li nan yon fisèl. Se konsa, mwen pran chèn yon kapital nan tout nan la kalite, ou pral avi, yo kapitalize, Int, Double, chèn, sou sa ak pou fè. Yo tout yo kapitalize jis fè bagay sa yo pi fasil. Epitou, n ap di tirer Fisèl pase nan li ane. Epi li pral kreye yon fisèl soti nan ki nonb antye relatif. Lè sa a, nou ka anchene de la trè joliman. Nenpòt kesyon sou bagay sa a byen lwen tèlman? Tout dwa, kite a rale chari nan nan nimewo kat. Koulye a, kite nan pale sou kèk plis avanse estrikti, tankou ranje ak pasan. Ak kontrèman ak C, ranje nan rapid yo pa reprezante pa endikasyon. Endikasyon nan rapid, byenke yo egziste, ki rele tankou endikasyon ki nan ensekirite oubyen kèk kalite ki sanble tankou sa a, yo pa ap ekspoze nan ou nòmalman. Se konsa, li vin trè difisil pou ou pou w manipile memwa a dirèkteman nan òdinatè ou. Se konsa, ranje yo se jis yon kalite done. Apre sa, yo ap lè l sèvi avèk sa a sòt referans a kounye a estanda notasyon bracket kare ke ou te wè anvan. Men, lè ou aktyèlman vle defini yon di ki kalite yon varyab kòm yon etalaj nan kèk patikilye kalite, lè sa a ou mete sa kalite nan parantèz kare. Se konsa, sa m ap di isit la se ke Mwen kreye yon varyab rele klas nan etalaj int kalite. Apre sa, mwen mete ki egal a kèk done inisyalizèd, ki nan ka sa a se 100, 0, 90, 85, ki se jis yon koleksyon klas abitrè isit la. Koulye a, nan ka sa a mwen te kapab, sonje, retire kalite a, epi li ta ka kapab dégager li ki baze sou done yo inisyalizèd. Men, si mwen retire sa a epi Mwen te bezwen mete l 'apre sa, Lè sa a, mwen ta gen a asire w ke mwen gen kalite a la. Tout dwa, kite yo deplase ansanm. Se konsa, nou ranje can-- bay nou yon varyete nan metòd nan ki notasyon dot nan ou yo se pwobableman kounye a abitye avèk yo. Se konsa, grades.count, pou egzanp, di nou jisteman nimewo a nan eleman ki genyen nan sa a etalaj. Si m 'vle ajoute additional-- kounye a remake ke sa a se yon var ak not-- sa a se yon varyab epi yo pa yon konstan, ki vle di ke mwen ka chanje sa ki nan etalaj sa a, mwen ka ajoute objè nan li. Men, mwen pa ka jis di klas ak Lè sa a nan parantèz kare kat, paske sa pral yon soti nan avèk limit erè nan ka sa a. Si m 'vle aktyèlman chanje gwosè a nan sa a etalaj, Mwen gen yo sèvi ak metòd la dot ajoutra ajoute yon bagay sou nan fen anpil nan li. Mwen kapab, sepandan, chanjman endis endividyèl elèv yo. Se konsa, mwen ta ka itilize klas Lè sa a, ak parantèz kare zewo rive manipile sa a premye endèks ak sou sa, tankou ou ta nòmalman atann. Apre sa, mwen ka fè menm bagay la yo aktyèlman resevwa done ki nan ke kòm byen. Koulye a, gen nan tou sòt de yon metòd anpenpan pou fè sa, klas plis egal ak Lè sa a yon lòt endèks, ki pral append-- oswa ou pa yon lòt index-- men yon lòt lis ki pral kole ke lis nan do a nan klas. Ak klas yo pral Lè sa a, gen tout sa ki. Men, sa a sòt de yon bagay siplemantè ke mwen jis ki montre ou pou plezi. Koulye a, gen nan yon pou riban. Lè sa a se kòmansman an nan kote bagay sa yo kòmanse chanje yon ti kras. Avi sou jan sa a pou riban se diferan de pou pasan nan C. Koulye a, mwen pral sonje ke pou pasan nan Swift kapab yo dwe fè yo gade tankou pou pasan nan C, men gen nan yon anpil nan konstwi pi plis itil ki esansyèlman elimine bezwen an gen pou var mwen egal 0 virgules mwen se mwens pase kèk longè, sou sa ak pou fè, dwa? Ak konstwi sa a se jis youn nan yo. Pou endèks, endèks se nouvo varyab, nan ka sa a, nan pòte. Epi sa m ap di se ke gen nan yon seri ki ant 0 tout wout la jiska men se pa ki gen ladan grades.count. Se konsa, sa dot dot mwens pase siy reprezante yon seri de valè kòmanse nan zewo tout wout la jiska grades.count mwens 1. Gen yon separe operatè ki egziste, ki se dot dot dot, ki ta vle di ke mwen vle seri a nan zewo klas konte enklizif. Men, nan ka sa a, paske sa yo ranje yo se zewo endèks, nou nan kou pa vle pou yo ale nan la maksimòm kantite klas. Mwen kapab sòm klas yo, menm jan ou ta ka atann, ak pwodiksyon tout nan bagay sa a. OK, deplase sou. Koulye a, kite nan pale sou fonksyon. Yo nan lòd yo defini yon fonksyon ou sèvi ak mo kle a funk. Epi ankò, an Swift ou gen dwe pran anpil prekosyon ak kalite yo. Ou bay li paramèt pa defini, pou egzanp, non an nan paramèt la ak Lè sa a, nan Colin, ki kalite done ke ou espere ke paramèt yo aksepte. Se konsa, nan ka sa a nou gen yon fonksyon rele konte klas enprime yo. Li aksepte yon varyab rele Gradebook, ou pito yon paramèt rele Gradebook. Apre sa, nou ap tann ke Gradebook yo dwe yon etalaj de nonm antye relatif. Si sa Gradebook se vid, nou pral enprime yon sèl bagay. Sinon nou pral enprime soti nimewo a nan klas ke sa a aktyèlman gen. Koulye a, si nou vle retounen kèk valè, Lè sa a, wout la ke nou modifye definisyon sa a se ki aktyèlman sèvi ak sa a mo kle flèch, oswa yo sèvi ak sa a siyifyan flèch. Se konsa, isit la nou ap ale nan defini yon fonksyon rele an mwayèn. Nou pwal aksepte yon lis nimewo. Epi nou ap ale nan retounen yon doub, ki pral èspere ke gen an mwayèn nan sa a etalaj. Ak yo nan lòd yo fè sa, yo nan lòd yo aktyèlman kalkile sa a mwayèn, nou pral pran yon sòm epi nou pral nan kou sòm moute tout nan objè yo nan sa a etalaj. Remake gen nan yon nouvo style nan pou riban isit la. Nou pa dwe fè eksplisit sou iteration sou chak eleman yon sèl, men nou ka olye di pou klas ak Gradebook, siyifikasyon ke pou chak yon sèl atik ke nou gen nan sa a, bay ki atik nan sa a varyab rele klas. Apre sa, mwen vle fè yon bagay ak li. Se konsa, mwen pral rapò kantite tout done sa a ak aktyèlman retounen divizyon an doub. Koulye a, remake ankò isit la gen nan konsèp nan nonb antye relatif divizyon nan Swift. Si ou vle double divizyon paske ou vle desimal, Lè sa a, ou gen yo dwe klè, pa sèlman sou yon sèl bò, paske li pa k ap pase yo pèmèt ou entimide done sou chak bò nan sa a, ou gen aktyèlman kou tou de bò nan double se konsa ke ou ap trè eksplisit sou fè si ke w ap fè doub divizyon. Se pou yo deplase sou. Se konsa, si mwen aktyèlman vle accept-- se konsa nan sa a egzanp patikilye, sa a se toujou yon lòd liy ki baze aplikasyon. Epi nou ap kòmanse wè kèk nan limit yo nan lang nan jèn nan ke byenke nou kapab aksè agiman yo lè l sèvi avèk sa a process.arguments, li nan propr a toujou pa nesesèman bagay ke nou te janm wè. Men, fondamantalman Mwen ankouraje w sòt de gade nan sa a kòd epi eseye figi konnen ki sa egzakteman ki pral sou. Esansyèlman sa k ap pase se ke nou ap pran yon lis nan agiman epi yo te fòse yo nan nonm antye yo, ak Lè sa a nou ap pral sèvi ak sa kòm yon fason yo enprime soti mwayèn nan nan tout nan klas nou an. Deplase sou. Koulye a, gen nan yon lòt di ki kalite data-- yon lòt done kalite olye ke ranje rele diksyonè, ki se trè menm jan ak Hash tab oswa kat regle ak yo sanble tou, yo Ranje asosyatif PHP a. Se konsa, yo gen nosyon a nan kle ak valè. Apre sa, yo ap defini tou ak sa a notasyon bracket kare, men diferans lan se ki gen diksyonè andedan nan bracket a kare, yon kolon. Ak kolon an separe done yo tape ki se kle a ak valè a. Se konsa, nan ka sa a, mwen pral yo kreye yon diksyonè aksepte kèk klas. Epi li a pwal nan kalite fisèl: int, ki vle di ke tout nan la kle yo pral yo dwe strings, ak tout valè yo nan sa yo kle yo pral yo dwe nonm antye relatif. Ki sa sa vle di se ke mwen kapab Lè sa a, referans done a espesifik ke mwen vle lè l sèvi avèk kle sa yo olye pase lè l sèvi avèk nimerik endis tankou mwen ta gen pou yon etalaj estanda. Koulye a, kite a wè, gen nan yon sèl bagay enpòtan ki mwen menm mwen te vle mansyone sou sa a sekans patikilye nan kòd. E ke se ke gen nan yon lòt kalite done, ou pito gen nan sa a lide nan done ki se genyen nan Swift rele opsyonèl. Ak sa ki vle di se opsyonèl ke li rekonèt lefèt ke pafwa ou pa ap ale nan jwenn done nan ke ou aktyèlman atann. Se konsa, sa mwen vle di pa ki is-- kite nan pran yon gade nan sa a sekans nan Kòd ki iterates sou tout nan la agiman ki te pase bay kòd sa a epi eseye konvèti yo, ap eseye divize an yon varyete de strings, paske li aksepte yon trè kalite patikilye nan agiman. Lè sa a, li se pral pou yo eseye entimide strings yo ki reprezante nimewo nan nonm antye relatif ki klas, ke mwen ka Lè sa a, kalkile. Se konsa, fondamantalman mwen pral itilize fonksyon fann sa a ki egziste nan la Swift bibliyotèk estanda. Mwen pral pase nan li a fisèl ke mwen vle fann. Lè sa a, lè l sèvi avèk sa a nan sòt de fenki sentaks, ki Mwen pa konnen si nou pral li ale nan, men petèt, nou pral aktyèlman presize egzak la karaktè ki nou vle fann nan. Se konsa, sa sa a aktyèlman sanble? Se pou nou pran yon gade nan aktyèlman kouri sa a kòd. Se konsa, pou egzanp, kite a di mwen gen yon egzamen ak mwen te resevwa 50 sou sa. Apre sa, mwen gen yon psets ak Mwen te resevwa yon santèn sou sa. Apre sa, mwen got-- gen nan yon lòt egzamen ak mwen te resevwa yon 40 sou sa. Mwen frape Antre, ak evantyèlman sa pral rive se ke sa ki li nan fè ap pran sa yo paramèt, divize strings yo nan kolon sa yo, rekonèt ke gen nan de eleman nan chak yon sèl, epi li esansyèlman kenbe tras nan chak. Se konsa, mwen gen nan diksyonè mwen yon egzamen, ki gen Se valè reprezante pa nimewo a 50, Mwen gen yon pset ki gen valè nan 100, ak yon egzamen ki te gen yon valè de 40. Lè sa a, pita sou nan kòd mwen an aktyèlman moyenne tout valè sa yo ak lis tout kle yo nan ki diksyonè patikilye. Men, sa a se yon bagay enpòtan pou ke ou ka remake sa k ap pase, se ke sa nou vle fè se pran sa a fisèl ak fann li nan sa a karaktè, ki nou ka fè ankò ak fann sa a fonksyon lè l sèvi avèk sa a sòt de sentaks enteresan ki egziste isit la. Jis pou kounye a asime ke sa a, se OK. Nou pral gade plis nan sa a nan jis yon ti tan. Men koulye a, gen nan yon enteresan aspè ke nou aktyèlman vle pou yo eseye konvèti sa a fisèl nan yon nonb antye relatif. Men, nan lòt lang sa ki ka rive se ke nou ta pwobableman eseye fè li ak swa jwenn tounen kèk sòt de Sentinel valè tankou yonn negatif oswa petèt yon nil oswa yon bagay tankou sa. Oswa petèt li ta jis ki te koze yon erè. Apre sa, nou ta gen yo Lè sa a, trape ki erè ak Lè sa a eseye fè yon bagay ki baze sou lefèt ki konvèsyon sa a yon nonb antye relatif echwe. Sa a kote ide sa a nan opsyonèl vini nan. Ou ka aktyèlman kreye yon kalite done ki se yon mak kesyon int, pou egzanp. Sa vle di ke sa a nonm antye se, an reyalite, si ou vle. Ak sa ki pral rive se ke li ka gen yon nonb antye relatif, oswa li ka pa. Li ka, an reyalite, gen sa a lòt lide, antyèman rele nill. Nan ki sa vle di ke gen nan pa gen okenn valè tou sa nan sa a. Li pa menm zewo, gen nan jis pa gen okenn valè. Genyen absoliman okenn valè reprezante. Epi se sa ki liy sa a 71 ap fè. Eske se sa ke li se ki di ke mwen vle pou yo eseye mete yon valè, yon varyab rele klas, ki egal a nan konvèsyon nan fisèl sa a nan yon int. Se konsa, mwen te pran sa a fisèl, sa a eleman an premye, oswa olye dezyèm lan eleman, paske sa a se zewo Catalogue, nan sa a fisèl ke mwen te fann. Apre sa, mwen vle konvèti ki nan yon nonb antye relatif. Men, li pa gen dwa toujou kontinye nòmalman, paske imajine sa ki ta rive si, olye ke di yon nimewo, mwen tape nan kou tankou asdf. Li nan ale nan febli. Li nan pa aktyèlman pral fè kapab konvèti ke yo yon nonb antye relatif jan mwen ta atann. Se konsa, olye ke choute koupe kèk sòt de yon erè, nou gen ide sa a nan yon si ou vle. Lè sa vle di ke lè l sèvi avèk sa a mak kesyon m ka di, OK, se li posib ke mwen ka pran sa a, konvèti li nan yon int, li mete l 'nan yon varyab, ki pral tou pou yon int. Si se konsa, Lè sa a, sa vle di ke sa a te gen siksè ak sa a pòsyon an premye nan blòk la kapab kontinye. Sinon, li echwe. Pa gen okenn valè nan grade-- oswa olye pa gen okenn valè nan ki deja egziste, epi mwen te gen aktyèlman pou yo eseye okipe kondisyon erè sa a. W ap ale nan wè sa a kesyon mak tout tan tout tan an nan Swift ak nan kòd egzanp pou Swift. Ak an reyalite operatè a nill, sa a sòt nan kesyon make, pati nan opsyonèl, a pwal pwobableman youn nan bagay sa yo pi difisil sòt de vlope tèt ou otou jan ou aktyèlman ap travay ak li. Li ta ka fè sans kounye a. Ak an reyalite, lè m 'te ekri echantiyon kòd pou sa a, sètènman mwen konprann sa ki te ale sou, men yo toujou kenbe m 'pa sipriz chak konsa souvan lè m 'ta jwenn ke kèk done te aktyèlman yon vèsyon nil, yon vèsyon si ou vle nan done a ke mwen te ap tann. Se konsa, jis reyalize ke si ou gen yon vèsyon si ou vle ou gen defèr ki done ki sòti nan bwat sa a. Se konsa, li sòt de tankou I-- imajine si ou gen yon bwat ak li gen yon bagay. Ak sa ki ou bezwen fè se mande kesyon an, se li posib ke sa a bwat aktyèlman gen done yo ki m 'ap chache? Si se konsa, Lè sa a, rale ke soti done ak mete l 'nan sa a varyab ki deja egziste. Si ou pa, Lè sa a, mwen jis gen nan respekte sa ki nan bwat sa a tout ansanm paske li literalman gen pa gen anyen. Nenpòt kesyon sou sa a? OK, se pou yo avanse pou pi lwen sa a sòt de liy lòd ki baze bagay epi yo kòmanse gade nan kèk nan teknoloji a ki Xcode bay yo ban nou nan fòm lan nan teren jwèt. Se konsa, gen nan yon anpil nan kapasite isit la ak Swift. Men, si ou louvri moute Xcode ak li mande ou sa ou vle fè a, ou ka louvri moute lakou rekreyasyon an ak jis jwe otou ak yon anpil nan estrikti diferan ak aspè nan lang lan anvan ou menm kòmanse manyen sdk a iOS oswa Mac sdk a. Se konsa, sa a, se pou yo di ke mwen have-- Mwen gen yon egzanp relativman parvenus isit la, men pote avè m 'menm jan nou sòt nan travay nan egzanp sa a. Se pou nou di ke nou gen fè yon anpil nan ekspozan ki gen yon valè fiks, tankou nou konnen ke nou ap ale nan bezwen fè yon anpil nan pouvwa kare, pou egzanp. Se konsa, nou ap ale nan pran kèk valè x, nou ap ale nan kare li, nou ap ale nan pran kèk valè y epi nou ap ale nan kare li. Se konsa, sou ak pou fè. Koulye a, nou ta ka aktyèlman jis kreye yon pouvwa nan 2 fonksyon pou sa a, dwa? Se konsa, nou ta kreye yon pouvwa nan 2 fonksyon. Nou pral aksepte yon doub. Nou pral output-- oswa nou pral retounen yon kalite doub. Nou pral pran sa a rezilta ak Lè sa a pou de fwa ki sa nou aktyèlman pran rezilta yo, ki te inisyalizèd a nan valè nan yon sèl, ak anpil anpil pitit li pa x. Se konsa, nan sans nou gen x fwa x isit la. Se konsa, Lè sa a, mwen kapab lè sa a, menm jan nou ta ka atann, pran sa a, kouri pouvwa a 2, bay li kèk done, mwen renmen 2.0. Apre sa, nou jwenn yo wè rezilta yo isit la 4.0. Kouri pouvwa nan 2 sou 3.2 e nou jwenn yo wè rezilta nou an, 10,24. Se konsa, lwen tèlman bon, dwa? Koulye a, nou ap panse, byen, OK. Koulye a, mwen aktyèlman bezwen fè yon anpil nan pouvwa nan 3. Se konsa, mwen pral kopi kole tout nan kòd sa a, chanje non an nan fonksyon an soti nan pouvwa nan 2 a pouvwa a 3, ak tout bagay pral menm bagay la eksepte pou sa a valè isit la, sa a ranje, 1 ... 2. Se konsa, olye ke repete sa a riban de fwa, Mwen vle repete sa a riban twa fwa. Se konsa, mwen jis chanje ke valè soti nan 1 a 3-- ou pito soti nan 2 a 3. Se konsa, ankò, kòd a menm, sa a, se chanjman an sèlman. Koulye a, sa a tou ap travay. Power of 3 bay nan kèk valè nan 2. Nou jwenn 8. Se konsa, 2 Gleason. Ak 3.2 Gleason se 32,768. Se konsa, lwen tèlman bon, dwa? Men, èspere ke sa a se yon ti kras ti jan nan yon drapo wouj pou ou nan ki nou genyen kounye a kèk repetisyon nan Kòd eksepte pou kèk trè minè chanje soti nan yon pwochen an. Se konsa, ki gen la kèk fason ki nou ka kapab senplifye pwoblèm sa a, kote nou ka aktyèlman, nan kouri tan, figi konnen kèk, bay nou kèk fonksyon ki gen jisteman pouvwa a nan ke nou vle. Apre sa, nan ide sa a nan fèmen, ki se reyèlman, reyèlman enpòtan nan yon kontèks la nan Swift, ak nan anpil lòt lang tou. Men, pwobableman ou pral wè li itilize plis konsa nan Swift paske li nan embedded nan lang nan pase ou pral nan lòt tou lang modèn. Se konsa, lide a nan yon fèmen se sa a, se ke nou ka gen yon fonksyon ki vle di ke yo gen yon fonksyon jenerik, yon pouvwa jenerik nan fonksyon. Ak fonksyon sa a ki pral aksepte ekspozan sa a ke nou aktyèlman vle kreye. Se konsa, pou egzanp, trè premye nan egzanp, nou te vle yon pouvwa nan 2. Se konsa, nou ta bay pouvwa a ak Lè sa a nan parantèz 2. Epi, koulye a remake sa sa sa a aktyèlman retounen. Sa a pran yon D 'nan yon Jadendanfan rele y ki se yon nonb antye relatif, ak li retounen sa a fou kap bagay nan parantèz parantèz doub ak Lè sa a, flèch doub. Ki sa sa vle di se ke mwen se pral retounen yon fonksyon. Mwen pa retounen yon lòt kalite done, mwen se an reyalite retounen yon fonksyon ki gen sa a paramèt, ki aksepte yon doub kòm opinyon ak sorti yon doub kòm yon valè retounen. E kòm yon rezilta, paske koulye a, mwen te rele pouvwa a, pase nan kèk valè pou y, ak mwen kreye sa a lòt avi fonksyon ke gen nan yon lòt fonksyon ki nan te kreye andedan nan this-- sa m'ap fè se mwen ka Lè sa a chanje ki valè, ke yon moun valè ke mwen te chanje soti nan 2 a 3, mwen kounye a fè li y. Lè sa a toujou. Se konsa, chak fwa ke mwen rele pouvwa nan, esansyèlman sa k ap pase se ke mwen jwenn tounen yon fonksyon. Remake isit la mwen te defini yon varyab nouvo rele kare. Mwen te mete l 'egal a pouvwa a, bay sa a valè 2 a pouvwa a. Ak sa ki sa a tounen se fonksyon an. Se konsa, kare, varyab la kare, se kounye a nan fonksyon di ki gen this-- Wouch, woulo liv moute yon ti kras bit-- ki gen siyati sa a, aksepte yon doub ak pwodiksyon yon doub. Se konsa, kounye a ki sa mwen te fè se mwen te esansyèlman kreye yon kare fonksyon rele ki aksepte nenpòt valè epi yo pral kare li. Nou ka wè sa ki rive desann isit la. Square 3 pou egzanp, vle di mwen pral pran valè a 3 ak okib li. Se konsa, kouman egzakteman fè travay sa a? Lè m 'pase pouvwa a 2-- lè mwen pase 2 nan pouvwa sa a nan fonksyon, sa a varyab y se peple ak ki valè 2. Epi sa se sòt de ki te fèt nan memwa. Sa a sòt de tankou ki te fèt nan eta yon kote nan òdinatè a, nou pa reyèlman sousye ki jan oswa kote nan pwen sa. Men, mwen retounen fonksyon sa a rele exponentiate. Epi ankò, li pa reyèlman gen pwoblèm ki sa ki fonksyon sa a rele, nou ka vrèman rele li anyen, ki aksepte yon doub ak retounen yon doub, men sèvi ak sa a valè y andedan nan li. Se konsa, menm si li nan fonksyon sa a, sa a fonksyon exponentiater sa a, se te retounen tounen nan m ' varyab ki mwen te rele kare, li te genyen nan li sa a nosyon nan sa y te. Epi li sonje sa. Se konsa, chak fwa mwen rele ke fonksyon ki se kounye a yo rele kare, li sèvi ak sa. Men, sa a vle di tou ke mwen kapab kreye yon lòt varyab lè l sèvi avèk yon pouvwa diferan nan. Se konsa, mwen ka kreye yon varyab kib, pou egzanp, bay li pouvwa a 3. Koulye a, kib pral aktyèlman pran kèk valè ak kib ki epi retounen li. Se konsa, nou ka wè ke mwen jwenn se yon valè 8 soti nan sa. Men, ki valè y pa gen chanje paske yo ap ki te fèt nan sòt de varyab endepandan. Yo sòt de ki te fèt nan espas endepandan nan memwa. Se konsa, kib ap toujou gen x sou pouvwa a nan 3. Epi kare ap toujou gen x sou pouvwa a nan 2, ki vle di ke kare ap toujou nimewo kare, jan mwen espere. Ak kib ap toujou Gleason nimewo, jan mwen espere. Sa vle di tou ke pafwa ou kapab jwenn kèk sòt de fenki kap sentaks ki kote ou gen pouvwa nan a anpil nan anba ekran an isit la, pouvwa a 5. Epi ou pase nan rezilta a. Ou rele ki fonksyon sa a, se te retounen avèk nimewo a 4. Se konsa, sa sa a esansyèlman se 4 senkyèm pouvwa a, nou ka wè rezilta yo a. Avè m 'byen lwen tèlman? Se konsa, se ide sa a yo te rele yon fèmen, paske ki sa nou ap fondamantalman fè se nou ap ankapsule kèk done into-- sòt nan jwen done sa nan yon fonksyon ak nou ap ke yo te kapab jam itilize fonksyon sa a. Koulye a, sa a sentaks menm si ka aktyèlman dwe senplifye yon gwo kantite lajan. Apre sa, nan anpil nan posibilite nan Swift pou senplifikasyon sa a. Epi sa a, sa ki sòt de la yo menm ki vin apre aktyèlman gade nan. Se konsa, nan 7b pou egzanp, nou pran sa a egzak Kòd menm. Men koulye a, olye ke aktyèlman defini yon fonksyon andedan nan pouvwa sa a nan fonksyone ak ba li yon non, ak Lè sa a retounen non an nan ki fonksyon, ki Lè sa a, se itilize kòm yon pati nan fèmen sa a, olye pou nou ap jis ale nan senplifye li. Nou pa bezwen sa a fonksyon yo dwe yo te rele. Se konsa, sa a se konsèp la nan yon fonksyon anonim kote nou kapab Lè sa a, aksepte kòm D ', nan parantèz isit la, x la varyab ki se nan kalite doub. Nou pral retounen doub la kalite. Lè sa a, mo kle a, n, se nan konmansman an nan fonksyon sa a. Se konsa, remake ke tout bagay sa se nan parantèz Curly epi nou ap defini yon anonim fonksyone isit la. Jis yon fason ki pi senp nan defini egzak menm bagay la. OK? Men, kenbe fèm nan, Swift aktyèlman pèmèt nou yo ale pi lwen epi senplifye menm plis, paske reyèlman nou pa fè sa pran swen ke paramèt sa a se yo te rele nenpòt bagay an patikilye. Li ka vrèman dwe rele anyen ak nou ka toujou sèvi ak sa premye paramèt. Se konsa, an reyalite gen sa a espesyal di ki kalite done nan fonksyon anonim, gen nan non sa a espesyal nan varyab nan fonksyon anonim ki kòmanse ak nan siy dola epi yo reprezante chif yo paramèt, zewo Catalogue, pou fonksyon sa a. Se konsa, gen nan yon koup nan bagay pral sou. Isit la mwen pral retounen, ak Lè sa a yon Curly atèl reprezante yon fonksyon, dwa? Avi ke mwen pa te defini nan kalite paramèt oswa kalite nan retou. Li ka aktyèlman fè dedwi paske nan siyati a nan fonksyon orijinal sa a. Se konsa, nou ka elimine ke kòm yon posibilite. Men, tou mwen ka itilize siy dola zewo rive reprezante sa a paramèt premye sa a, se pase nan fonksyon sa a anonim. Se konsa, senplifye li menm plis. OK? Se konsa, lwen, se konsa sa ki bon? Kounye a li nan type-- sa a ou sonje sa a zewo siy dola ki nou te wè nan sa a atèl Curly ke nou te wè jis yon ti kras pandan y ap de sa nan Swift sis egzanp sa a? Li te isit la menm. Avi sa a, se egzakteman ki sa nou ap chèche a, se ke nou te pase nan fonksyon sa a fann yon fonksyon anonim ki chèk paramèt nan premye yo wè si li egal senbòl la kolon. Epi sa a, egzakteman ki sa a pase, se ke tout nou ap doing-- retounen nan se mo kle enplisit nan case-- sa a nou ap retounen sa a valè kote n ap konpare premye paramèt nan kont kolon sa a karaktè. Se konsa, ki sòt de demystifies sa a. Epi ou ap ale nan wè sa a konstwi yon anpil nan Swift sentaks, pou fè kenbe ki nan tèt ou lè w ap pran yon gade nan sa a. Koulye a, nou ka jwenn nan ray yo yon ti kras epi ale reyèlman anpenpan ki montre menm kèk plis nan pouvwa Swift a. Ou ta ka menm wè kèk nan sa yo nan kòd echantiyon. Se konsa, sa a, poukisa mwen pral yo montre sa a ba ou. Fondamantalman sa nou kapab fè se ke, premye nan tout, li te kalite initil pou m ' aplike nan tout sa pouvwa a Kòd paske si ou enpòte Darwin la bibliyotèk, li aktyèlman gen ladan yon fonksyon rele POW ki fè sa pou ou. Se konsa, nou ka senplifye li menm plis ak gen pouvwa moute fonksyon nou an kounye a jis gen yon bèl bagay yon sèl revètman kote nou jis retounen fonksyon sa a anonim ki aksepte dola siy 0 kòm li baz ak y kòm ekspozan li yo. Men, nou ka jwenn reyèlman, reyèlman anpenpan lè nou reyalize ke Swift te gen yon anpil nan pouvwa anba kapo a. Yon anpil nan operatè yo ki nou ve yo te fè fas ak, plis siy ak senbòl divizyon ak tout bagay sa yo ke ou nòmalman opere ak ak kalite done nan yon lang programmation, yo aktyèlman rnouvlabl nan Swift. Se konsa, sa sa vle di nan ke nou ka defini operatè pwòp nou yo. Se konsa, koulye a, mwen menm ki fatige nan tape nan tout sa a POW ak Lè sa a yon parantèz ak Lè sa a baz la. Mwen pa vle fè sa. Mwen aktyèlman vle gen yon operatè ki pèmèt m 'fè sa. Se konsa, mwen ka di ke mwen vle Swift yo kreye yon operatè, zetwal star-- nan chemen an Mwen pa ka sèvi ak kara a paske kara a se yon operatè ki fè yon bagay lòt bagay nèt. Se konsa, mwen pa vle sòt nan fè kolizyon ak sa. Se konsa, sa ou wè nan yon varyete nan lang, ki gen ladan Piton, se tankou operatè zetwal zetwal ki reprezante ekspozan. Se konsa, sa a, se rezon ki fè la sèlman poutèt sa mwen te fè sa. Epi li nan pral fè yon operatè kalite inséré. Apre sa, mwen gen bay nan li kèk enfòmasyon sou priyorite a nan sa a operatè se konsa li a bò gòch asosyatif. Se tankou relativman segondè priyorite konpare somasyon oswa miltiplikasyon. Li nan pi wo priyorite pase tout moun sa yo. Se konsa, sou ak pou fè. Lè sa a, mwen defini nan fonksyon ki aktyèlman dikte sa operatè sa a fè. Se konsa, an konsideran ke mwen gen yon bò gòch bò men ak bò men dwat, ki ta dwe petèt yon pi bon non varyab pou sa. Bò men gòch ak bò men dwat. Mwen ka Lè sa a pran pouvwa sa a nan la bò men gòch bò nan men dwat epi retounen ke valè. Se konsa, kounye a li nan super dous. Tout sa nou dwe fè se 2 zetwal zetwal 3 e ke se 2 a twazyèm pouvwa a, e nou jwenn yon valè de 8. Etwal 2 Star 10 se 2 a nan 10yèm pouvwa, nou jwenn 1,024. Se konsa, kounye pouvwa nou nan fonksyon, ki ankò se diferan, paske lide an antye dèyè sa a te ke nou gen yon sèl fonksyon ki toujou pran kèk valè ak miltipliye l-- ou pito pran ekspozan an sou pouvwa a menm. Se konsa, kounye a li nan menm ki pi senp. Se konsa, kounye a li nan jis dola siyen 0 zetwal zetwal y. Nou pa menm gen yo sèvi ak POW ankò. OK, ki moun ki nan pèdi? Èske nou fè OK? Nenpòt kesyon sou bagay sa a? Yeah? ODYANS: Lè you-- [fèbl] pouvwa a nan funk y doub. Se konsa, lè w ap retounen yon fonksyon. DANIEL Armendariz: Funk pouvwa nan y doub. Oh yeah, Mwen pa konnen sa nimewo yo y ye. Padon sou sa. ODYANS: Poukisa ou retounen yon fonksyon [fèbl] patiraj. Se pa dola zewo zetwal zetwal y [fèbl] jwenn ke operatè ak ki retounen doub [fèbl] double? DANIEL Armendariz: Se konsa, kite m 'reponn kesyon ou ki jan mwen konprann li, epi ou ka di m ' si mwen pa t 'konprann kesyon ou yo. Se konsa, konstwi sa a, atèl a Curly siy dola zewo zetwal zetwal y, se yon fonksyon. Epi li aksepte yon paramèt ki se reprezante pa sa a siy dola zewo. Se mo kle a retounen enplisit nan sa a trè kout, anonim fonksyon sentaks. Ki vle di ke esansyèlman ki sa sa a ap di se ke mwen defini yon fonksyon ak Lè sa a mwen pral jis rele li fè yon bagay kote mwen gen kèk valè y. Mwen gen y, ki se doub. Apre sa, mwen retounen yon doub. Apre sa, mwen gen nan ke retounen y-- regrèt, Mwen pa ta dwe yo te rele sa a x y--. Oh mwen renmen anpil, o mwen renmen anpil, o mwen renmen anpil. X-- nope-- zetwal zetwal y. Se konsa, sa a se jis yon senplifye vèsyon an sa a. Se konsa, rezon ki fè yo ke mwen gen dola siy zewo se ke lè l sèvi avèk sa a patiraj vle di ke mwen pa gen tape POW, oswa pa gen okenn ankò fè Mwen gen fè yon bagay tankou 3 zetwal zetwal 2. Mwen ka jis gen yon sèl fonksyon rele kare ki pral toujou pran kèk valè kòm opinyon ak aktyèlman retounen kare a nan sa. Se konsa, objektif an antye nan fèmen an se jis sòt de ankapsulasyon lefèt ke mwen toujou vle sèvi ak y chak fwa Mwen rele ke fonksyon kòm pouvwa a lè w ap pran ekspozan sa a. Se konsa, Lè sa a, retounen, yon fonksyon ki aksepte yon doub, ki se baz la, ak retounen rezilta a nan ki ekspozan se kle a isit la. Epi sa a, pi gwo diferans nan. Gen te jis yon ti jan nan yon fleri. Sa a se pa nenpòt ki diferan konpare ak egzanp yo anvan, men li te jis yon ti jan nan yon fleri nou ka aktyèlman kreye yon operatè nan Swift ak aktyèlman fè bagay ak li, ki se kalite yon bagay fre. Èske mwen reponn kesyon ou a? Sweet. Nenpòt lòt bagay anvan nou deplase sou? OK. Koulye a, sa a sòt de amèn la kesyon se that-- byen OK, kounye a nou gen kapasite a pou fonksyon yo dwe retounen. Èske nou menm tou nou pase fonksyon kòm done oswa kòm paramèt lòt fonksyon? Ak an reyalite nou kapab. Se konsa nou di ke nou gen tout nan kòd la menm. Nou gen varyab la kare ki pral kare sa a kòd. Epi nou gen varyab la kib ki pral kib kèk done. Apre sa, nou aktyèlman vle aplike nan yon pakèt domèn nan nimewo. Se konsa, sa nou ta ka dwe tante fè, nan kou, ki se sètènman ki valab, se repekte sou lis sa a nan nimewo epi aplike fonksyon m kare ak kib epi pou yo jwenn de lis nouvo kòm rezilta ki sa a lis orijinal okib ak Gleason, respektivman. Parfe akseptab. Men, sa ki nan bagay la ki nou wè isit la se ke nou genyen, ankò, repetisyon nan Kòd nou an. Apre sa, nan petèt yon opòtinite pou nou senplifye sa a yon ti kras. Ki sa ki si te gen yon fason pou nou pou n aktyèlman toujou repekte sou kèk lis ak jis pase nan sa a majik fonksyone yon varyab ki reprezante yon fonksyon ke nou vle pou aplike pou chak atik sèl nan lis sa a. Sa a pote moute konsèp la nan sa ki yo rele yo lòd ki pi wo fonksyon. Apre sa se esansyèlman ki sa sa a se, se ke nou ka kreye yon fonksyon. Ak nan ka sa a sa yo rele yon mapeur, jis bay li yon non, jis kat sou tout sèl atik nan yon lis. Ki kote mwen pran yon lis e mwen pran yon fonksyon. Epi sa fonksyon, nan kou, gen yon siyati sèten. Li aksepte kòm yon doub paramèt epi li pral pwodiksyon se yon doub. Ak rezilta a tout antye nan fonksyon sa a ki pral yo dwe yon lis nouvo ki se nan kalite doub. OK? Ak sa ki mwen pral fè se pou aplike pou sa a fonksyon f chak eleman nan lis mwen an. Epi reply-- ak olye retounen sa a nouvo lis kòm yon rezilta, ki se vrèman fre. Koulye a, mwen ka pase fonksyon alantou. Ak lide sa a nan pi wo lòd fonksyon se reyèlman enpòtan. Epi mapeur sa a se vrèman jis aplikasyon moun ki pòv nan nan yon fonksyon ki se bati nan Swift rele kat jeyografik. Epi li fè jisteman sa a, petèt menm yon ti kras pi byen. Sa a se jis sòt de yon jenerik, senplifye vèsyon ki pèmèt nou wè nan konsèp ki aplike isit la. Koulye a, gade nan wout la ke mwen ka aktyèlman aplike kare m ak fonksyon kib m ' nan lis sa a nan nimewo. Mwen kouri mapeur mwen. Mwen bay nan li lis mwen an nan nimewo. Mwen bay nan li a nan fonksyon ki k ap pase pou aplike nan chak nan sa yo endis. Epi li a pwal pwodiksyon kòm yon rezilta. Apre sa, mwen pral jwenn yo wè ke mwen te okib ak Gleason nimewo mwen kòm yon rezilta. Ak nan kou mapeur a pral pran nenpòt ki sòt de fonksyon anonim. Nou ka menm wè ke mwen te kreye yon nouvo fonksyon anonim ki jis pran kèk paramèt ak divize li pa 2. Apre sa, nou ka wè ke mwen te, an reyalite, divize lis mwen an pa 2 olye. Cool? Se konsa, lwen, se konsa sa ki bon? Tout dwa, kounye a kite a tounen vin jwenn ide sa a. Se pou yo aplike sa a tounen nan kontèks la nan yon Gradebook. Men, si mwen fè sa, nou ka wè ke mwen kapab aplike yon gran varyete options-- sa yo oswa yon gran varyete sa yo lòd ki pi wo fonksyon yo aktyèlman senplifye kapasite mwen fè yon varyete de bagay sa yo sou lis nan nimewo. Se konsa, pou egzanp, si mwen pran yon lis nimewo, youn nan lòd ki pi wo fonksyon yo ki egziste yo rele diminye. Ki sa ki fè diminye olye pase kat jeyografik, se redwi pral pran de eleman nan lis la, pral pran kèk fonksyon ki konpare de eleman yo nan lis la, epi li pral Lè sa a, sòt de output-- la pwodiksyon nan ki fonksyon pral yon lòt eleman ki ou Lè sa a konpare ak lòt moun. Se konsa, ou te kapab sèvi ak sa a yo aktyèlman sòm de chif yo nan lis ou a. Pou egzanp, si ou te gen yon lis nan 1, 2, 3, 4, 5, ou pran eleman yo an premye, 1 ak 2. Ou ka aplike nan li yon adisyon fonksyon ki pran sa yo de eleman ak krache soti youn nan eleman sa yo, ki ta dwe valè a 3. Lè sa a, nou pran ke valè 3 ak pwochen an eleman nan lis la, rapò kantite sa yo de, ak Lè sa a kenbe pral desann lis la. Nou ap diminye a lis nan yon valè sèl. Epi li jis pou k ap pase ki senbòl la plis se yon operatè, jis tankou nou jis te wè. Sa a se operatè aktyèlman yon fonksyon ki gen jisteman lis sa a ke nou ta vle, olye sa yo pwopriyete ke nou ta vle. Se konsa, mwen ankouraje w pran yon gade nan sa a. Mwen vle sòt nan mouvman sou soti nan kèk nan sa a kòd se konsa ke nou ka aktyèlman gade nan kèk aktyèl, reyèl, vre Swift nan Xcode, nan yo devlopman. Men, pran yon gade nan sa a ak wè si ou kapab analizan nan sa k ap pase sou ak kèk nan sa yo lòd ki pi wo fonksyon ki gen ladan filtre, diminye, epi ou pral menm wè yon kote nan isit la kat jeyografik kòm byen. Li nan dwa isit la. Ki kote li pral pran yon sekans nan klas epi li pral aktyèlman kat yo lè l sèvi avèk konstwi nan switch, ki ou ta ka rekonèt soti nan C, men aktyèlman li se yon anpil plis pouvwa anpil pase konstwi nan switch ke nou gen nan C. Epitou, n ap aplike ke yo chak eleman nan lis la ak aktyèlman bay lèt klas la nan chak lè l sèvi avèk tout sa yo konsèp moun klas ke nou te jis te pale osijè de anvan. Koulye a, kite a eskive pou jis yon minit ak pale sou strukt. Se konsa, yo se strukt yon rete tann nan C ke nou yo te kapab defini yon nouvo tip done. Strukt egziste nan Swift. Se konsa, fè yon anpil nan lòt konstwi rele enums ak klas, ki vrèman pran ide sa a nan yon tout nivo diferan. Ak fondamantalman li nan jis yon fason nan defini yon nouvo tip done. Se konsa, si ou get-- si ou vini atravè klas oswa strukt oswa enums, pa jwenn konfonn pa li. Se jis nan wout ki pase nan defini kèk nouvo kalite patikilye nan done. Lè sa a se reyèlman enpòtan lè nou ap pale de iOS devlopman app paske tout bagay ki egziste nan app a iOS se esansyèlman yon objè nan kèk kalite. Ak yon objè se fondamantalman yon klas oswa yon enumerasyon oswa yon struct. Se konsa, nan ka sa a mwen se defini yon nouvo tip done ki m ap rele evalyasyon sa a, se kèk pwopriyete, ki gen ladan yon non ak yon sekans nan klas. Se konsa, yon sèl kalite evalyasyon pou m 'ka gen nan tèt ou ta dwe ti tès, pou egzanp. Mwen ta vle gen yon evalyasyon ki te yon egzamen ak ki te gen yon varyete de klas ki asosye ak sa, pou egzamen yon sèl, egzamen de, sou sa ak pou fè. Oswa mwen ta ka gen yon kalite diferan nan evalyasyon pou kouche pwoblèm. Apre sa, mwen ka fè bagay sa yo. Mwen ka gen aktyèlman fonksyon nan kalite sa a nan done yo, ki se kounye a yo rele metòd. Se konsa, si ou te janm wè nan metòd mo, li vrèman se jis yon fonksyon ki aplike nan yon klas trè espesifik, oswa nan yon kalite trè espesifik ak done yo. Li pèmèt nou modifye done yo ki nan. Se konsa, nan lòt mo, si mwen vle ajoute yon klas nan evalyasyon mwen, Lè sa a, tout mwen bezwen fè se kole nòt la ki te opinyon nan sa a fonksyon pwopriyete entèn mwen. Genyen yon lòt konstwi pwòp isit la nan Swift, ki se sa a dot dot dot operatè, ki vle di ke nòt kapab kounye a aksepte nenpòt ki kantite nonm antye relatif. Ak nòt pral yon etalaj de nonm antye relatif ki yo te pase nan fonksyon mwen an, ki vle di ke mwen kapab fè bagay tankou sa a. Mwen ka ajoute klas ak jis bay nimewo abitrè nan nonm antye relatif nan li ak aktyèlman ap bay yon etalaj nan valè sa yo nan fonksyon m ' oswa nan metòd m ', menm jan se ka a. Koulye a, sa a se enpòtan paske tout bagay nan Xcode, tout bagay nan yo, se an reyalite yon objè. Se konsa, kenbe sa nan tèt ou lè nou jarèt louvri Xcode ak sote devan pi lwen pase iOS vèsyon de ak twa ak aktyèlman ale sou nan vèsyon kat. Epi ankò, tout bagay sa yo pral ap afiche sou paj la seminè. iOS kat se sòt de yon plen kònen egzekisyon pou yon app trè de baz yo. Ak sa ki sa a app fè se li charj yon UI, ki sanble tankou sa a. Yon fwa ankò, si nou klike sou scénario sa nou kapab wè ke sa a se sa li sanble. Sa a se UI a. Li te gen yon tit nan tèt la anpil. Mwen te rele l 'galri entènèt. Nan mitan an gen nan yon eleman rele gade nan imaj UI. Ak nan pati anba a gen yon toolbar ak yon bouton sèl ki gen espas èkstansibl ki pèmèt li nan sant nan mitan an nan ba ikòn sa a. Ak sa ki k ap pase se ke lè sa a charj li downloads yon dosye ki nan JSON ki sou yon sèvè yon lòt kote, analysis ki dosye JSON, ak dosye a JSON sanble yon ti jan tankou sa a. Dosye a JSON sanble tankou sa a. Gen li se. Li te gen yon non album ak li gen yon etalaj de foto. Chak nan foto sa yo gen yon non epi tou li yon URL tèt yo ki reprezante nan jpeg vèsyon an ki foto endividyèl elèv yo. Se konsa, sa rive se ke lè pwogram sa a charj, li downloads dosye a JSON, analysis li, mete tout bagay sa yo nan ekivalan a nan yon etalaj nan yo app devlopman, ki se yon NSArray. Lè sa a, mwen ka Lè sa a chaje done sa a nan yon aplikasyon ak chaj li sou ekran m 'yo. Gen yon imaj ki te chaje ak bouton an nan pati anba a anpil. Si m 'klike Jwenn Next Imaj, li Lè sa a, rale ke imaj soti nan entènèt la epi li ranplase ke imaj nan gade nan imaj UI. Se konsa, ou ka download sa a ak aktyèlman pran yon gade nan li sou òdinatè ou. Ak bati l 'ak aktyèlman konpile li sou aparèy ou an. Men, esansyèlman pwosesis la te sa a, kreye scénario an oswa olye pa create-- men chwazi scénario la. Ak aktyèlman we'll-- si ou pa mind-- nou pral pran jis yon koup nan segonn yo aktyèlman montre w kouman sa a te fè. Jis se konsa ke ki jan nou ka aktyèlman reyalize sa a se te fè yon ti jan ti kras pi plis aparan. Aplikasyon View Single, Mwen pral rele seminè sa a kat reprezante sa a Nimewo patikilye. Sove l 'sou Desktop la. OK, ale nan klike sou scénario la. Ak sa ki mwen pral fè se jwenn View imaj m 'yo, trennen l 'sou itilizatè mwen koòdone ak sant li. Koulye a, jis Santralizasyon li malerezman a pa pral fè yon anpil antye, eksepte pou yon ekran ki se sa a gwosè egzak. Se konsa, nou kapab konvenk tèt nou nan ki pa klike sou bagay sa a ti sèk doub, pote desann pòp sa a moute meni isit la ak chanje preview, kote nou pral aktyèlman jwenn yon chans preview ki jan sa a pral aktyèlman gade sou lòt aparèy. Jan nou kapab wè, nou pa fè sa menm wè li sou ka sa a an patikilye. Se konsa, mwen pral fèmen sa a pou kounye a. Men, mwen pral yo chwazi sa a icon desann nan trè an pòsyon anba nan ekran an. Li di Rezoud Auto Pwoblèm Layout. Padon, li nan koupe nan pati anba a. Men, si mwen klike sou ki, ki sa mwen jwenn se pòp sa a up-- ale. Ki sa mwen jwenn se sa a moute pòp ki pèmèt m 'nan ajoute kontrent manke yo. Ak pa fè sa li pral Lè sa a sòt de fèmen li nan pòsyon nan sant nan a ekran tankou mwen ta ka atann. Koulye a, yo nan lòd jwenn bouton sa-a sou tèt li, mwen bezwen pou yo ale nan Editè a. Ale nan Afiche Nan ak klike sou Navigasyon Kontwolè. Ki sa ki pral fè se ki pral ajoute sa a tout antye lòt eleman nan li, men li pral aktyèlman lyen li tounen nan UI orijinal mwen. Ak detay yo, ankò, nou pa fè sa reyèlman bezwen pran swen sou kounye a. Men, mwen vle gen yon toolbar nan pati anba a anpil. Se konsa, mwen pral tcheke Shows Toolbar. Lè sa a bay nan gade m ', ki se kounye a yon lòt kote, nou ka wè li nan lye sou isit la. Li kounye a bay yon ba ikòn nan fon an nan UI m 'yo. Se konsa, kounye a, olye ke chwazi yon imaj vi, mwen ka jwenn yon mete etikèt sou, ou pito yon toolbar-- kite a wè, kote se sa? Ki sa ki li rele? Yon atik button-- bar-- item-- sorry-- ba bouton atik. Plok ke gen ak aplike yon koup espas nan fleksib sou chak bò yo aktyèlman sant sa. Se konsa, koulye a, mwen te kreye UI m 'yo, fondamantalman. Apre sa, mwen ka bay li yon non pa klike doub nan tèt la anpil isit la epi li di galri entènèt ak sou sa. Koulye a, ankò, sa yo, se eleman ki egziste nan tèt yo. Apre sa, mwen gen konekte yo kòd m 'ki Mwen kapab fè pa ankò pote moute sa a ti sèk icon doub, chanje soti nan aperçu nan. Ki, nan chemen an, kounye a nou ka wè se joliman santre epi yo pral gade bon sou yon varyete aparèy. Travèse sou otomatik, ki pral pote yo moute kòd la ViewController. Epi, koulye a pati sa a enpòtan. Yo nan lòd pou ou pou w konekte sa yo de eleman, kòd ou a UI a, ou chwazi atik la ki ou vle konekte. Se konsa, nan ka sa a, nou aktyèlman vle programme chanje imaj la ki nan genyen nan sa a wè imaj UI. Se konsa, si ou kontwole klike sou soti nan gade nan imaj ak trennen, ou pral avi ke ou jwenn yon ti kras ba, lè ou kite ale nan tout bagay sa a pòp moute pral rive. Epi li di ke nou pral kreye yon koneksyon. Li te pran depi isit la mwen vle bay li yon non, yon bagay tankou galri. Frape Antre nan. Lè sa a aktyèlman bay yon varyab rele galri ke mwen ka Lè sa a, referans nan kòd m ' chanje imaj la, pou egzanp. Se konsa, ki jan ki aktyèlman gade Kòd? Oke, ankò, mwen pa vle pase twòp tan sou li. Apre sa, mwen ankouraje w telechaje li ak pran yon gade. Men, yonn nan pi plis nan aspè enpòtan se kòd la ki aktyèlman èkstre yon imaj. Se konsa, nan ka sa a mwen vle yo ka resevwa nan foto mwen etalaj, ki se ki genyen nan klas mwen. Mwen vle defini non ak adrès URL la sa a te parcouru soti nan JSON sa a. Aktyèlman mande aparèy la yo ka resevwa nan URL, a al pran URL la soti nan sa a, ak Lè sa a chache done ki nan sa ki nan ke URL. Lè sa a, konvèti ke done nan yon imaj pa pase l 'nan imaj la UI. Se konsa, ankò, sa yo se tout diferan kalite nan objè, diferan kalite klas yo. Lè sa a, mwen ka Lè sa a mete m ' gallery.image egal a ki done. Epi sa a, sòt de vyann lan nan li ki aktyèlman se Lè sa a, kapab chanje chanjman done yo from-- foto a nan youn nan pwochen an. Se konsa, ankò, èspere ke kounye a yon anpil nan konstwi yo pral fè yon ti jan ti kras pi plis sans. Remake gen nan kèk pwen esklamasyon isit la. Pwen yo esklamasyon yo esansyèlman ki gen rapò ak opsyonèl yo. Sa mwen ap di la a se fondamantalman ki san yo pa menm tcheke yo wè si gen nan done nan sa a si ou vle, Mwen pral ale pi devan epi asime ki di ke gen, epi ouvrier li. Sonje ke nou itilize analoji a nan sòt de yon pake pou opsyonèl yo epi nou bezwen ouvrier a pake ak rale done yo soti. Pwen an esklamasyon fòs ki aktyèlman rive. Men, mwen konnen ke sa a se ki san danje paske mwen tcheke yo wè si done imaj ki egal nil, mwen te aktyèlman tcheke yo wè si ki si ou vle te, an reyalite, echwe. Si sa te gen, an reyalite, echwe deja. Se konsa, mwen se asire w ke yon fwa mwen jwenn nan sa a pwen mwen ka san danje ouvrier ki done. Ou ta ka tou wè li nan fòm lan nan yon mak kesyon. Se konsa, si nou desann nan kote mwen bezwen aktyèlman analizan done yo. Se konsa, pa dwe mete nan pa sa yo sòt de non long. Ou ka jwenn nan Apple la sit pwomotè yon anpil nan referans a tout nan objè ak tout pwosesis yo ki aktyèlman fè sa-a posib. Men, remake ke sa a se esansyèlman yon fonksyon kote mwen pase l kèk done. Apre sa, mwen jwenn tounen kèk sòt de done. Apre sa, mwen bezwen sèvi ak sa a kòm mo kle konvèti li nan NSDictionary sa a? Ki se ankò, yon si ou vle NSDictionary. Ki Mwen Lè sa a bezwen tcheke yo wè si li egziste. Se konsa, mwen ka itilize ke si kite egal siksè parcouru, Lè sa a, Mwen konnen ke si ou vle ki aktyèlman gen kèk done. Oswa sa mwen te fè isit la te jis asime ke si gen te gen okenn erè ke li se an reyalite ki an sekirite. Tout dwa, Mwen vle remèsye nou tout anpil pou vini yo. Mwen konnen sa a te yon anpil, men li te sèlman yon èdtan pale sou kèk bèl avanse bagay. Se konsa, èspere ke ou pral jwenn yon chans yo download tout nan kòd la epi pran yon pi bon, plis bon jan gade nan li. Triye nan konvenk tèt ou nan tout nan bagay la ki k ap pase sou. Apre sa, mwen vle di ou mèsi tout, ankò, pou vini yo. Ak bon chans ak pwojè final ou a. Gen yon gwo jou.