RHED Shi: Merħba għall- tara seminar CS50 - Introduzzjoni għall IOS. Nirringrazzjakom ilkoll għall ġejjin. Nispera int biss bħala eċċitati kif I am madwar IOS. Sena li għaddiet, I ħa CS50 bħala sophomore, u I bażikament tgħallimt IOS għall tiegħi proġett finali. U kien pretty - ukoll, ma kienx faċli, iżda hemm lottijiet ta 'appoġġ tutorials online. And I really hope li ma 'dan seminar, I ser jagħtuk guys ras tibda fuq l-iżvilupp IOS Għalhekk, f'termini ta 'żvilupp IOS, hemm żewġ affarijiet ewlenin li għandna trid tkopri llum. L-ewwel, il-lingwa - il-lingwa se tkun fil- Għan-C. Aħna ser attwalment tisma xi ħaġa verament eċċitanti. Allura, inti tista 'tingħaqad mal-Apple kollu komunità ta 'żviluppaturi u jibnu xi apps verament tal-biża. Ukoll, IOS 7 hija sabiħa, wieħed jittama, li xi wħud minnkom. Imma hija kontroversjali, I know. U prinċipalment, dak I trid tagħmel huwa gwida inti permezz Għan-C, u wkoll Xcode, li hija l integrat iżvilupp ambjent li inti ser ikunu taħdem għall-IOS. U għalhekk, biss kelma fuq Għan-C. Bażikament, huwa l-istess eżatt bħal C, iżda ma 'ħafna affarijiet oħra. U għalhekk, aktar strett, huwa attwalment super-sett ta 'C. Allura xi ħaġa li inti tista 'tagħmel C dritt issa, li hu bażikament simili pset 0 sa 6, int tista 'tagħmel Għan-C. Allura, ma jħossux jibżgħu dwar dan ġdida lingwa li int ser jitgħallmu. You ħadthom diġà koperti ħafna ta 'dan, għaliex inti ħadthom kollha isir C f'dan passat semestru, ħlief issa int ser li jkollhom ħafna aktar li jaħdmu magħhom. U jien biss se inti twassal permezz ta ' ftit eżempji li tenfasizza xi tad-differenzi ewlenin li sibt kienu meta verament importanti tgħallimt Għan-C aħħar sena. Ukoll fil-fatt, hekk, il-punt ieħor huwa, Għan-C huwa, ovvjament, oġġett orjentati lejn. U aħna ser jiddiskutu ftit dwar dak li tfisser aktar tard. Bażikament, huwa simili kif inti ħadem ma ' structs f'dan pset passat, ma ' nodes u oħrajn simili affarijiet bħal dik. Ħlief, għall-Objettiv-C, kollox huwa oġġett, u int se tkun tgħaddi madwar pointers għal oġġetti aktar milli l-valuri nfushom. Għalhekk, huwa biss xi ħaġa importanti li wieħed iżomm f'moħħu. Allura, għaliex ma we tibda bi ftit differenzi fil-sintassi bejn C u Għan-C? I trid tenfasizza l-# jinkludu, inti taf, io.h standard fis-C u C + +, bl- il-verżjoni Għan-C ta ​​'dak li huwa # importazzjoni, u mbagħad xi tip ta ' fajl tal-header. F'dan il-każ, ikun UIKit, tafu, mmejla UIKit.h. Jista 'jkun ukoll, inti taf, MKMapview lilek mmejla MKMapview.h jekk inti tixtieq li tagħmel, bħal, mappa ġewwa ta 'app tiegħek. Affarijiet simili bħal dik. Għalhekk, il-ħaġa importanti hija jinkludu issa nbidlet għall-importazzjoni. Imma l-idea għadu. Int se jkunu qed jimportaw xi tip tal-fajl header fil-programm tiegħek. Nixtieq ukoll li tenfasizza d-differenza bejn printf u NSLog. Madankollu, kif għidna qabel, Għan-C hija stretta super-sett ta ' C, li jfisser li teżisti printf fl Għan-C, wisq. Iżda, ħafna nies ma jużawx din. Ħafna nies jużaw dan NSLog għaliex jagħtik ħin timbru, u Ser naraw li fl-azzjoni wara. Iżda, huwa ġeneralment aktar utli mod li jistampa varjabbli. U Nixtieq ukoll li jiġi enfasizzat li NSLog jieħu fil biss l-istess Valuri placeholder bħala printf ma - hekk% d hija għal int, % F hija għal float. Madankollu, I do jridu jenfasizzaw dan ħafna aħħar wieħed - NSLog% fuq sinjal - li huwa placeholder għal oġġett. U kif għidt qabel, jittratta Għan-C pretty ħafna aktar fl-oġġetti, u għalhekk dan se jidħlu fl-użu meta inti tixtieq li jistampa, forsi, forsi NSArray, jew NSDictionary, jew NSString. Għalhekk, ukoll, avviż li, fil NSLog tagħna dikjarazzjoni, għandna fuq sinjal quddiem tal-kwotazzjoni - li huwa li turi li kordi, issa, fl Għan-C huma oġġetti. Huma ma jibqgħux istilel sempliċiment char. Huma qed oġġetti u huma trattata bħala tali. Għalhekk, huwa verament importanti li meta tuża NSLog li tieħu fi NS spag, li jfisser li inti ser ikollok biex jinkludi fil quddiem tal tiegħek virgoletti. U hu għalhekk li inti tara, hawn, fil kollha ta ' funzjoni tiegħi sejħiet għal dan NSLog, I jkollhom fuq quddiem tal-kwotazzjonijiet, anke għalkemm il-% d u l-% f huma kollha l-istess minn C. Kwalunkwe mistoqsijiet s'issa? I ser jippruvaw jgħaddu dan malajr sabiex li jista 'jkollna aktar ħin biex jaħdmu ma Xcode u Għan-C, sabiex li inti guys tista 'tikseb aktar familjari magħha. Next, I trid tenfasizza xi ħaġa kunċettwalment importanti. Għalhekk, C, ħafna affarijiet huma funzjonijiet. Nagħmlu sejħa funzjoni. Aħna niddikjaraw funzjonijiet b'dan il-mod, mal- ir-ritorn tip ewwel, allura l- Isem funzjoni, parentesi, u mbagħad kwalunkwe argumenti u t-tip ta ' dawn l-argumenti li rridu jgħaddu pulzieri U Għan-C, għaliex kollox huwa oġġett jew klassi - hekk klassi u oġġett huma żewġ termini li huma l-aktar sinonimu ma 'xulxin, so I jistgħu jużaw kelma flok matul il-seminar. Iżda, tkun taf tara li għandna metodi Għan-C minflok funzjonijiet. U metodi jappartjenu għal oġġetti. Hekk biss kif, forsi tieħu per eżempju, node - tip tagħna [inaudible] node mill pset 6 jew 5 - aħna għandna l-kelma, il-proprjetà, jew il-pointer node jmiss. Metodi huma sempliċiment funzjonijiet ġewwa ta 'xi tip ta' struttura. Għalhekk, f'dan il-każ, l-istruttura tkun l-oġġett, u mbagħad il-metodu huwa xi ħaġa li tappartjeni għal oġġett. U dan huwa kif inti tiddikjara, tip ta ', metodu. Inti tibda bil, għal darb'oħra, ir-ritorn tip - so, I ippruvaw kulur kodiċi l-kliem ewlieni hawnhekk sabiex inti guys tista 'tara l-inqas, l-ifformattjar similaritajiet bejn il-funzjoni dikjarazzjonijiet u dikjarazzjonijiet metodu. Allura, inti tibda, inti taf, ritorn tip - f'dan il-każ, huwa firxa, jew pointer NSArray - u imbagħad inti għandek dan il-metodu. U mbagħad, x'hemm interessanti hawnhekk huwa li minflok parentesi, aħna jkollhom dawn colons. U mbagħad, quddiem argumenti tagħna, aħna tpoġġi, għal darb'oħra, fil-parentesi tat-tip argument tagħna. Allura, issa dritt jien tipprova tagħmel l- paragun bejn, tafu, nu numru, għaliex qed kemm ints simili. U mbagħad, l-ieħor huwa tip NSUInteger. U mbagħad, bil Għan-C, meta inti jridu li jkollhom argumenti multipli klawsola tiegħek metodu, inti, tip ta ', jisseparahom tip ta 'bħal dan - Jien ma pjuttost ċert kif din tiġi deskritta, iżda dan huwa eżempju tajjeb ta 'kif inti jista 'jkollhom argumenti multipli fil hemmhekk. Inti tista ', naturalment, biss totalment jinjora l-kolon andArray NSArray array jekk int riedu biss metodu li jieħu fil argument wieħed. Iva, kwistjoni. UDJENZA: huma kemm NSUInteger u Argumenti NSArray li jistgħu jittieħdu fil- fil-NSArray? RHED Shi: Iva. Allura, let me jispjegaw. Allura, iva. Għalhekk, il-kwistjoni kienet huma NSUInteger u NSArray * tipi ta 'l-argumenti, u li l-korretta. Allura, inti dejjem trid tispeċifika liema it-tip ta 'argument tiegħek. U hawn, jien jippruvaw li jintroduċu inti li xi wħud mill-sintassi u vocab ta ' Għan-C, sabiex dawk tipi attwali li inti ser tkun jittrattaw. U kif inti ser avviż, arrays m'għadhomx, tip ta ', affarijiet sempliċi parentesi. Huma qed l-oġġetti. Għalkemm, jekk immorru għal dak li jmiss slide, nistgħu naraw li nistgħu hard-kodiċi li NSArray fl Objettiv-C ma ' sempliċiment simbolu fuq quddiem il-parentesi. Jien ma, fil-fatt, pjuttost ċert jekk I sintattikament hard-kodifikati firxa korrett għall-verżjoni C, iżda li mistennija li jkunu fil-firxa C. Għalhekk, dan huwa kif inti, inti taf, forsi jużaw il-funzjonijiet jew il- metodi li aħna maħluqa qabel. Dritt? Għalhekk, din hija fejn aħna niddikjaraw tagħna funzjoni u l-metodu tagħna. U issa irridu li jużawhom programm tagħna, u dan huwa kif aħna se tagħmel dan. Għalhekk, C, inti jkollok, inti taf, forsi, bool b, u inti sett li daqs il-funzjoni, u mbagħad inti tgħaddi fil-argumenti. Fil Għan-C, huwa pjuttost ħafna l-istess ħaġa. Inti għandek NSArray * my_array, u huwa ser ugwali - issa, l-uniku differenza hawnhekk hija din ħaġa oġġett, li stajt enfasizzat bl-isfar, u kif tistgħu taraw, fil-C, hemm ebda kelma isfar oħra. U huwa minħabba metodi jappartjenu ma 'ċerti oġġett. Allura hu għalhekk li I jeħtieġ li jkollhom oġġett li, tip ta ', jitlob dan il-metodu fuq in-numru żero, u mbagħad l NSArray a, b, c, d. Kwalunkwe mistoqsijiet dwar dan? Ser naraw dawn il-kunċetti fl-azzjoni pretty hekk meta aħna jmorru fi demo. OK. Issa, nixtieq li nitkellmu ftit fil-qosor dwar Xcode 5, li hija l- ambjent żvilupp integrat li inti ser tkun ħidma mal. Naf ħafna minnkom, jew xi wħud minnkom, ma jkollhom MACs, li hija problema għaliex Xcode mhix disponibbli għall-Windows u PC. M'għandekx jistaqsu lili għaliex, iżda probabbilment - yeah, korporattiva. Tkun xi tkun. Iżda xorta waħda, so, I ruhna jekk xi wħud inti għandek tniżżel xi tip ta ' magna virtwali għall Mac fl Sabiex jimxu Xcode 5. Iżda huwa nifty pretty software għall-użu. U għalhekk, qabel we adsa fi kwalunkwe tip tal demo, I biss trid nuruk stampa ta 'dak Xcode Dehra tiegħek tieqa, u allura wkoll jitkellmu dwar dak li dan l-ispazju kollu huwa. Għalhekk, huwa tip simili tagħlim kif jużaw Microsoft Word, ħlief inti tixtieq li tikseb jiffamiljarizzaw ruħhom ma 'l- affarijiet differenti li huma għaddejjin hawn. Allura l-ewwel, nixtieq li punt inti il-toolbar fil-quċċata. Tkun taf tara li, fil-quċċata, inti ser ikollok l-isem fajl - jew, fil-fatt, l-isem tal-proġett tiegħek u mbagħad l-isem fajl tiegħek. Ħu nota tal-logħob u il-buttuni ta 'waqfien. Dawk huma dawk li inti ser tkun jużaw jiddekorri app tiegħek fuq il- simulatur - -simulatur IOS. Dan awtomatikament jiġi ma Xcode 5, sabiex inti ma għandekx għalfejn tinkwieta dwar tniżżil xi tip ta 'simulatur. Inti biss għall-istampa play u allura din tmur app tiegħek. U inti tista 'tilgħab madwar miegħek, u tkun taf tara kif taħdem aktar tard. U mbagħad, fiċ-ċentru, naturalment, huwa fejn kollha ta 'kodiċi beautiful tiegħek se jmorru. U mbagħad, fuq in-naħa tax-xellug, inti ser jkollhom din, tip ta ', folder - navigazzjoni - u mbagħad, inti ser tara wkoll li, flimkien mal-folder icon, hemm mazz ta 'ikoni oħra hemmhekk li se jkun utli aktar tard. U mbagħad, fuq il-lemin huwa utilità żona fejn inti tista 'taħdem ma xi wħud mill-oġġetti u tispeċifika, inti jaf, dak li l-kulur għandu jkun, liema il-font test għandu jkun, eċċetera. Għalkemm, dak kollu li għandek tagħmel fil-qasam utilità, inti tista ' jagħmlu fil-kodiċi kif ukoll. U hekk, jien ser jkunu għaddejjin minn tnejn eżempji ta 'użu, sempliċiment, l-ebda kodiċi fuq kollha - jew kodiċi minimu ħafna - versi kodiċi kollha, biss sabiex inti guys taf x'tista 'u ma tistax tagħmel fil- Xcode u Għan-C. U mbagħad, finalment, stabbiliti fil-qiegħ, inti għandek il-qasam debug. Għalhekk, m'għadx għandek jiddekorri GDB, eċċetera, fuq programmi tiegħek. Awtomatikament ma għalik. U inti tista 'jistampa wkoll Jittieħed f'dan il-qasam. Allura fil-fatt, aktar tard, aħna ser jgħaddu mario.c, jekk inti guys għadhom jiftakru li, fil Xcode. Allura li għandhom ikunu gost. U mbagħad, biss biex iġibu lura Għan-C, nixtieq li tenfasizza dak inti tista 'tagħmel ma jekk dikjarazzjonijiet. Allura, inti taf, għaliex Għan-C huwa superset ta 'C, dak kollu li għandek tagħmel hu, litteralment, l-istess bħal C. Inti biss jkollhom differenzi żgħar. Għalhekk, inti ser ikollok avviż-formola għal jekk dikjarazzjoni għadu l-istess - għandek jekk, u imbagħad inti għandek parentesi ma kundizzjoni ġewwa ta ', u mbagħad braces kaboċċi għall kulma trid tagħmel ġewwa ta 'hemmhekk. Madankollu, jien ridt li tpoġġi din slide up hawn, sempliċiment biex juru li, għaliex aħna qed jittrattaw ma 'oġġetti issa, aħna se jkollhom jużaw dawn l-affarijiet imsejħa simili, hija ugwali għal string, li huwa, inzerta, metodu ta ' string jew oġġett NSString. Għalhekk, kelma, f'dan il-każ, huwa NSString toġġezzjona, u għandu metodu msejjaħ hija ugwali għal string, u allura aħna qed tgħaddi fil string hard-kodifikati biex tara jekk dawn huma ugwali ma 'xulxin. Kwalunkwe mistoqsijiet s'issa? OK. U, nixtieq li jmorru fuq a għal dikjarazzjoni wkoll. Għalhekk, per eżempju, jekk ridna li loop fuq it-tul ta 'sekwenza fis-C, dan għandu jkun familjari għalik. U, Għan-C, I do jridu biex jenfasizzaw din, tip ta ', metodu msejjaħ għadd. Well, attwalment, let me biss jieħdu dik lura. Għadd huwa metodu ta 'firxa. Madankollu, huwa aktar speċifikament proprjetà ta 'firxa, li hija għaliex inti jistgħu jużaw l-dot notazzjoni. Imma jien ma rridu nġibu fis wisq ta ' dan il-għalf kunċettwali, I biss trid nuruk kif l-affarijiet se tfittex bħal fil Għan-C versus C. U wkoll, I do jridu li jiġi rrilevat li anki jekk I kont qed tuża NSUInteger quddiem kollha tiegħi i Objettiv-C, tista 'wkoll tuża int, għaliex int huwa totalment validu Għan-C, ukoll. Iva? UDJENZA: Huwa biss stilistika, jew - RHED Shi: Yeah. Allura, kif tkun taf tara - hekk, il-kwistjoni kienet hija li biss kwistjoni stilistika. Kif tkun taf tara, I jkollhom, tip ta ', star Ħaġa asterisk stabbiliti fil-qiegħ, u li link tieħdok għal munzell overflow jiffurmaw, fejn xi ħadd jispjega id-differenza bejn int fil- NSInteger u NSUInteger. U għalhekk, inti tista 'taqra dwar dan aktar tard. Dawn slides se jkunu, naturalment, disponibbli lilek. Ejja ara. OK, biża '. Għalhekk, din hija inkluża wkoll fil-slide għaliex ħsibt li dan kien kbir websajt li tintroduċi inti li sintassi Għan-C. Allura, fil-fatt, għaliex ma we jimxu lejn Chrome u check out dan is-sit? Dritt. Allura, dak li nixtieq nuruk guys hawn hija din id-dehra. Għalhekk, dan huwa, tip ta ', se jkun dak int ser tara ġewwa ta 'kull Fajl Xcode. Attwalment, għaliex ma aħna biss jieħdu mument biex, tip ta ', jieħdu din pulzieri Għalhekk, dan il-ktieb - dak l-oġġett li aħna qed jittrattaw. U mbagħad, huwa ovvjament se jkun ntirtu minn xi oġġett ieħor, iżda inti ma għandekx għalfejn tinkwieta dwar dan. U mbagħad, hija, forsi, għandha xi varjabbli membri. Il-ħaġa importanti I nuruk hija l-metodi eżempju, hawn. Għalhekk, metodi eżempju huma miktuba minn dan is-sinjal minus. U mbagħad, kif inti ser ikollok avviż, aħna qed diġà jibdew biex tara d-paradigma għal dikjarazzjoni metodu, id-dritt? It-tip ta 'ritorn, l-isem metodu, u imbagħad it-tip ta 'l-argument, u allura l-isem tal-argument. U dan is-sinjal minus ifisser li huwa ta ' metodu eżempju, li jfisser li dawn il-metodi huma disponibbli biss għall- oġġetti li ġew instantiated. Kuntrast li, metodi bil plus sinjal quddiem minnhom huma klassi metodi, li jfisser li inti tista 'sejħa dawn il-metodi, anki jekk inti ma għandekx oġġett maħluqa s'issa. Għalhekk, per eżempju ċar, NSString huwa klassi. U inti tista 'sejħa, per eżempju, metodi klassi fuq NSString - l-attwali, bħal, kelma NSString. Madankollu, sabiex jużaw dawn metodi, inti fil-fatt bżonn li jinħoloq string. Per eżempju, NSString string star ugwali fil-marka kwotazzjoni, bonjour dinja. U mbagħad, inti tista 'tuża dawn il-metodi - pereżempju metodi - fuq dak string dinja bonjour. Allura, dak l-differenza bejn metodi istanza u metodi klassi. U, aħna biss koperti f'din il-parti. Proprjetajiet huma ħaġa oħra li huma ġewwa ta 'oġġetti, bażikament. U inti tiddikjara bl il fuq keyword proprjetà. Inti għandek dawn l-għażliet, hawn, li jien ser jispjegaw aktar tard meta immorru ġo demo. Iva? Hi. UDJENZA: Tista zoom fi, jekk jogħġbok? RHED Shi: Oh yes. Jiddispjacini. UDJENZA: Grazzi. RHED Shi: Li għandhom ikunu ħafna aħjar. UDJENZA: Yeah. Grazzi. RHED Shi: Yeah, jekk jogħġbok ifakkru lili jekk I tinsa li zoom jew zoom out. Għalhekk, din hija kollha jien ridt biex turi li inti għall - Whoa, li l-lott - għal din il-websajt. Allura, ejja mur lura għall-pjastri tagħna. Attwalment, issa ejja tieħu mument adsa fis demo. Allura, aħna ser tibda bil- proġett ġdid Xcode. Għalhekk, jekk inti ser tiftaħ Xcode fuq kollha ta ' magni tiegħek, hija għandha tieħu inti ftit paġna fejn jgħid, bħal, jew miftuħa up proġett eżistenti jew ġdida proġett, u għandek ikklikkja proġett ġdid. U allura, għandha tieħu inti dan l-iskrin. Iva? UDJENZA: Jekk aħna ma jkollhom Mac, nistgħu biss tip ta 'chill? RHED Shi: Or ħarsa fuq ma 'xi ħadd, yeah. Yeah. Tista 'chill, wisq. OK. Allura, dak li aħna qed tmur biex tagħmel l-ewwel, issa, huwa, fil-fatt, aħna qed tmur biex tagħmel applikazzjoni fehma waħda. Għalhekk, jekk inti taf Avviż, x'hemm kbir dwar Xcode u appoġġ Apple għall- iżviluppaturi huwa li inti għandek ħafna ta ' templates li jaħdmu magħhom diġà. Inti tista ', per eżempju, jagħmel master-dettall applikazzjoni. Inti tista 'tagħmel logħba - u fil-fatt, I mhux se tidħol fis-logħob, għaliex logħob huma storja differenti għall-iżvilupp IOS. U dawn qed tip ta 'separati, so I mhux se tidħol fis dan. Imbagħad, inti għandek bbażati fuq paġna applikazzjonijiet. Għandek applikazzjoni tab - hekk tixtieq, per eżempju, Bank of America probabbilment ikun, bħal, app tabbed. Huwa dawk fejn inti għandek il-buttuni fil-qiegħ. U mbagħad, inti għandek logħba Kit Sprite. Jew inti tista 'taħdem mill-bidu, li huwa dak li aħna ser nagħmlu aktar tard. Imma ejja, minn naħa, tibda bil applikazzjoni fehma waħda. Imbagħad, dan ser jitlob għal isem tal-prodott, u nistgħu biss tagħmel test. Isem l-organizzazzjoni - hekk, l-isem l-organizzazzjoni, identifikatur kumpanija - dawn huma importanti jekk int ser jitqiegħdu app tiegħek fuq il-maħżen app. Għajr li, kodiċi tiegħek se jimxu assolutament multa mingħajr dan. Dan se jkun importanti jekk inti trid - hekk, per se, bħal, tpoġġi app tiegħek fuq il-mobile jew xi ħaġa tiegħek, u test it out, inti taf, fil-ħajja reali - dan se jkun importanti. Dan x'aktarx li normalment ikunu assoċjati ma ' xi tip ta 'kont iżviluppatur ma 'Apple. U għalhekk, I know, probabbilment, ħafna minnkom mhux se jkollhom xi kontijiet iżviluppatur. Naf li l-università għandha wieħed. Naħseb CS għandha wieħed. Iżda, inti tista 'email me u jien ser jippruvaw figura li out għalik. Imma issa dritt, stajt biss jitqiegħed fil- xi affarijiet placeholder hawn. U inti tista ', naturalment, hawnhekk, jagħżlu jekk inti tixtieq li jkun biss iPhone, iPad, jew it-tnejn - applikazzjoni universali. Għalhekk, għal issa, ejja tagħmel universali, just biex tara żewġ naħat tal-pjattaforma. Ejja ara. Allura, id-dritt issa, jien ser jiffrankaw fil xi tip ta 'folder. Ma jimpurtax fejn - inti tista 'dejjem jġorrhom aktar tard. U, issa, aħna miġjuba għall-proġett Xcode tagħna. Jien ma joqogħdu jinkwetaw dwar dan kollu. Nissuġġerixxi ma jmissu xi wieħed dan, sakemm inti taf eżattament liema li qed isir. Għalhekk, dan kollu, biss jinjora għall-parti l-kbira. Ma jkollokx bżonn li tmiss, u jekk inti do inti mess up xi affarijiet hawn, dan gets ftit delikata. Allura, għaliex ma we tħares lejn il-fajls dwar il- naħa tax-xellug fil navigator tagħna. Hawnhekk, aħna għandna AppDelegate.h. Għandna AppDelegate.m Allura, kif tkun taf avviż, għandna header files, li tintemm fl dot h, u għandna implimentazzjoni - attwalment, let me zoom pulzieri OK. Let me zoom pulzieri Dritt, hekk ikollok header files u għandek fajls implimentazzjoni. Attwalment - OK. Dan huwa ftit stramb, imma għandhom miegħi. Imbagħad, għaliex aħna għażilt ħsieb wieħed applikazzjoni, aħna qed tmur biex tkun jaħdmu ma storyboard. Għalhekk, storyboard hija xi ħaġa li Apple għandha toħroġ bi biex verament tgħin iżviluppaturi prototip malajr applikazzjonijiet tagħhom. Għalhekk, dan huwa fejn inti tista 'toħloq app mingħajr kitba ta ' linja waħda tal-kodiċi. Madankollu, fl-applikazzjoni tagħna fehma waħda, aħna ma, naturalment, għandhom fajl għall-fehma tagħna, li huwa kontrollur ħsieb. Allura, aħna għandna l-header u l- fajl implimentazzjoni, here. U, jien ser zoom out issa għaliex aħna ser bżonn biex taħdem fil-storyboard. Allura, hawn fehma tagħna. Jekk aħna, sempliċiment, imexxu l-app dritt issa, hemm Ma tantx eċċitanti għaddej. Allura, int ser tara dan screen abjad. OK? U, utilitajiet qasam tagħna, nistgħu żid mazz ta 'affarijiet differenti biex dan. Allura, meta inti qed jittrattaw ma 'skrins fil IOS, kontrolluri ħsieb huma l- oġġetti li jiġbru fihom, tip ta ', l-opinjonijiet tiegħek. Allura, kontrollur ħsieb dejjem tkun proprjetà msejħa ħsieb. U dik il-fehma, tipikament, fih, inti taf, dak li trid tara fuq l-iskrin. Għalhekk, ukoll, ejja biss tibda billi, forsi, forsi tikketta. Allura, ejja tpoġġi tikketta fuq hemmhekk - stick fil-nofs. Allura, issa li stajt għafast fuq it-tikketta, I tista 'tmur fil-ispettur proprjetajiet u jibdew ibiddlu l-valur tagħha. Ejja sejħa hija CS50 Kuluri. U, I tista 'wkoll tbiddel il-font. Għalhekk, minflok sistema, tagħmel li hija default, nistgħu nagħmlu waħda custom. Nistgħu bidla - tafu, ajruplani ultra-light, jagħmilha 32. U allura, nistgħu nagħmlu kaxxa tagħna akbar. UDJENZA: Taħseb inti tista zoom fil biss ftit aktar, forsi? RHED Shi: Yeah? OK. UDJENZA: Just vit dan? RHED Shi: Ejja naraw. Taħdem din? UDJENZA: Just jgħaddu l-Xcode? RHED Shi: Sure. OK. Tal-biża '. UDJENZA: It-tikketta taħt? It-tikketta? RHED Shi: X'hemm li? UDJENZA: What drop-down kien it-tikketta taħt? RHED Shi: Għalhekk, il-kwistjoni kienet, liema drop-down kienet it-tikketta taħt? Għandu, sempliċiment, tkun taħt hawn. I raden hija ħaġa kubu. Iżda ġeneralment, dan huwa l-default - Jien biss se stabbiliti hawn sakemm nsib tikketta. Yeah. Allura issa, aħna għandna tikketta tagħna. Ejja IT ċentru. U Xcode jagħtina linji gwida għall centering oġġetti. Allura, issa ejja jimxu kodiċi tagħna għal darb'oħra. Hemm immorru. Allura, aħna għandna CS50 Kuluri. U issa, ejja tpoġġi buttuna fuq hemmhekk, id-dritt? Għaliex aħna rridu li jagħmlu dan interattiv. Allura, ejja tpoġġi buttuna hawn. U aħna ser sejħa din il-buttuna "vit hawn biex tkompli. "Aħna ser IT ċentru, wkoll Attwalment, huwa diġà ċċentrat. Yeah. Allura, issa għandna buttuna. U jekk aħna run dan darb'oħra, aħna qed tmur li jkollhom buttuna ftit sbieħ hawn. U nista 'ikklikkja, iżda ma tagħmel xejn, għaliex aħna ma jsir xejn bil-buttuna għadu. Allura, ejja joħolqu ieħor għan, id-dritt? Allura, ejja ngħidu li nixtieq vit li buttuna u nixtieq li jmorru għal paġna oħra - ieħor għan. Dak li jien ser tagħmel hu li, I tista 'toħloq kontrollur ħsieb, right? Issa jien ser ikklikkja fuq buttuna tiegħi, u mbagħad, l-importanti hu, jien ser click - jew - iva, kontroll istampa fuq it-tastiera tiegħi. Kontroll. Ikklikkja fuq il-buttuna, u mbagħad drag. Allura, ftakar biex iżommu l-kontroll ewlieni. Ejja nagħmlu dan mill-ġdid. Allura, iżommu kontroll, ikklikkja, u drag għal dak li inti trid tagħmel. OK. U issa, I għandek diversi għażliet hawn. I tista 'jew timbotta, jew I tista' tagħmel modal, jew I tista 'tagħmel custom. Push huwa biss jekk għandek kontrollur navigazzjoni. Dritt issa, ħafna ewwel ħsieb tagħna kontrollur ma jkunx ġewwa ta 'kull kontrollur navigazzjoni. Għalhekk, il-kontrollur navigazzjoni hija dik li jagħtik il-buttuna back fuq l-app IOS fejn inti għandek, inti taf, li top, tip ta ', bar oħxon - fejn inti tista 'tmur lura, jew quddiem, eċċetera. Dritt issa, I ma jkollhomx dan. U għalhekk, hu għalhekk li I ma tistax tagħmel push. So, I għafast fuq push aċċidentalment, here. U fil-fatt, ejja jimxu l-kodiċi, u għandu jikkraxxja fuq lili. Biss jekk I agħfas il-buttuna għalkemm, hekk - dritt. Għalhekk, dan huwa ħażin. U, kif tistgħu taraw, hawnhekk, aħna jkollhom il-messaġġ ta 'żball. Allura, "segues Imbotta jista 'jintuża biss meta kontrollur sors jitmexxa minn eżempju ta 'kontrollur navigazzjoni UI. " Allura, għaliex dan ma kienx ġewwa ta ' kontrollur navigazzjoni, I ma setgħux jagħmlu dan. Allura, id-dritt issa, jien ser lura għall- folder, li tmur lura għall-storyboard. UDJENZA: X'hemm-navigazzjoni kontrollur, għal darb'oħra? RHED Shi: Allura, issa dritt jien ser nuruk. Ejja ara. Allura, jien ser ikklikkja fuq din il-fehma kontrollur, u mbagħad jien se jmorru sa prodott - fil-fatt, no, sorry - editur. U jien se jmorru fil - attwalment, ma I ikklikkja fuqha? Nru. Hemm immorru. Jien se jmorru up fis editur, jinżlu ssodata fi, u mbagħad navigazzjoni kontrollur. OK. U, workspace tiegħi jistenna verament messy, hekk ejja tnaddaf dan up. Għalhekk, dan kollu huwa storyboard. U b'dan il-mod - OK, stop - I jistgħu malajr jibnu xi ħaġa bħal dan. U mbagħad, issa I tista 'tmur lura, inti taf? Iżda din hija tip ta 'boring, right? Allura, dak li nixtieq tagħmel hu, ma rridx tagħmel, biss sempliċement, ħsieb kontrollur. Ejja ngħidu jien ridt li attwalment jagħmel kontrollur fehma tabella, so I tista 'tpoġġi fil- xi kuluri sbieħ, fit-tabella. Allura, issa li stajt jitqiegħdu fil-fehma mejda tiegħi kontrollur, I bżonn jgħaqqdu lura minn din il-buttuna għall- kontrollur fehma. So I bżonn tagħmel kontroll tiegħi, click, ħaġa drag darb'oħra. U issa I jistgħu jagħmlu push, minħabba I ssodata ġewwa ta 'kontrollur navigazzjoni. UDJENZA: Navigazzjoni kontrollur biss jippermettilek li jmorru minn post għall-post? RHED Shi: Iva. Allura, aktar teknikament, huwa oġġett fejn - hekk, ġewwa tal-navigazzjoni kontrollur oġġett, huwa jżomm track tal-firxa. U li array jkollha l-sussegwenti ħsieb kontrolluri. C'est pourquoi meta tagħfas lura, huwa tmur lura għall-paġna preċedenti. Minħabba li l-kontrollur navigazzjoni oġġett, jew il-kodiċi li jieħu ħsieb ta ' dan l-oġġett, għandha firxa li jżomm track ta 'dawn il-kontrolluri View, u jista 'mbagħad, inti taf, DQ l-opinjoni kontrollur u jagħtuk lura l- qabilha. Għalhekk, dan huwa għalf tekniċi, iżda - u jien ser nuruk aktar tard fil- kodiċi, jekk ikollna ħin. Jien tip ta 'tmexxija fil-ħin, iżda - Allura, ma 'l-opinjoni tal-mejda, dak li nistgħu nagħmlu hu - Huwa normalment stabbiliti awtomatikament għal Dynamic Prototype - aħna qed tmur biex jagħmilha Ċelloli statiċi, inkella aħna qed tmur biex run fis xi problemi. U mbagħad, ejja ngħidu jien ser li jkollhom sezzjoni waħda. Għalhekk, it-taqsimiet huwa simili - jekk inti stajt qatt dehru l-app mużika, meta għandek artisti, sezzjonijiet kieku tkun il-li A permezz Z's - l-ittri - u mbagħad, inti taf, l-individwu ringieli tkun l-ismijiet artist. U għalhekk, x'hemm jibred hawnhekk, huwa li nista ' aċċess għas kollha l-oġġetti ġewwa tal storyboard tiegħi permezz ta 'dan drop-down menu, wisq. Allura, jien ser ikklikkja fuq taqsima tiegħi, u nixtieq, inti taf, forsi ħames ringieli. U mbagħad, ġewwa ta 'kull ringiela, I tixtieq li jitqiegħed tikketta. U jien ser sejħa dan Blue. U mbagħad, I tixtieq li jitqiegħed ħsieb UI, inti jaf, forsi għal, bħal, kaxxa ftit. B'tali mod li nista juru nies preview tal-kulur. U jien ser imorru lura lejn il-proprjetà u bidla li kulur li, oh, I ma jafu, dan wieħed. U mbagħad, tinnota wkoll, hawn, meta I jkollhom l-aċċessorji, I jista 'jkollhom lottijiet mill-aċċessorji differenti li inti tipikament tara. L-indikatur iżvelar, l-dettall, jew check mark, jew sempliċiment biss dettall. Allura, forsi nistgħu nagħmlu, bħal, żvelar indikatur, per eżempju. U mbagħad, għaliex ma nieħdu dawn, kopja waħħalhom, u tpoġġihom fil- ringiela tabella li jmiss. Allura, nistgħu sejħa dan Yellow. And I jista 'jkollhom biex testendi dan. Ejjew nagħmluha isfar. U b'dan il-mod, nistgħu kopja pejst mod tagħna isfel. Liema kienet? Purple. Għalhekk, dawn huma kollha l-CS50 tipiku kuluri li inti stajt tidher fil-klassi - fil-fatt, sorry - jew fuq il-websajt. Nisperaw li inti guys tista 'tara dak li qed nagħmel hawn. OK. Aħħar wieħed. UDJENZA: Kif ma inti żid il-filliera inizjalment? RHED Shi: Għalhekk, il-kwistjoni kienet, kif ma I żid il-filliera inizjalment? I marru fis dan taqsima tabella - jew madankollu nista ' tagħżel l-sezzjoni tabella - u mbagħad, here, I aġġornata l-għadd ta 'ringieli. U, let me tama li dan jaħdem. OK. Ejja naraw jekk dan jaħdem. Oh, perfetta, tal-biża '. OK. Filwaqt I kien bini up demo tiegħi, xi affarijiet ma kinux allinjati, hekk, grazzi għall- l-applause. Yeah. Allura, ejja ara. Aħna ser tagħmel dan disa biss biex jagħmlu kollox - jew fil-fatt, ejja biss dawran kollha ta 'dawn in-iżvelar indikaturi. U mbagħad, dak li nixtieq biex turi li inti, wisq, kien kif I tista 'tieħu kull wieħed minn dawk ringieli mejda u jkollhom magħhom jinteraġixxu - oh. Nru. Oh. Ukoll, I nuruk - hawn, I tista 'tpoġġi t-titolu ta tiegħi kontrollur navigazzjoni, right? Allura fil-fatt, inti ser ikollok avviż, malli I inkorporat dan il-kontrollur fehma ġewwa tal-kontrollur tan-navigazzjoni, naraw dan il-bar ta 'navigazzjoni fil-quċċata ta' tagħna rappreżentazzjoni storyboard ta 'kontrollur opinjoni. U għalhekk, dan jagħtina, bħal, viżwali, tip ta ', gwida għall-iskrin viżibbli tagħna. Dan ovvjament se jkun il-bar tan-navigazzjoni. U dak I trid tagħmel malajr, issa, jiddaħħal fis ieħor - sabiex dan il-kontrollur fehma tabella għamilt minn tieħu waħda minn dawn u jittrattienu hawn, u dan huwa dak li permessi me malajr, tassew, joħolqu ħsieb tabella kontrollur. Jekk għandna l-ħin għalkemm, inti ser tara li, programmatically, huwa ftit aktar delikata biex tinħoloq tabella fehma kontrollur, minħabba li hemm huma koppja ta 'metodi li huma meħtieġa biex inti, tip ta ', jiktbu out sabiex il-fehma tabella kontrollur li jintwerew b'mod korrett. Madankollu, I biss irrid biex turi li inti, issa, eżempju ta 'fejn, jekk nieħu din, per eżempju - Stajt jitqiegħdu kontrollur ieħor għan. U issa, ejja ngħidu I jridu jikkontrollaw alt ewwel blu tiegħi ringiela tabella hawn. U nixtieq li sejħa dan Blue. U mbagħad - ejja ara. Jien fil-fehma issa, u I jistgħu jibdlu l-isfond għal ikħal. U għalhekk, avviż, hawnhekk, dan drop-down menu wkoll jagħtik ġerarkija ta 'kull ta 'dawn l-oġġetti. Allura ħaġa importanti li wieħed jinnota, hawn, hija li kollha ta 'dawn l-affarijiet, hawn - dan il-kontrollur fehma tabella, it-tabella fehma, sezzjoni fehma mejda, il-fehma tal-mejda ċelluli - dawn kollha huma oġġetti, fil-kodiċi. Allura, inti taf, tikketta dritt issa huwa taħt l-opinjoni kontenut, eċċetera. Hekk u ibqa 'sejjer hekk. Għalhekk, jekk aħna run dan il-kodiċi, aħna għandha tara xi ħaġa - ejja ara jekk dan - yeah. Għalhekk, hemm we go. Iżda, jekk aħna ma tagħmel dan, l-ebda ta 'dawn l-affarijiet oħra jaħdmu. Dritt? Allura biss dan wieħed jaħdem. U, għall-fini ta 'żmien, jien mhux ser tmur fis, tafu, it-tqegħid l-oħrajn. U dan huwa t-tmiem ta ', tip ta ', storyboard - dak li ridt li juru inti għall-storyboard. U, I do jkollhom eżempju maħduma barra, attwalment, dritt hawn. Għalhekk, din hija l-storyboard li għamilt qabel. Allura, kif tistgħu taraw, dan kien kontrollur navigazzjoni tiegħi. Imbagħad kelli kontrollur tiegħi fehma ewwel, imbagħad I kellha kontrollur fehma mejda tiegħi, u mbagħad kelli kollha ta 'dawn - hekk qabel, I kienet tagħmel xi ħaġa differenti ħafna. Għalhekk, skuża dawk l-affarijiet. I ser probabbilment inaddfu up aktar tard qabel I ibgħatha għall-produzzjoni. Iżda, jekk aħna run dan, aħna ser tara li l-għażliet huma disponibbli lilna. Ħlief I ma jagħmlu l-isfondi dawk il-kuluri. Għalhekk, l-applikazzjoni sempliċi sbieħ. Issa, ejja jippruvaw jindirizzaw dan programmatically. OK. Allura, biex tagħmel dan, aħna qed biss jmorru li tibda proġett ġdid Xcode. Aħna ser jagħmilha applikazzjoni vojta issa, għaliex aħna ma rridux li jkollhom l- storyboard. Allura, jien sempliċiment jirrestrinġu ruħi ma tuża kwalunkwe ta 'l-storyboard, u applikazzjoni vojta mhux se tagħti me a storyboard. Dan huwa biss biex tipprevjeni myself minn qerq. Ejja ara. Stenna. Did I - iva. OK. Dritt. Allura, hawn, aħna xellug ma xejn imma kodiċi. Allura, let me jimxu il-tieqa ftit aktar. Dritt. Kif tistgħu taraw hawn, l-uniċi fajls aħna qed jingħataw huma AppDelegate.h u dot m, u aħna ma jkollhomx storyboard aktar. Allura jekk aħna run dan, aħna għadhom għaddejjin li jiksbu l-iskrin abjad, nirringrazzjaw 'l Alla. OK - screen abjad, iżda xejn. U, hawnhekk huwa l-parti importanti. Dan huwa fejn jiġri l-azzjoni. Fil-verżjonijiet preċedenti, hemm normalment ebda kodiċi hawn, iżda l- storyboard essenzjalment jipprovdi il-kodiċi għall din il-parti. I mhux se tidħol fis-dettalji dwar kif. U dak li rridu nagħmlu issa hu, irridu biex tmur fil hawn, u dan l-ispazju ftit jibda jinħoloq app tagħna għal darb'oħra. So - iva? UDJENZA: Zoom? RHED Shi: Zoom. Yeah, żgur. OK. I ser tkun ittajpjar, għalhekk dan m'għandux kwistjoni wisq. OK. Għalhekk, l-ewwel, ftakar aħna riedu joħolqu kontrollur navigazzjoni, right? U wkoll, kif tistgħu taraw hawn, Xcode tagħmel biċċa xogħol tassew kbira ta ' awto-mili. Allura, kif inti ser avviż, l-ismijiet ta ' kollox huma ħafna itwal minn soltu, iżda Xcode timla fil għalik. So I tista 'biss għall-istampa Ikteb. So, I jixtiequ joħolqu navigazzjoni UI kontrollur pointer, u I tista 'sejħa hija navigationController. Issa, x'għandi nagħmel issa? Wara dan is-sinjal ugwali, I bżonn li, minn naħa, joħolqu ġewwa ta 'memorja. Allura, jien ser tagħmel NavigationController alloc - hekk, dan huwa simili għall malloc, li inti guys użati C - u mbagħad, jien ser Iniz dan. Għalhekk, huwa verament importanti li kwalunkwe oġġett li inti toħloq, inti tixtieq li alloc u Iniz dan. Li għaddej biex joħolqu dan u instantialize ġewwa tal-memorja, u issa inti tista 'tagħmel użu minnha. Kull dritt? Jekk inti ma tagħmel dan, l-għan tiegħek ma ma jeżistux, u tkun taf run fis mazz ta 'problemi. U mbagħad, I tixtieq toħloq kontrollur ħsieb, right? So, I jixtiequ joħolqu UIViewController star - hekk, kollox huwa pointer fil- Għan-C, u jien ser tagħmel xi ħaġa simili, hawn - alloc, Iniz. OK. U allura dak li jien ser tagħmel hu, jien tmur - hekk, tiftakar meta għamilna il jintegraw fil-kontrollur navigazzjoni? Din hija kif inti tagħmel dan fil-kodiċi. Int ser tagħmel navigationController pushViewController - UDJENZA: [inaudible]. Se dan jiġri għalina, jew -? RHED Shi: Oh, yeah. Nru. Hija jħobb me aħjar. Le, dan ser jaħdmu għalik, wisq. Għalhekk, dawn huma kollha metodi. Allura pushViewController huwa metodu, u wkoll, b'mod aktar speċifiku, huwa ta ' eżempju metodu ta 'l-UI kontrollur navigazzjoni. Minħabba I kellhom joħolqu navigazzjoni UI tiegħi kontrollur star, u mbagħad I tista 'sejħa dan pushViewController fuq tiegħi eżempju speċifiku ta 'navigazzjoni UI kontrollur. UDJENZA: Do għandna nagħmlu l-eżatta kelma, jew ma diġà jeżistu għal dan? RHED Shi: Iva, għaliex dan huwa metodu. Huwa simili funzjoni. Huwa simili printf. Huwa simili scanf. Huwa simili strcompare. Ħlief dan jaf dak li inti tista 'tixtieq li tip, u tinnota li inneħħu dejjem toħroġ bi affarijiet li huma legalment permessi għalik. Għalhekk, jekk xejn turi up hawn, allura xi ħaġa ħażina. Allura, pushViewController. Allura, issa, nixtieq li timbotta tiegħi maħluqa ġodda UIViewController, u mbagħad, animati - forsi le. Minħabba dan se jkun l-ewwel kontrollur fehma. I mean, anki jekk I ma tagħmel animati, hija probabbilment mhux se juru up, għaliex huwa l-ewwel iskrin. U ftakar-parentesi. Allura, tiftakar kif użajna-parentesi? U ġewwa l-parentesi, l- oġġett jistieden metodu - hekk oġġett tagħna huwa l-navigazzjoni kontrollur, u l-metodu huwa push kontrollur fehma animati. U tara kif jieħu fir żewġ argumenti, u dawn qed separati mill-, tip ta ', kliem, u kolon. Allura, Għan-C jipprova jagħmel sbieħ u faċli għalik biex taqra out loud - kodiċi tiegħek - u li hija semi, tip ta ', jagħmel sens. Madankollu, qed jagħmlu dan mhuwiex biżżejjed. Let me zoom out issa. Tagħmel biss dan mhux biżżejjed biex tikseb dak li aħna ltqajna biex qabel. Allura hawn, inti ser ikollok avviż li hemm fil-fatt mhux se tkun xi tip ta ' bar, hawn, id-dritt? M'hemm l-ebda bar navigazzjoni, b'liema mezzi li għadna ma gotten dan. U aħna tista 'test li out, ukoll, minn, forsi, jinbidlu l-isfond ta ' ViewController, right? ViewController.background-- ah. Allura, tara kif ViewController ma kellux kulur l-isfond, anki jekk I riedu li jkollhom aċċess għaliha? U dan għaliex ViewController huwa kontenitur għall-opinjoni. Għalhekk, hija għandha proprjetà ħsieb li imbagħad għandha kulur fl-isfond. U, I tista 'tistabbilixxi, tip ta tediously, billi ċċempel l-kulur fuq l-oġġett UIColor. Allura, avviż hawn, redColor huwa metodu. Huwa metodu klassi ta UIcolor. Minħabba I ma jridu joħolqu f'każ konkret ta 'UIColor sabiex li jsejħu l-metodu fuqha. I biss, sempliċement, hija imsejħa fuq l-isem bħall-tip. I, bħal, imsejħa fuq int, jekk int kellhom, simili, metodu lilha, per eżempju. U hekk, jekk aħna run dan il-kodiċi, aħna ser avviż li l-isfond huwa attwalment mhux aħmar. Huwa għadu abjad. U kif nistgħu tikseb madwar jiġifieri, avviż kif hemm il-self.window. Dan huwa, simili, il-kontenitur finali għall-applikazzjoni tiegħek. Huwa l-ħaġa aħħari li fih kollox fuq l-iskrin, għal iPhone jew l-applikazzjoni iPad. U, konvenjenti, self.window għandha din il-proprjetà msejħa rootViewController. U li se tkun l-pointer li l-ewwel kontrollur fehma ġewwa ta 'app tiegħek. Allura, dak li rridu nagħmlu hawnhekk, issa, hija biex ikun stabbilit li ugwali għal navigazzjoni tagħna kontrollur. Dritt? Minħabba li, teknikament, navigazzjoni kontrollur huwa ħafna ewwel ħsieb tagħna kontrollur. Hija żżomm kont ta 'firxa tal-vista oħra kontrolluri, u aħna imbuttat dan kontrollur fehma f'dak array fil-kontrollur tan-navigazzjoni. Allura, inti ma tridx tagħmel dan. Dan ma jkunx verament tgħinek. Inti tixtieq li tagħmel dan, jekk inti riedu jagħmlu kontrollur navigazzjoni, li aktar inti probabilment se għaliex inti taf jridu għal, tip ta ', għandhom xi tip ta', simili, menu li jmorru lura għal jew xi homepage li jmorru lura għall, aktar milli iskrin vojta. Iva? UDJENZA: Huwa skomda għal li inti zoom fl fuq il - RHED Shi: Yeah. Allura, yeah. Dan huwa l-kodiċi, u issa ejja tittestja out. Għalhekk, hemm we go. Magic. Allura, OK. Grazzi. OK. Allura issa, dak li rridu nagħmlu huwa - iva, aħna qed tip ta limitati, hawn, id-dritt? Nistgħu potenzjalment tikteb kollox ġewwa ta 'din il-funzjoni waħda. Iżda, li mhux kif l-iżvilupp IOS normalment taħdem. Allura, dak li aħna qed tmur biex tagħmel hu, aħna qed se toħloq xi fajls ġodda. Iżda, b'mod aktar speċifiku, aħna qed tmur biex joħolqu klassi oħra Għan-C, jew oġġett ieħor - klassi u l-oġġetti huma interkambjabbli hawnhekk. U, hawnhekk kif I jistgħu, potenzjalment, joħolqu klassi oħra ta 'kontrolluri U. Għalhekk, huwa sub-klassi, kif inti ser ikollok avviż, hawn, huwa sub-klassi tal- Kontrollur fehma UI, iżda nista ' sejħa hija xi isem ieħor hawnhekk. I tista 'sejħa dan CS50, I tista' sejħa dan il-kontrollur fehma, I tista 'sejħa dan blah fehma kontrollur - xejn irrid. Dan huwa biss l-isem għall-klassi. Madankollu, li għaddej biex tkun importanti għaliex, essenzjalment, dak li qed nagħmel hawnhekk hija, jien ħolqien isem ieħor klassi. Allura, li għaddej biex tkun, bħal, xi tip ta 'tip jew ta' oġġett. Għalhekk, għandu jkun ftit ġenerika. Huwa mhux se tkun speċifika ħafna. U wkoll, I do jridu punt out dawn iż-żewġ għażliet. Minħabba li aħna qed tagħmel kollox ġewwa tal kodiċi, xi kultant huwa ħafna aktar faċli li jdaħħlu fajl interface, b'tali mod li I jistgħu litteralment drag u qatra, kif għamilna qabel ma storyboard - tafu, tikketta, jew buttuna, jew kwalunkwe ħaġa oħra. U għalhekk, xibs huma fajls li jippermettu li inti do li, u inti għandek ganċ it up għal dan il-fajl kontrollur fehma. Allura, jien ser deliberatament ma tivverifika dan. Normalment I se tivverifika dan, u jekk I biss għamlet dan għal iPhone jew iPad, I se tivverifika din u sempliċiment wieħed , inti taf, l-iPhone jew iPad. Iżda peress li qed nagħmel universali, jien ser biex joħolqu tnejn minn dawk aktar tard. Allura, jien ser deliberatament uncheck dan. Dan huwa wkoll tassew importanti. Ħafna drabi, I kellna bugs fejn dan ma kien ġie spezzjonat. U għalhekk, ovvjament, dan il-fajl mhuwiex, tip ta ', bħal, inklużi jew importati ġewwa ta 'dan folder test. U għalhekk, il-kodiċi tiegħi għandha assolutament ebda idea l-eżistenza ta 'dan il-fajl, u li tikkawża ħafna ta 'uġigħ u s-sigħat ta 'debugging. Iżda, biss tagħmel ċert li din tkun eżaminata sabiex li, tafu, il-mira ta 'din fajl huwa għal din l-applikazzjoni. OK. Allura, issa ħloqna żewġ fajls ġodda. U dawn il-fajls ħarsa pretty vojta. U, fil-fatt, ejja tkompli wkoll mill-ħolqien tal-fajls XIb. Għalhekk, qabel, I kien fil- Touch Kawkaw drop-down. Issa, jien ser jmorru fil-User Interface touch, u kif tistgħu taraw, I tista 'toħloq storyboard. Għalhekk, anki I beda bil vojta applikazzjoni, I xorta tista 'tuża storyboard. Għalkemm, jiġrilha delikata f'termini ta 'kif inti tixtieq li jgħaqqdu li għall-kodiċi tiegħek. So, I mhux se jmorru hemm. Iżda, dak li rridu nagħmlu issa hu li toħloq għan. U inti tista 'tagħżel għal iPhone jew iPad. U tipikament, biex juri l- differenza - jekk int tagħmel applikazzjoni universali - inti jew tpoġġi iPhone underscore, jew inti tista 'tagħmel Twiddly. Hija ma verament kwistjoni. Huwa sempliċiment għalik biex jiddifferenzjaw li għan huwa li għalih mezz. U għalhekk, issa tfittex. I jkollhom skrin li I jistgħu jaħdmu ma '. U għalhekk, per eżempju, I tista 'tpoġġi tikketta hawn fuq, inti taf, u nista 'wkoll ipoġġi ieħor buttuna hawn. I mhux se jolqot jinbidlu il-valuri hawn. Iżda, x'inhu importanti hawnhekk huwa dak is-sid tal-fajl - hekk, jien ġewwa tal-iPhone fehma, file XIb iPhone. U 'l isfel f'dan il-qasam tan-navigazzjoni jew drop-down menu, Irrid immur għall- sid fajl. U dan huwa l-verament pass importanti hawnhekk. Irrid nagħmel l-opinjoni tal-klassi kontrollur, b'tali mod li dan il-fajl XIb huwa ser tkun assoċjata ma ' kontrollur fehma tiegħi. U dak kollu li nagħmel ġewwa tal-fehma tiegħi kontrollur programmatically huwa ser jiġu riflessi hawn fuq. Allura, madankollu, tinnota li - attwalment, ejja jagħmlu din il-fehma sfond blu, per eżempju. Jew aħdar. U mbagħad, hekk jekk inti taf Avviż, lura fl- dan il-kodiċi, dan huwa fejn aħna ltqajna biex tagħna kontrollur navigazzjoni. Anki jekk aħna ma dan il-pass, huwa xorta se jkun aħmar, mhux aħdar. U hemm raġuni għaliex. Huwa minħabba, li meta aħna inited kontrollur fehma tagħna, hawn - sorry, huwa ftit crazy - meta aħna inited kontrollur fehma tagħna hawn, aħna inited it-tip ġenerali UIViewController. OK? Allura aħna lanqas biss tagħmel ma 'din il-klassi. Mela ftakar, dan huwa simili klassi issa. Dan jista 'jitqies bħala tip, just bħala UIViewController huwa tip. U sabiex jużaw dan, dak għandna bżonn tagħmel hu li jimportah - importazzjoni ViewController - u, kif tistgħu taraw, hija autofills għalija. Allura, ViewController - u issa, hawn, I jistgħu jbiddlu dan UIViewController li ViewController. U issa, hawn, I jistgħu jibdlu dan ViewController. Ejja run dan jerġa. Huwa għadu aħmar. U r-raġuni għaliex huwa xorta aħmar huwa għaliex - Woah, x'ġara hemmhekk? Ridna li jassoċjaw din XIb jippreżenta ma l-kontrollur fehma. Madankollu, sabiex fil-fatt jagħmlu li, għandna bżonn li jmorru fis dan. U meta nagħmlu l Iniz, li rridu nagħmlu initWithNibName, u mbagħad irridu jagħmlu l-fuq View_iPhone string, per eżempju. Inti tista 'tinjora l-gozz hawn. U dan se jippermetti ahna, fil-fatt - UH oh, hemm problema. Dritt. U hekk, hemm problema minħabba li, fil tagħna file fehma XIb, għandna tikketta u għandna buttuna. Madankollu, anke jekk aħna stajt konnessi dawn iż-żewġ, hemm xejn ġewwa ta ' ViewController.h jew ViewController.m li jirriflettu dawk buttuni jew dawk it-tikketti. Għalhekk, għandna bżonn li tikteb dawk bħala proprjetajiet tal-kontrollur fehma. Għalhekk, dan huwa kif inti tiddikjara proprjetà. Huwa jieħu fil, normalment, dawn iż-żewġ għażliet. Għall-finijiet ta 'magħna u dan is-seminar, Jien ngħid li, b'mod ġenerali, aktar karatteristiċi huma nonatomic u jżommu. Inti tista 'taqra minn Google tiftix, tafu, id-differenza bejn nonatomic u jżommu, inti taf, Google jew xi ħaġa. U jien ser tieħu inti, simili, munzell Overflow, fejn in-nies se jkollhom tweġibiet għad-differenzi bejn dawk. Iżda għal issa, dan huwa dak aħna jridu ikunu konċernati bl. U rridu li jagħmlu tikketta UI, star, u nistgħu sejħa hija xi rridu. Nistgħu sejħa dan, inti taf, tikketta. U, aħna ser joħolqu ieħor wieħed għall-buttuna. U ftakar li jinkludu l-asterisk, għaliex aħna qed jittrattaw ma 'pointers pretty ħafna kullimkien ġewwa tal-Objettiv-C. Madankollu, dan xorta mhux se ssolvi l-problema, kif tistgħu taraw hawn. U r-raġuni għaliex, kull meta aħna tixtieq li jgħaqqdu tikketta fajl XIb jew buttuna għall-programm, jew il-header u l-fajl implimentazzjoni, irridu żid din il-biċċa tal-kodiċi - outlet. Avviż li huwa kelma prinċipali. U, malli I finish ittajpjar li minn, għandu jkollhom dawn żewġ ċrieki, hawn. Normalment, dawn mhux qed mimlija pulzieri M'inix ċert għaliex huma. Iżda ġeneralment, inti ser ikollok manwalment qabbad lilhom billi tmur din in-naħa tal- iż-żona utilitajiet. U għalhekk, id-dritt issa, stajt ltqajna tikketta tiegħi magħżula, u nixtieq li jkaxkru dan ġdida referenzar outlet lis-sid file tiegħi, u mbagħad ikklikkja fuq Label. Allura issa, finalment, din it-tikketta hija konness ma din it-tikketta. U din it-tikketta huwa dak li aħna qed tmur biex jużaw programmatically għall-bidla tagħha test, font tagħha, l-isfond tagħha kulur, eċċetera. Allura, għaliex ma nagħmlu l- istess għall-buttuna? U kif tkun taf Avviż, għall-buttuna, huwa ftit aktar kumplikata. Minħabba, I mean, int suppost istampa fuq buttuna, għalhekk huwa ltqajna lott ta 'għażliet għal kif l-utenti tista 'tagħfas fuq buttuna. U mbagħad, aħna ser tara aktar tard li nistgħu jgħaqqdu dan tagħna kodiċi jagħmluha taħdem. Għalhekk, għal issa għalkemm, aħna tixtieq li jgħaqqdu lill-buttuna attwali ġewwa tal-kodiċi tagħna. Allura aħna mur l-iżbokk referenzar ġdid, u mbagħad jagħmlu l-buttuna. Issa, ejja run dan jerġa. Uh oh. OK. I do not know x'inhu għaddej hawn issa. Whoa. Just wieħed mument, hawnhekk. Attwalment, għaliex ma nieħdu ħarsa lejn eżempju ieħor l-interess ta 'żmien. OK. Allura, hawn l-preparati aktar faċilment eżempju għal ViewController. Kif tistgħu taraw hawn, stajt inklużi il-proprjetajiet għall- tikketta u l-buttuna. U mbagħad, din il-biċċa tal-kodiċi hawn - dan IBaction - kien konnessjoni għal din il-buttuna hawn. Allura kif tista 'tara hawn, Touch Up Ġewwa huwa konness mal-selettur imsejħa Button ippressat. Allura, nistgħu ngħidu jgħaddu mill- mozzjoni għal darb'oħra, hawnhekk, billi Touch Up Ġewwa u jittrattienu biex Sid File, u mbagħad ikklikkja fuq Button ippressat. Issa, ejja jimxu kodiċi tagħna. Allura issa, din il-buttuna issa xogħlijiet u se tieħu magħna biex il-paġna li jmiss. U, f'termini ta 'kontrollur fehma tagħna, dan huwa l-biċċa tal-kodiċi li jkun ħa kura tal-Button ippressat. U huwa importanti li wieħed jinnota hawnhekk, li Stajt maħluqa tip ieħor ta 'opinjoni kontrollur imsejħa tabella kontrollur fehma. Għalhekk, dan kien simili għal lura fil- storyboard, meta I mkaxkra wieħed ta ' dawn il-kontrolluri view tabella fil-storyboard. Jien ħolqien ieħor Pointer lill-kontrollur fehma mejda, alloc u Iniz-Ing, u mbagħad tagħmel kontrollur navigazzjoni awto dot, timbotta ViewController, dan ġdida viewController. U stajt stabbiliti l-animazzjoni li iva, għaliex issa ġewwa ta 'app tiegħi, u jien trid attwalment ara l-animazzjoni għaddej mill-home page għall-mejda kontrollur fehma. UDJENZA: Inti xorta ninkwetaw dwar ġbir taż-żibel? RHED Shi: X'hemm li? Nru. Għalhekk, il-kwistjoni kienet, għandek biex jaħdmu mal-ġbir taż-żibel? Allura, Xcode 4 kellha bħal ARC, li hija għadd referenza awtomatiku. U għalhekk, normalment meta tibda ġdida proġett, inti tiċċekkja li, minħabba ebda waħda verament jixtieq li jittrattaw ħelsien memorja u l-għalf. Imma naħseb fil Xcode 5, lanqas biss hemm din l-għażla fuq il-proġett il-ġdid. Għalhekk, awtomatikament ma dan għalik. Iva? UDJENZA: Tista esportazzjoni PDF fil storyboard tiegħek? RHED Shi: Yeah, definittivament. Għalhekk, dawn kollha se jkunu inklużi fil- kodiċi tas-sors, sabiex inti guys tista 'check out il-proġett Xcode attwali għal dan. Yeah? UDJENZA: Iżda, I mean, bħal, nista ' tipprintja PDF ma storyboard tiegħi? Jekk I biss jixtiequ li jesporta l- immaġini biex juru xi ħadd. RHED Shi: Oh yeah. I think, forsi, inti tista 'sempliċement tieħu screen shot. Yeah, u jibgħathom skrin shot jew xi ħaġa. Yeah. Allura, ejja ara. Fl-interess ta 'żmien, I think li kollox l jistgħux ikopru illum. Imma, naf li, fil-fatt, biss bilkemm tmiss il-wiċċ ta 'IOS iżvilupp. Allura, jekk jogħġbok tħossok liberu li tikkuntattjani jekk għandek xi mistoqsijiet dwar IOS iżvilupp. U, forsi, I ser tkun kapaċi li jitnaddfu up xi wħud mill-kodiċi għall-sors fajls kodiċi, sabiex inti ser ikollok xi eżempji tassew sbieħ li jaħdmu magħhom. Għajr li, jekk inti guys huma ser għall-Hackathon CS50, I jista 'jew jista' ma jkun hemm, u I jistgħu jgħinu out ma 'xi żvilupp IOS, wisq. Allura, grazzi ħafna, guys.