1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Seminaras] [iOS: Rašymas Apps "Like a Boss] 2 00:00:02,000 --> 00:00:04,000 [Tommy MacWilliam] [Harvardo universiteto] 3 00:00:04,000 --> 00:00:08,000 [Tai CS50.] [CS50.TV] 4 00:00:08,000 --> 00:00:12,000 >> Viskas gerai, visi, Sveiki atvykę į iOS Apps kaip bosas: Rašymas. 5 00:00:12,000 --> 00:00:16,000 Šis seminaras bus sutelkti dėmesį į raštu apps už iPhone 6 00:00:16,000 --> 00:00:19,000 ir, savo ruožtu raštu apps iPad, ir todėl mes iš esmės ketinate eiti per 7 00:00:19,000 --> 00:00:23,000 pora skirtingų pavyzdžių, kaip padaryti programą, paprastas Tic Tac Toe žaidimas, kaip, 8 00:00:23,000 --> 00:00:26,000 arba jei esate labiau domina app kaip kažkokios naujienų skaitymo 9 00:00:26,000 --> 00:00:30,000 ar kažkas, kad bendrauja su internetu, aš kalbėti apie tai, kad taip pat. 10 00:00:30,000 --> 00:00:32,000 Štai mūsų trumpa darbotvarkė. 11 00:00:32,000 --> 00:00:36,000 >> IOS apps raštu ta kalba, Objective-C, 12 00:00:36,000 --> 00:00:39,000 ir todėl tai yra šiek tiek panaši į C, bet tikrai ne visi, 13 00:00:39,000 --> 00:00:41,000 todėl mes kalbame šiek tiek apie pačios kalbos 14 00:00:41,000 --> 00:00:45,000 ir tada, kaip sukurti per šią programą, programą, pavadintą Xcode iPhone apps, 15 00:00:45,000 --> 00:00:48,000 jei turite ne atsisiųsti ją dar jaučiasi dabar, kad pradėti siuntimą. 16 00:00:48,000 --> 00:00:50,000 Tai kelis gigabaitus. 17 00:00:50,000 --> 00:00:54,000 Ji turėtų būti nemokamai App Store, todėl jums reikia turėti "Mac" 18 00:00:54,000 --> 00:00:57,000 idealiai naudojate naujausią versiją OS X. 19 00:00:57,000 --> 00:00:59,000 Jei nesate, jokių problemų. 20 00:00:59,000 --> 00:01:02,000 Mes turime į mokslo centrą "Mac" savo naudojimui 21 00:01:02,000 --> 00:01:05,000 su Xcode įdiegta, ir todėl nedvejodami naudoti tiems, plėtros. 22 00:01:05,000 --> 00:01:07,000 Jei norite, kad app, bet neturite Mac, nesijaudinkite. 23 00:01:07,000 --> 00:01:09,000 Miesteliu išteklių, kad ten yra daug. 24 00:01:09,000 --> 00:01:15,000 Ir taip, tada mes ketiname padengti 2 didesnių pavyzdžius įvairių apps, jūs galite padaryti. 25 00:01:15,000 --> 00:01:19,000 Objective-C yra techniškai tai, kas vadinama super rinkinys C 26 00:01:19,000 --> 00:01:24,000 Tai reiškia, kad bet koks C kodas, taip pat galioja ir Objective-C kodas. 27 00:01:24,000 --> 00:01:29,000 Tai reiškia, kad mes tipo ortakio šeimininku dėl kai kurių papildomų funkcijų,-C 28 00:01:29,000 --> 00:01:33,000 Kai kurie iš šių funkcijų apima ne kada nors vėl rašyti malloc, ačiū Dievui, 29 00:01:33,000 --> 00:01:36,000 ne nerimauti apie tas kvailas rodyklės ir išlaisvinant juos ir visi, kad kita 30 00:01:36,000 --> 00:01:40,000 jums nekentė apie C, o tai tipo dingo Objective-C. 31 00:01:40,000 --> 00:01:43,000 >> Dabar, Objective-C taip pat turi daug didesnį standartinėje bibliotekoje, 32 00:01:43,000 --> 00:01:47,000 todėl yra daug daugiau funkcijų, jūs gaunate už laisvą viduje Objective-C. 33 00:01:47,000 --> 00:01:50,000 Prisiminkite, kai mes buvo raštu PHP pastebėjome, kad išėjo iš 34 00:01:50,000 --> 00:01:54,000 tai mažiausias kalbos į milžinišką biblioteką visų šių crazy dalykų, kuriuos galite padaryti. 35 00:01:54,000 --> 00:01:56,000 Tas pats atsitinka iOS. 36 00:01:56,000 --> 00:01:59,000 Objektai dalykų, pavyzdžiui, budistų kalendorių, ir tikrai nieko 37 00:01:59,000 --> 00:02:05,000 galbūt galite galvoti tikriausiai jau egzistuoja Objective-C įgyvendinimo. 38 00:02:05,000 --> 00:02:08,000 Tikslas Objective-C nuorodas kažką 39 00:02:08,000 --> 00:02:11,000 vadinamas Objektinis programavimas. 40 00:02:11,000 --> 00:02:14,000 Tai tipo nauja koncepcija, bet mes iš tikrųjų daugiausia išmoko 41 00:02:14,000 --> 00:02:17,000 daug jau šių sąvokų. 42 00:02:17,000 --> 00:02:19,000 Už Objektinis programavimas idėja yra ta, kad jūs ketinate struktūrizuoti 43 00:02:19,000 --> 00:02:23,000 apie šiuos dalykus daug savo kodą vadinamas klases, 44 00:02:23,000 --> 00:02:26,000 ir šios klasės yra tikrai pašlovintas structs. 45 00:02:26,000 --> 00:02:30,000 Viduje iš struct iš esmės čia pasakyta, yra dalykas, 46 00:02:30,000 --> 00:02:32,000 ir tai, ką gali turėti narius. 47 00:02:32,000 --> 00:02:35,000 Pavyzdžiui, susietą sąrašo mazgas gali turėti kitų dalykų 48 00:02:35,000 --> 00:02:38,000 kaip vertės rodyklė į kitą mazgą sąraše, 49 00:02:38,000 --> 00:02:44,000 ir kartu, kad rodyklė ir ši vertė sudaro šį vieną egzempliorių tam struct. 50 00:02:44,000 --> 00:02:47,000 Klasės yra labai panašūs, išskyrus 51 00:02:47,000 --> 00:02:50,000 klasės taip pat gali turėti viduje jų funkcijas. 52 00:02:50,000 --> 00:02:54,000 Kai mes paskelbta struct, mes galime tik pasakyti, int n arba mazgas * Kitas. 53 00:02:54,000 --> 00:02:57,000 >> Dabar su Objective-C iš tiesų galime įdėti funkcijas 54 00:02:57,000 --> 00:02:59,000 viduje iš tų dalykų. 55 00:02:59,000 --> 00:03:03,000 Kitas dalykas, kad klasės gali padaryti jie gali paveldėti duomenis iš kitų klasių. 56 00:03:03,000 --> 00:03:07,000 Pavyzdžiui, mes žiūri built-in Objective-C klasių krūva. 57 00:03:07,000 --> 00:03:11,000 Vienas iš jų galėtų būti klasė, kuri atstovauja ekrano vaizdą, 58 00:03:11,000 --> 00:03:14,000 ir taip pasakyti, kad aš noriu įgyvendinti savo pačios nuomonę 59 00:03:14,000 --> 00:03:18,000 mes iš esmės pasakyti ką nors per Apple, turbūt tikrai nice people, 60 00:03:18,000 --> 00:03:21,000 parašė šią klasę, man ir rankenos dalykų, pavyzdžiui, rodyti mygtukus 61 00:03:21,000 --> 00:03:25,000 arba paverčiant ekraną, ir mes būtume tikrai skaudu 62 00:03:25,000 --> 00:03:28,000 įgyvendinti visus tą funkciją patys, ir taip tiesiog 63 00:03:28,000 --> 00:03:31,000 paveldi duomenimis galime pasakyti viską, kad tu toje klasėje 64 00:03:31,000 --> 00:03:34,000 Aš taip pat noriu viduje mano klasėje, ir tada aš ruošiuosi daryti kai kurių kitų dalykų, 65 00:03:34,000 --> 00:03:37,000 ty įgyvendinti programą. 66 00:03:37,000 --> 00:03:40,000 Štai ką reiškia, kad žodis paveldėjimas. Matysime konkretų pavyzdį. 67 00:03:40,000 --> 00:03:42,000 >> Ir, pagaliau, su Objektinis programavimas raktas yra tai, kad 68 00:03:42,000 --> 00:03:45,000 tai veda prie duomenų hermetizuoti. 69 00:03:45,000 --> 00:03:48,000 Kai mūsų problema rinkinių galėtume turėti šių didelių, globalių kintamųjų 70 00:03:48,000 --> 00:03:51,000 ir globals visur, ir tai, kaip mes norime sekti valstybei. 71 00:03:51,000 --> 00:03:55,000 Su klasėmis, mes galime pradėti sandarinimo informaciją viduje objekto. 72 00:03:55,000 --> 00:03:58,000 Jei mes turime vieną ekraną mūsų programą, mes tikrai ne reikia turėti visus duomenis iš 73 00:03:58,000 --> 00:04:01,000 kitą mūsų app viduje, ekranas, 74 00:04:01,000 --> 00:04:04,000 ir tt sandarinimo dalykų per klases, tai iš tiesų sukelia 75 00:04:04,000 --> 00:04:08,000 daug geriau kodų dizainas, ir tai yra įmanoma su kai kurių papildomų funkcijų, 76 00:04:08,000 --> 00:04:11,000 Objective-C. 77 00:04:11,000 --> 00:04:15,000 Forewarning, Objective-C sintaksė yra bananai. 78 00:04:15,000 --> 00:04:19,000 Ji yra lyg nieko mes matėme anksčiau, 79 00:04:19,000 --> 00:04:22,000 , todėl yra šiek tiek mokymosi kreivė priprasti prie 80 00:04:22,000 --> 00:04:24,000 , ką gi tai reiškia? 81 00:04:24,000 --> 00:04:27,000 Bet kai jūs gaunate praeityje, kad pradinis mokymosi kreivė tai tikrai, tikrai sklandžiai 82 00:04:27,000 --> 00:04:29,000 pradėti rašyti programas. 83 00:04:29,000 --> 00:04:33,000 >> Paskelbti klasę, pasakyti, čia yra mano klasės, jis egzistuoja, 84 00:04:33,000 --> 00:04:35,000 o gal čia yra keletas dalykų, kad aš ruošiuosi nustatyti vėliau, 85 00:04:35,000 --> 00:04:38,000 Aš ruošiuosi pasakyti @ sąsają. 86 00:04:38,000 --> 00:04:41,000 Aš ruošiuosi pasakyti @ sąsają. Aš ruošiuosi duoti mano klasės pavadinimą. 87 00:04:41,000 --> 00:04:43,000 , O vėliau kažkur kitur aš ruošiuosi pasakyti @ pabaigą, 88 00:04:43,000 --> 00:04:46,000 ir viskas tarp @ sąsaja ir @ pabaigos 89 00:04:46,000 --> 00:04:48,000 bus mano klasės. 90 00:04:48,000 --> 00:04:51,000 Kad bus, kas viduje mūsų h failus. 91 00:04:51,000 --> 00:04:55,000 Tiesiog kaip C H failai iš esmės čia pasakyta, yra keletas dalykų, kurie egzistuoja. 92 00:04:55,000 --> 00:04:57,000 Aš nebūtinai sakau, ką jie daro dar, 93 00:04:57,000 --> 00:04:59,000 bet kompiliatorius turi žinoti, kad jie egzistuoja. 94 00:04:59,000 --> 00:05:04,000 Vėliau viduje mūsų. M failus, nes m Objective-C 95 00:05:04,000 --> 00:05:08,000 yra, kai mes iš tikrųjų ketiname apibrėžti, kas yra šios klasės daryti. 96 00:05:08,000 --> 00:05:11,000 Panašiai kaip mūsų c failai, mes pateikėme prašymą funkcijų įgyvendinimą. 97 00:05:11,000 --> 00:05:15,000 Viduje mūsų m failą mes ketiname pasakyti, čia yra tai, ką visas funkcijas 98 00:05:15,000 --> 00:05:18,000 viduje mano klasės tai, ką jie visi padaryti. 99 00:05:18,000 --> 00:05:22,000 Ir, pagaliau, viduje yra struct galėtume pasakyti viduje tų klamrami 100 00:05:22,000 --> 00:05:25,000 int n arba mazgas * Kitas 101 00:05:25,000 --> 00:05:28,000 ir Objective-C mes ketiname Naudokite raktažodžių @ turtą, 102 00:05:28,000 --> 00:05:31,000 ir tai yra tai, kas vyksta apibrėžti savybes, 103 00:05:31,000 --> 00:05:36,000 ar ne funkcijas, kurios yra mano klasės dalis. 104 00:05:36,000 --> 00:05:40,000 >> Skambinimo funkcijos Objective-C yra bananų. 105 00:05:40,000 --> 00:05:43,000 Kai mes paskelbė funkcijas C sakė kažką panašaus į int foo 106 00:05:43,000 --> 00:05:46,000 ir atviras skliaustas ir tada davė jam argumentų sąrašą. 107 00:05:46,000 --> 00:05:51,000 Tai ką nurodyti metodus arba funkcijas atrodo Objective-C. 108 00:05:51,000 --> 00:05:54,000 Jei aš noriu paskelbti funkciją ar metodą, 109 00:05:54,000 --> 00:05:58,000 kai aš sakau metodas yra tikrai tik funkcija, tai yra A klasės narys, 110 00:05:58,000 --> 00:06:01,000 todėl rūšies sukeisti, bet tikrai ne, 111 00:06:01,000 --> 00:06:03,000 viduje mano metodu aš noriu sukurti naują metodą. 112 00:06:03,000 --> 00:06:06,000 Ji ketina grįžti nieko, todėl ji ketina tipo tuštumos. 113 00:06:06,000 --> 00:06:08,000 Tai yra mano funkcijos grįžimo tipo. 114 00:06:08,000 --> 00:06:11,000 Dabar mes turime parens čia, nes aš nežinau. 115 00:06:11,000 --> 00:06:14,000 Kitas bus mano funkcijos pavadinimas, 116 00:06:14,000 --> 00:06:17,000 ir pagaliau mes turime kabliataškį kaip ir mes turėjome C 117 00:06:17,000 --> 00:06:19,000 Kas naujo čia yra čia šis vaikinas. 118 00:06:19,000 --> 00:06:22,000 Tai brūkšnelis yra iš tikrųjų reikia, ir ką tai sako, kad 119 00:06:22,000 --> 00:06:26,000 šis metodas turi būti vadinamas klasės pavyzdžiui. 120 00:06:26,000 --> 00:06:29,000 >> Po to, kai deklaravo savo structs mes tikriausiai sakė kažką panašaus 121 00:06:29,000 --> 00:06:32,000 Struct mazgas n, ir kad iš tikrųjų sukūrė 122 00:06:32,000 --> 00:06:35,000 arba instantiated vieną iš šių structs, kad aš iš tikrųjų galėtų pradėti dirbti 123 00:06:35,000 --> 00:06:38,000 su tuo, kas viduje, todėl tai brūkšnys reiškia, kad mes turime 124 00:06:38,000 --> 00:06:41,000 instancija klasės, kaip mes instantiated, kad struct 125 00:06:41,000 --> 00:06:43,000 galime vadinti šį metodą. 126 00:06:43,000 --> 00:06:46,000 Jei aš noriu pradėti pridedant argumentus mano metodus 127 00:06:46,000 --> 00:06:48,000 jis gauna dar daugiau bananų. 128 00:06:48,000 --> 00:06:50,000 Štai mano metodo pavadinimas. 129 00:06:50,000 --> 00:06:53,000 Tada aš ruošiuosi turėti dvitaškis, ir po šio dvitaškio ji sako, čia ateina kai kuriuos argumentus. 130 00:06:53,000 --> 00:06:56,000 Šis metodas atsižvelgia vieno argumento. 131 00:06:56,000 --> 00:06:59,000 Savo argumentą tipas int, ir šio argumento pavadinimas 132 00:06:59,000 --> 00:07:03,000 arba kintamasis, kad aš ruošiuosi pradėti naudoti viduje metodo yra vadinamas i. 133 00:07:03,000 --> 00:07:05,000 Vėlgi, tai yra metodas. Tai užtrunka vieną argumentą. 134 00:07:05,000 --> 00:07:10,000 >> Jei norite pradėti pridedant daugiau argumentų jis gauna daugiau bananų 135 00:07:10,000 --> 00:07:13,000 , kad mes šį dvitaškis, kad sako, kad čia ateina mano argumentų sąrašą. 136 00:07:13,000 --> 00:07:15,000 Tai pirmasis argumentas yra sveikasis skaičius. 137 00:07:15,000 --> 00:07:17,000 Dabar, šis antrasis argumentas yra įdomi. 138 00:07:17,000 --> 00:07:20,000 Kintamasis, kad aš ketinate naudoti viduje mano funkcija 139 00:07:20,000 --> 00:07:23,000 vadinamas f, viduje mano funkcija galėčiau pasakyti 140 00:07:23,000 --> 00:07:25,000 f + = 1 ar kažką. 141 00:07:25,000 --> 00:07:30,000 Čia yra tai, ką iš esmės šį argumentą ar veiksnio raktas. 142 00:07:30,000 --> 00:07:34,000 Kaip mes turėjome rakto reikšmė porų ir kažkas panašaus į JSON ar Association masyvai 143 00:07:34,000 --> 00:07:37,000 Objective-C priėmė sprendimą pasakyti, gerai, tik todėl, kad tai tikrai aišku, 144 00:07:37,000 --> 00:07:39,000 kai skambinate metodą, ką visi šie parametrai yra 145 00:07:39,000 --> 00:07:41,000 Aš iš tikrųjų ketiname pavadinti juos visus. 146 00:07:41,000 --> 00:07:45,000 Kai Jūs skambinate metodą, jūs iš tikrųjų pasakyti andFloat, 147 00:07:45,000 --> 00:07:47,000 ir tada jums perduoti jį. 148 00:07:47,000 --> 00:07:50,000 >> Įdomu, kad tai vienas nepavadino, bet visi kiti parametrai yra 149 00:07:50,000 --> 00:07:53,000 , todėl, jei mes turėjo 3. argumentą galėčiau pasakyti andFloat 150 00:07:53,000 --> 00:07:56,000 ir kitas plūdės ir pan. 151 00:07:56,000 --> 00:08:01,000 Kai aš vadinu šią metodiką, pirmiausia, žinoma, bananų, 152 00:08:01,000 --> 00:08:04,000 todėl, jei aš turėti tokį tikslą, ir aš nustatė metodą, vadinamą foo, 153 00:08:04,000 --> 00:08:09,000 ir aš noriu jį pavadinti, o ne sako foo atidaryti / uždaryti parens 154 00:08:09,000 --> 00:08:11,000 Aš ruošiuosi atidaryti laikiklį. 155 00:08:11,000 --> 00:08:13,000 Štai mano metodo pavadinimas. 156 00:08:13,000 --> 00:08:17,000 Aš ruošiuosi uždaryti kronšteiną, ir tai vadinu jį ant objektas. 157 00:08:17,000 --> 00:08:20,000 Atminkite, kad visus šiuos metodus egzistuoja klasių 158 00:08:20,000 --> 00:08:23,000 nes klasės gali turėti metodus, apibrėžtus jų viduje. 159 00:08:23,000 --> 00:08:26,000 >> Čia aš savavališkai tam tikros klasės objektą, 160 00:08:26,000 --> 00:08:28,000 ir tai yra už tai, kad sintaksė. 161 00:08:28,000 --> 00:08:31,000 Yra 2 žingsniai kuriant objektą. 162 00:08:31,000 --> 00:08:34,000 Pirmasis žingsnis yra pasakyti, aš noriu skirti vietos. 163 00:08:34,000 --> 00:08:37,000 Tai lygiavertė malloc. Mes neturime pasakyti malloc nebėra. 164 00:08:37,000 --> 00:08:42,000 Mes sumažėjo m, padarė jį ALLOC ir pakeitė c. M. 165 00:08:42,000 --> 00:08:47,000 Po to, kai mes ALLOC kažką mes tada reikia inicijuoti. 166 00:08:47,000 --> 00:08:49,000 Iš esmės, kai jums sukurti objektus, kuriuos galbūt norėsite turėti tam tikrą logiką 167 00:08:49,000 --> 00:08:53,000 kad atlieka, kai jie sukūrė, todėl jūs galite perduoti kai kurias numatytąsias vertes 168 00:08:53,000 --> 00:08:57,000 ar kažkas panašaus, ir todėl ši paleidimo metodas yra tai, ką iš tikrųjų sukuria objektą. 169 00:08:57,000 --> 00:08:59,000 Mes pirmą kartą skirti vietos, tiesiog, kaip mes padarėme, C, 170 00:08:59,000 --> 00:09:04,000 ir tada mes inicijuoti, kurios gali arba negali daryti visai daug. 171 00:09:04,000 --> 00:09:07,000 Tada mes grąžinti tai, ką į objektą, o. 172 00:09:07,000 --> 00:09:09,000 Yra žvaigždė čia, nes tai yra techniškai rodyklė, 173 00:09:09,000 --> 00:09:12,000 bet nesijaudinkite, rodykles, kad didelis Objective-C spręsti nebėra. 174 00:09:12,000 --> 00:09:15,000 >> Dabar mes instantiated šią klasę, vadinamą NSObject, 175 00:09:15,000 --> 00:09:19,000 ir tai tik atsitiktinai klasės, kad "Apple". 176 00:09:19,000 --> 00:09:22,000 Mes instantiated, ir dabar aš turiu šios klasės egzempliorių 177 00:09:22,000 --> 00:09:25,000 Šiame objekte o, taigi tai reiškia, kad jei aš apibrėžta 178 00:09:25,000 --> 00:09:29,000 šie metodai gali jiems skambinti, kaip šis. 179 00:09:29,000 --> 00:09:31,000 Be to, jei aš norėjau skambinti metodą naudojant vieną argumentą, 180 00:09:31,000 --> 00:09:34,000 todėl tai yra baras metodas, kad mano vieną argumentą, 181 00:09:34,000 --> 00:09:38,000 ir čia yra Baz: qux metodas, todėl tai trunka 2 argumentus. 182 00:09:38,000 --> 00:09:44,000 Tai paskambinus vieną funkciją dėl šio objekto o. 183 00:09:44,000 --> 00:09:46,000 Prasminga? 184 00:09:46,000 --> 00:09:50,000 Sintaksė turi prasmės, bet jūs rūšies priprasti prie jo. 185 00:09:50,000 --> 00:09:54,000 >> Gerai, pakalbėkime apie keletą dalykų, kad yra pastatytas į Objective-C 186 00:09:54,000 --> 00:09:56,000 kad nebūtinai buvo pastatyta į C. 187 00:09:56,000 --> 00:09:59,000 Mes tipo, C teko susidurti su stygos, kaip šių kvailas simbolių masyvai, 188 00:09:59,000 --> 00:10:01,000 ir ji gavo tikrai erzina. 189 00:10:01,000 --> 00:10:04,000 Objective-C yra tie visi pastatytas mums, ir jis pastatytas 190 00:10:04,000 --> 00:10:06,000 naudojant šią klasę, vadinamą NSString. 191 00:10:06,000 --> 00:10:10,000 Kai aš noriu sukurti NSString turime daugiau paslaptingų sintaksę. 192 00:10:10,000 --> 00:10:15,000 O kaip sakydamas "CS50" Mes sakome @ "CS50" 193 00:10:15,000 --> 00:10:17,000 ir tai tik deklaruojant Objective-C eilutes sintaksė. 194 00:10:17,000 --> 00:10:21,000 Tai labai lengva pamiršti, kad ne. 195 00:10:21,000 --> 00:10:24,000 Dabar, kai aš turėti tai, tai yra ženklų, bet pastebėsite, 196 00:10:24,000 --> 00:10:26,000 tai tikrai tik daiktas. 197 00:10:26,000 --> 00:10:30,000 Aš sakė NSString, o tai reiškia, aš instantiated klasę 198 00:10:30,000 --> 00:10:32,000 vadinamas NSString, kažkas rašė man, 199 00:10:32,000 --> 00:10:35,000 ir jie buvo labai gražus ir apie tai, todėl dabar 200 00:10:35,000 --> 00:10:37,000 Galiu pradėti skambinti ant jo metodus. 201 00:10:37,000 --> 00:10:40,000 Jei aš vadinu metodas ilgį šis objektas 202 00:10:40,000 --> 00:10:43,000 jis ketina grįžti į mane eilutės ilgį. 203 00:10:43,000 --> 00:10:45,000 Tai kaip strlen C. 204 00:10:45,000 --> 00:10:47,000 Tai sugrįš 4. 205 00:10:47,000 --> 00:10:51,000 >> Be to, dar vienas metodas, aš noriu rūpintis šį characterAtIndex. 206 00:10:51,000 --> 00:10:54,000 Tai metodas, kad sako, kad ši eilutė 207 00:10:54,000 --> 00:10:57,000 Aš noriu, kad jūs nulinis pobūdžio, 208 00:10:57,000 --> 00:10:59,000 ir todėl tai būtų grįžti į mane pobūdis c, 209 00:10:59,000 --> 00:11:02,000 ir ten visa krūva daugiau iš šių būdų, kad jūs galite "Google" tikrai lengvai. 210 00:11:02,000 --> 00:11:07,000 Apple dokumentacija yra puikus, ir mes priimsime, kad atrodo šiek tiek. 211 00:11:07,000 --> 00:11:09,000 Tie, kurie stygos. 212 00:11:09,000 --> 00:11:11,000 Mes taip pat turime įvairių dydžių matricos pastatyta in 213 00:11:11,000 --> 00:11:13,000 Prisiminti mane C, kai mes paskelbė masyvą 214 00:11:13,000 --> 00:11:16,000 mes turėjome pasakyti, jūs turite 5 elementų, galutinius istorija. 215 00:11:16,000 --> 00:11:18,000 Kai mes turime JavaScript ir PHP galėtume pradėti 216 00:11:18,000 --> 00:11:20,000 daryti dalykus, kaip pridėti elementus ar judančiomis dalimis. 217 00:11:20,000 --> 00:11:22,000 Mes galime padaryti tą patį, Objective-C. 218 00:11:22,000 --> 00:11:26,000 O ne kurti įprastu C būdu masyvo 219 00:11:26,000 --> 00:11:30,000 mes vėl kitą klasė vadinama NSMutableArray. 220 00:11:30,000 --> 00:11:33,000 Yra taip pat NSArray 221 00:11:33,000 --> 00:11:35,000 ir tai vyksta iš esmės hermetyzacji šiek masyvo. 222 00:11:35,000 --> 00:11:38,000 Tai sako, kad pirmas dalykas, kurį norite padaryti yra, aš noriu skirti 223 00:11:38,000 --> 00:11:41,000 naujas daugybę vietos, ir po to, kai aš paskirstyti jį 224 00:11:41,000 --> 00:11:43,000 Aš tada reikia inicijuoti. 225 00:11:43,000 --> 00:11:45,000 Vėlgi, tiesiog paskambinus Šie 2 metodai. 226 00:11:45,000 --> 00:11:48,000 Dabar tai reiškia, kad šio objekto vidų 227 00:11:48,000 --> 00:11:50,000 Aš tuščias masyvas sėdi ten. 228 00:11:50,000 --> 00:11:54,000 Jei aš noriu pridėti ką nors į šio masyvo, galiu skambinti addObject metodą. 229 00:11:54,000 --> 00:11:59,000 Noriu pridėti objektą masyvo a, ir aš noriu pridėti eilutę CS50. 230 00:11:59,000 --> 00:12:02,000 Jei aš norėjau atvirkščiai pašalinti, kad aš galiu pasakyti, aš noriu 231 00:12:02,000 --> 00:12:09,000 per pirmąjį masyvo vietoje pašalinti objektą ar užginčyti. 232 00:12:09,000 --> 00:12:11,000 >> Prasminga? 233 00:12:11,000 --> 00:12:14,000 Gerai, jūs rūšies priprasti prie šioje aikštėje kronšteino dalykas. 234 00:12:14,000 --> 00:12:18,000 Beje, viduje daug Apple bibliotekų matysite šią NS. 235 00:12:18,000 --> 00:12:21,000 NS iš tikrųjų reiškia kitą žingsnį, kuris buvo vienas iš Steve Jobs pirmoji bendrovių, 236 00:12:21,000 --> 00:12:24,000 ir tai, kur jis tikrai pradėjau rašyti daug kodo 237 00:12:24,000 --> 00:12:27,000 Mac OS X ir visų kitų dalykų, kaip rūšies, 238 00:12:27,000 --> 00:12:32,000 ir todėl ši N rūšies šis gražus palikimo šaukti į vieną iš ankstesnių bendrovių 239 00:12:32,000 --> 00:12:34,000 atgal, kai "Apple" buvo pirmą kartą pradedate. 240 00:12:34,000 --> 00:12:36,000 Jis yra visur. 241 00:12:36,000 --> 00:12:41,000 Paimkime labiau holistinio Objective-C pavyzdys išvaizdą. 242 00:12:41,000 --> 00:12:44,000 Čia aš esu viduje Xcode. 243 00:12:44,000 --> 00:12:47,000 Nuvykti, aš pirmą kartą atsisiųsti Xcode iš App Store, 244 00:12:47,000 --> 00:12:50,000 atidarė jį, ir tada nuėjau į failą, 245 00:12:50,000 --> 00:12:54,000 čia į Naujas, tada projekto. 246 00:12:54,000 --> 00:12:57,000 Po to, kai aš padaryti, kad aš turiu visus šiuos variantus, ką aš noriu sukurti, 247 00:12:57,000 --> 00:12:59,000 ir taip mes priimsime vėliau už šių variantų atrodo, 248 00:12:59,000 --> 00:13:03,000 bet tik šiame pavyzdyje, nes mes ne iš tikrųjų turėti programą dar, 249 00:13:03,000 --> 00:13:06,000 Aš atėjau čia, ir aš sakė, komandinės eilutės įrankis, 250 00:13:06,000 --> 00:13:09,000 ir tai yra app, kad galėčiau paleisti į komandų eilutę 251 00:13:09,000 --> 00:13:12,000 kaip mes jau veikia nuo C 252 00:13:12,000 --> 00:13:16,000 Štai kaip aš sukūriau šį projektą, ir todėl dabar aš čia, 253 00:13:16,000 --> 00:13:20,000 taip, tegul pirmas pažvelgti į šį failą, ir tai turėtų atrodyti gana susipažinęs. 254 00:13:20,000 --> 00:13:24,000 Turiu int vardą. Yra mano draugas argc, kiti mano bičiulis argv. 255 00:13:24,000 --> 00:13:30,000 Ir todėl mes galime pamatyti, kad tai mano pirmasis Objective-C yra pradinis taškas. 256 00:13:30,000 --> 00:13:32,000 Čia mes galime nekreipti dėmesio į šį dabar. 257 00:13:32,000 --> 00:13:35,000 Tai iš esmės kai atminties valdymas stuff, kad jums nebus tikrai 258 00:13:35,000 --> 00:13:37,000 kada nors nerimauti. 259 00:13:37,000 --> 00:13:39,000 >> Leiskite pažvelgti į šio pirmojo bloko. 260 00:13:39,000 --> 00:13:46,000 Pirmoji eilutė, jei aš sakau, Studentų * Alice = [[Studentų ALLOC] init] kas tai daro? 261 00:13:46,000 --> 00:13:50,000 Tai pirmasis studentas, tai turbūt klasė. 262 00:13:50,000 --> 00:13:54,000 Tai ne klasės, kad "Apple" rašė, bet tai, kad aš parašiau klasė. 263 00:13:54,000 --> 00:13:57,000 Pirmas dalykas, kurį norite padaryti yra, noriu skirti vietos naują mokinę, 264 00:13:57,000 --> 00:14:00,000 ir tada aš noriu to initialize, todėl tai suteikia man atgal 265 00:14:00,000 --> 00:14:05,000 šis naujas studentas objektas, aš saugoti tai kintamojo pavadinimu Alisa. 266 00:14:05,000 --> 00:14:07,000 Kur, kad klasė atėjai? 267 00:14:07,000 --> 00:14:12,000 Na, čia kairėje pusėje jie visi skirtingų failus viduje mano projekto. 268 00:14:12,000 --> 00:14:16,000 Mes galime pamatyti čia turiu Student.h ir Student.m. 269 00:14:16,000 --> 00:14:20,000 H failas, prisiminti, kur aš paskelbti visų dalykų 270 00:14:20,000 --> 00:14:22,000 kad egzistuoja šio klasėje. 271 00:14:22,000 --> 00:14:25,000 >> Paimkime Tuo išvaizdą. 272 00:14:25,000 --> 00:14:29,000 Viskas gerai, čia mes turime šį @ sąsaja, ir tai sako, kad čia ateina 273 00:14:29,000 --> 00:14:33,000 viskas, kas egzistuoja mano klasės deklaracijos. 274 00:14:33,000 --> 00:14:36,000 Tada aš turiu dvitaškis. Tada aš turiu šį NSObject dalykas. 275 00:14:36,000 --> 00:14:40,000 Šis dvitaškis reiškia, kad paveldėjimo tiek svarstėme šiek tiek anksčiau. 276 00:14:40,000 --> 00:14:43,000 Tai sako viskas NSObject gali padaryti 277 00:14:43,000 --> 00:14:46,000 kur NSObject tai kam nors kitam ", parašytas klasė, 278 00:14:46,000 --> 00:14:50,000 viskas šis NSObject galite padaryti, aš noriu, kad būtų galima padaryti, kad. 279 00:14:50,000 --> 00:14:54,000 , Sakydamas: NSObject, tai reiškia, kad aš iš esmės 280 00:14:54,000 --> 00:14:58,000 paveldėjo iš kitos klasės funkcionalumą. 281 00:14:58,000 --> 00:15:02,000 Kad tikrai davė man visa krūva skirtingų metodų ir savybių, kad aš galiu naudoti. 282 00:15:02,000 --> 00:15:05,000 Žemyn čia aš 2 nekilnojamąjį turtą. 283 00:15:05,000 --> 00:15:08,000 Tai reiškia, kad mano studentas, jei tai buvo struct, tai būtų 2 dalykų 284 00:15:08,000 --> 00:15:11,000 viduje mano struct, todėl kiekvienas studentas turi pavadinimą 285 00:15:11,000 --> 00:15:14,000 kad yra ženklų, ir studentas taip pat turi klasę, 286 00:15:14,000 --> 00:15:17,000 kuris yra int. 287 00:15:17,000 --> 00:15:23,000 >> Galiausiai, žemyn čia aš ruošiuosi sukurti metodą mano studentas. 288 00:15:23,000 --> 00:15:26,000 Aš pašaukiau mano metodas, initWithName, ir tai trunka vieną argumentą, 289 00:15:26,000 --> 00:15:31,000 ir šis argumentas yra eilutės, ir aš jį pavadinti. 290 00:15:31,000 --> 00:15:35,000 Dabar pažiūrėkime, kaip mes iš tikrųjų įgyvendinti šią klasę. 291 00:15:35,000 --> 00:15:38,000 Štai, dabar aš viduje mano M failo, 292 00:15:38,000 --> 00:15:40,000 m įgyvendinimui, I guess. 293 00:15:40,000 --> 00:15:44,000 Turiu savo įgyvendinimą, mano pabaiga, ir čia yra, kur aš iš tikrųjų apibrėžti 294 00:15:44,000 --> 00:15:47,000 ką initWithName. 295 00:15:47,000 --> 00:15:50,000 Turiu initWithName, mano parametro pavadinimą, o tada šį 296 00:15:50,000 --> 00:15:53,000 kur aš iš tikrųjų sukurti į studentą, 297 00:15:53,000 --> 00:15:56,000 ir todėl tai yra šiek tiek paslaptingas, bet tai yra rūšies Standartiniai 298 00:15:56,000 --> 00:15:58,000 , kad norite įtraukti į savo konstruktorių. 299 00:15:58,000 --> 00:16:02,000 Tai iniciacijos funkcija čia, initWithName, konstruktorius tipas. 300 00:16:02,000 --> 00:16:05,000 Jūs iš esmės statant naują studentų objektą 301 00:16:05,000 --> 00:16:07,000 o gal ir išsiųsti kai kurių jame esantys duomenys. 302 00:16:07,000 --> 00:16:11,000 Pirmas dalykas, kurį norite padaryti, noriu paskambinti init šio super dalykas. 303 00:16:11,000 --> 00:16:15,000 >> Atminkite, kad kai aš sakiau čia H failo 304 00:16:15,000 --> 00:16:21,000 kad viskas NSObject studentas taip pat turi. 305 00:16:21,000 --> 00:16:24,000 Tai reiškia, kad, kai aš sukurti studentas, ką aš taip pat reikia padaryti yra 306 00:16:24,000 --> 00:16:28,000 įsitikinkite, kad NSObject, kad aš paveldi visus tuos duomenis 307 00:16:28,000 --> 00:16:32,000 taip pat inicijuoti tinkamai. 308 00:16:32,000 --> 00:16:36,000 Tai, ką aš turiu pasakyti, tai super iš tikrųjų ketiname kreiptis į patronuojančios klasės 309 00:16:36,000 --> 00:16:39,000 kad aš paveldi iš, todėl noriu įsitikinti, kad aš inicijuoti 310 00:16:39,000 --> 00:16:43,000 viskas, kad aš priklausomai nuo to, kol aš pradėti bando jį naudoti. 311 00:16:43,000 --> 00:16:46,000 Tada, jei, kad inicijuoti teisingai tai tik tarsi sakydamas, jei malloc 312 00:16:46,000 --> 00:16:50,000 negrįžo null, tada aš galiu pradėti nustatyti kai kurių savybių. 313 00:16:50,000 --> 00:16:54,000 >> JavaScript ir PHP, šis raktinis žodis pavadino tai, 314 00:16:54,000 --> 00:16:58,000 ir tai į dabartinę instancijos klasės. 315 00:16:58,000 --> 00:17:00,000 Objective-C, mes vadiname save. 316 00:17:00,000 --> 00:17:04,000 Kai aš sakau, self.name, tai reiškia, kad objektas 317 00:17:04,000 --> 00:17:07,000 Aš ką tik sukūriau, kai pasakiau, studentas ALLOC init, 318 00:17:07,000 --> 00:17:09,000 kad manimi vyksta, duok man objektą. 319 00:17:09,000 --> 00:17:12,000 Tai reiškia, kad aš noriu nustatyti to objekto pavadinimą 320 00:17:12,000 --> 00:17:15,000 ką aš ką tik praėjo. 321 00:17:15,000 --> 00:17:18,000 Tiesiog patinka, C, mes naudotis narius su šiuo tašku, 322 00:17:18,000 --> 00:17:21,000 taip self.name sako studentų objekto pavadinimas 323 00:17:21,000 --> 00:17:24,000 dabar bus, ką jūs ką tik praėjo. 324 00:17:24,000 --> 00:17:28,000 Ir taip pagaliau, aš galiu jį grąžinti, todėl aš iš tikrųjų gauti kažką atgal. 325 00:17:28,000 --> 00:17:30,000 >> Turite klausimų? 326 00:17:30,000 --> 00:17:34,000 Gerai, kad tai savarankiškai = super init, 327 00:17:34,000 --> 00:17:37,000 jei jūs neturite visiškai suprasti paveldėjimo stuff nesijaudinkite. 328 00:17:37,000 --> 00:17:40,000 Tiesiog žinau, kad jei kada nors norėsite padaryti savo init metodą 329 00:17:40,000 --> 00:17:42,000 tai padaryti, ir jums bus gera eiti. 330 00:17:42,000 --> 00:17:44,000 Taip. >> [Studentų] Ką reiškia, jei savarankiškai reiškia? 331 00:17:44,000 --> 00:17:49,000 Tai reiškia, kad, kai mes malloc kažką, mes visada patikrinti, jei jis buvo lygus NULL, 332 00:17:49,000 --> 00:17:51,000 ir jei ji buvo nulis, tada mes išėjo. 333 00:17:51,000 --> 00:17:55,000 Tai yra tas pats dalykas, nes jei tai grąžina NULL, tada mes tikriausiai bus seg kaltės 334 00:17:55,000 --> 00:17:57,000 jei mes pradėsime bando manipuliuoti. 335 00:17:57,000 --> 00:18:01,000 Štai mūsų studentė klasė. 336 00:18:01,000 --> 00:18:03,000 Tai reiškia, kad mes galime inicijuoti mūsų studentus į vieną iš dviejų būdų. 337 00:18:03,000 --> 00:18:08,000 Jei aš sakau, studentas ALLOC init aš ne naudojant šį metodą, kad aš tiesiog rašė, 338 00:18:08,000 --> 00:18:11,000 ir vietoj to, galiu tiesiog pasakyti alice.name, 339 00:18:11,000 --> 00:18:14,000 ir dabar aš ketina nustatyti, kad nekilnojamojo turto pavadinimą. 340 00:18:14,000 --> 00:18:17,000 >> Be to, jei aš noriu naudoti šią initWithName metodą 341 00:18:17,000 --> 00:18:20,000 Galiu tiesiog pasakyti ALLOC ir tada, o ne sakydamas, init 342 00:18:20,000 --> 00:18:24,000 Aš ruošiuosi skambinti šį metodą, kad aš ką tik sukūrėte, ir aš ruošiuosi važiuoti, Bob. 343 00:18:24,000 --> 00:18:30,000 Šiuo metu šis objektas Bobas turi pavadinimą, vienodą Bob. 344 00:18:30,000 --> 00:18:35,000 Gerai, nustatantis čia aš naudoti, kad NSMutableArray, kad mes žiūrėjome anksčiau. 345 00:18:35,000 --> 00:18:38,000 Aš skiriant space.Then aš Inicijuojama naują masyvą. 346 00:18:38,000 --> 00:18:40,000 Aš ruošiuosi pridėti 2 dalykus. 347 00:18:40,000 --> 00:18:43,000 Šis masyvas turi studentų objektus. 348 00:18:43,000 --> 00:18:46,000 Atkreipkite dėmesį, kad niekur aš turiu pasakyti, tai studentų masyvo. 349 00:18:46,000 --> 00:18:48,000 Aš sakė, kad tai masyvas, laikotarpis. 350 00:18:48,000 --> 00:18:50,000 Tada aš galiu įdėti, bet viduje ji, kad aš noriu. 351 00:18:50,000 --> 00:18:52,000 Čia aš turiu 2 objektus. 352 00:18:52,000 --> 00:18:56,000 >> Galiausiai, turiu kitą objektą, TF. 353 00:18:56,000 --> 00:18:59,000 Daugiau nei čia TF.h iš esmės tas pats. 354 00:18:59,000 --> 00:19:01,000 Aš paveldi iš NSObject, ir beje, 355 00:19:01,000 --> 00:19:03,000 kai kuriate klases visa tai padaryta už jus, 356 00:19:03,000 --> 00:19:06,000 tokios sąsajos Standartiniai. 357 00:19:06,000 --> 00:19:08,000 Jis turi turtą studentų. 358 00:19:08,000 --> 00:19:15,000 Turiu pora būdų, kad čia tikrai ne tai yra daug, 359 00:19:15,000 --> 00:19:18,000 ir taip, tai reiškia, kad po to, kai aš sukurti šį TF objektą 360 00:19:18,000 --> 00:19:23,000 Šį metodą balą aš galiu paskambinti, kaip šis. 361 00:19:23,000 --> 00:19:26,000 Bet kokie klausimai Objective-C sintaksę, kol mes pradėti judėti į šiek tiek daugiau 362 00:19:26,000 --> 00:19:30,000 įdomus Apps plėtra stuff? 363 00:19:30,000 --> 00:19:34,000 >> Gerai, kad galime realiai padaryti iPhone app. 364 00:19:34,000 --> 00:19:39,000 Pagrindinių klasių, kad jūs naudojate viduje jūsų "iPhone app yra vadinamas vaizdo valdikliai, 365 00:19:39,000 --> 00:19:42,000 ir vaizdas valdytojas iš esmės atstovauja vieną ekraną 366 00:19:42,000 --> 00:19:46,000 viduje jūsų app, todėl, jei aš esu muzikos app, pavyzdžiui, 367 00:19:46,000 --> 00:19:50,000 vienas mano valdytojas galėtų reikšti nuomonės, galiu peržiūrėti visas dainas mano iPhone. 368 00:19:50,000 --> 00:19:53,000 Kitas požiūris valdytojas gali būti, kai aš spustelėkite dainą ir pradėti žaisti 369 00:19:53,000 --> 00:19:55,000 arba kaip aš įsigilinę į menininkų. 370 00:19:55,000 --> 00:19:59,000 Kiekviena iš šių skirtingų ekranų gali būti atstovaujama kaip kitą vaizdo valdiklio, 371 00:19:59,000 --> 00:20:04,000 ir vaizdo valdiklis yra tikrai tik klasės, kuris sako, kaip šis ekranas veikia. 372 00:20:04,000 --> 00:20:07,000 Daiktai iš vaizdo valdiklio viduje, mes ketiname turėti savybes, 373 00:20:07,000 --> 00:20:10,000 dalykų, pavyzdžiui, vienu mygtuko bus mūsų manymu, kontrolierius nuosavybė. 374 00:20:10,000 --> 00:20:13,000 >> Mes taip pat ketiname turėti metodus, ir tai yra iš esmės turėklai įvykių. 375 00:20:13,000 --> 00:20:16,000 Šis metodas sako, kad kai paspausite šį mygtuką, 376 00:20:16,000 --> 00:20:19,000 Aš noriu kažką daryti, ir pagaliau, vėl 377 00:20:19,000 --> 00:20:24,000 mes ketiname naudoti šį savęs raktinį žodį ir atidarykite esamą egzempliorių. 378 00:20:24,000 --> 00:20:29,000 Sukurti sąsajas iOS yra iš tikrųjų tikrai, tikrai lengva. 379 00:20:29,000 --> 00:20:32,000 Jie tai gražus vilkite ir upuść sąsaja, kuri vadinama Interface Builder, 380 00:20:32,000 --> 00:20:37,000 ir 2 pagrindinės sąvokos, vielos iki jūsų Objective-C Interface Builder 381 00:20:37,000 --> 00:20:40,000 yra IBOutlet ir IBAction. 382 00:20:40,000 --> 00:20:44,000 IBOutlet tiesiog sako, kad jei deklaruoti turtą, kuris mygtukas 383 00:20:44,000 --> 00:20:47,000 ir norite jį prijungti prie kažką į patį UI, 384 00:20:47,000 --> 00:20:49,000 jūs ketinate pasakyti, kad tai anga. 385 00:20:49,000 --> 00:20:51,000 Panašiai, jei jūs norite atstovauti įvykio apdorojimo 386 00:20:51,000 --> 00:20:54,000 tada jūs ketinate pasakyti, kad tai veiksmų. 387 00:20:54,000 --> 00:20:57,000 >> Iš tikrųjų vielos šį grafinis 388 00:20:57,000 --> 00:21:00,000 ir savo kodą, tai tikrai, tikrai paprasta. 389 00:21:00,000 --> 00:21:03,000 , Jei norite pritvirtinti IBOutlet, viskas, ką jums reikia padaryti, yra jums kontroliuoti spustelėkite 390 00:21:03,000 --> 00:21:05,000 ir mes pamatyti, tai tikrai greitai pavyzdys. 391 00:21:05,000 --> 00:21:07,000 Jūs kontroliuojate spustelėkite ten, kur ji sako Peržiūrėti kontrolierius. 392 00:21:07,000 --> 00:21:09,000 Jūs ketinate vilkti į sąsają, arba atvirkščiai, 393 00:21:09,000 --> 00:21:13,000 jei norite Pajungti aptarnavimo įvykio, kurią jūs ketinate vilkti nuo sąsajos 394 00:21:13,000 --> 00:21:15,000 kita kryptimi. 395 00:21:15,000 --> 00:21:20,000 Paimkime tikrai paprasta iOS pavyzdžiui išvaizdą. 396 00:21:20,000 --> 00:21:23,000 >> Kurkime naują projektą. 397 00:21:23,000 --> 00:21:25,000 Aš ruošiuosi sugalvoti Čia taikymo, 398 00:21:25,000 --> 00:21:28,000 ir aš ruošiuosi viename rodinyje spustelėkite taikymas. 399 00:21:28,000 --> 00:21:31,000 Aš ruošiuosi spustelėkite Pirmyn. Aš duosiu mano projekto pavadinimą. 400 00:21:31,000 --> 00:21:33,000 Aš kviesiu Sveiki. 401 00:21:33,000 --> 00:21:36,000 Įdomu tai, kad "Apple neprisiima kuriate produktą 402 00:21:36,000 --> 00:21:38,000 , kad būtų galima jį parduoti, ir jie gali užsidirbti pinigų. 403 00:21:38,000 --> 00:21:41,000 Žemyn čia aš ruošiuosi pasakyti, kad tai yra "iPhone app. 404 00:21:41,000 --> 00:21:44,000 Galite sukurti iPad app, arba jei norite sukurti vieną iš šių aplikacijų 405 00:21:44,000 --> 00:21:47,000 , kuri palaiko abu prietaisai, kuriuos galite padaryti, kad per. 406 00:21:47,000 --> 00:21:49,000 Tai yra tai, ką norite, kad jūsų žyma pasirinkti atrodyti. 407 00:21:49,000 --> 00:21:51,000 >> Norite naudoti maketų, kuriuos pamatysite vėliau, 408 00:21:51,000 --> 00:21:54,000 ir jūs tikrai norite naudoti automatinio atskaitos skaičiavimo, 409 00:21:54,000 --> 00:21:58,000 kuris yra gražus bruožas, kuris neleidžia jums pasakyti malloc ir nemokamai. 410 00:21:58,000 --> 00:22:03,000 Nebent jūs norite paskambinti malloc ir nemokamai, aš norėčiau palikti šį Patikrintas 411 00:22:03,000 --> 00:22:07,000 Aš spustelėkite Pirmyn ir, galiausiai, tai vyksta paklausti manęs, kur aš noriu jį išsaugoti. 412 00:22:07,000 --> 00:22:14,000 Aš paspausti kurti, ir čia mes einame. 413 00:22:14,000 --> 00:22:16,000 Aš sukūriau naują projektą. 414 00:22:16,000 --> 00:22:19,000 Čionai kairėje yra visi failai, kurie yra viduje mano projekto, 415 00:22:19,000 --> 00:22:22,000 ir pastebėsite, kad aš turiu visa krūva, ir aš net nieko daryti. 416 00:22:22,000 --> 00:22:24,000 IOS yra puikus. 417 00:22:24,000 --> 00:22:27,000 >> Pavyzdžiui, čia ViewController.h, 418 00:22:27,000 --> 00:22:30,000 tai vyksta, kad atstovauti savo pirmo žvilgsnio valdiklį, 419 00:22:30,000 --> 00:22:32,000 todėl pirmame ekrane viduje mano app. 420 00:22:32,000 --> 00:22:34,000 Dabar mes žinome, ką tai sako. 421 00:22:34,000 --> 00:22:36,000 Mes sakome vadinu ši klasė ViewController 422 00:22:36,000 --> 00:22:40,000 ir ViewController daro viską, kad UIViewController, 423 00:22:40,000 --> 00:22:43,000 , o tai, vėlgi, yra kai kurios klasės, kad "Apple" rašė, kad mus veikia daug parankių daiktų 424 00:22:43,000 --> 00:22:46,000 norėtų rodyti ekrane. 425 00:22:46,000 --> 00:22:50,000 Čia yra, kur aš iš tikrųjų galėtų pradėti apibrėžiant ką mano nuomone kontrolierius daro, 426 00:22:50,000 --> 00:22:52,000 ir paaiškėja, kad man tikrai nereikia, bet tai. 427 00:22:52,000 --> 00:22:55,000 Tai Standartiniai kodas, kad "Apple" suteikia man nemokamai. 428 00:22:55,000 --> 00:22:59,000 Aš reikia, kad pirmoje eilutėje, ar aš neturiu klasę, 429 00:22:59,000 --> 00:23:02,000 todėl mes galime atsikratyti, kad ir atsikratyti šio. 430 00:23:02,000 --> 00:23:05,000 Gerai, kad tai yra mano tuščias ekranas. 431 00:23:05,000 --> 00:23:08,000 >> Dabar galime spustelėkite ant šios MainStoryboard.storyboard 432 00:23:08,000 --> 00:23:11,000 ir tai yra, kai jis pradeda gauti įdomus. 433 00:23:11,000 --> 00:23:14,000 Tai yra pirmasis ekranas ant mano app. 434 00:23:14,000 --> 00:23:17,000 Jei aš noriu pridėti mygtuką, HTML, man teko sukurti mygtuką žymeklį. 435 00:23:17,000 --> 00:23:20,000 "Android", turite sukurti mygtuką žymeklį, 436 00:23:20,000 --> 00:23:23,000 bet iOS, jei aš tiesiog nusileisti čia, apačioje, dešinėje pusėje 437 00:23:23,000 --> 00:23:27,000 ir jei aš spustelėkite šioje 3. vienas čia, kur ji sako, objektai, 438 00:23:27,000 --> 00:23:31,000 galite slinkti žemyn, ar galiu pradėti ieškoti mygtuko. 439 00:23:31,000 --> 00:23:35,000 Ir atrodo, mygtuką, todėl, jei aš iš tikrųjų vilkite ir upuść šią teisę, 440 00:23:35,000 --> 00:23:38,000 Aš ką tik pridėjo mygtuką į šį mano app ekrane. 441 00:23:38,000 --> 00:23:41,000 Jei aš noriu, norėdami pakeisti tekstą, galiu dukart jį spustelėkite, 442 00:23:41,000 --> 00:23:47,000 pasakyti ką nors viliojantis kaip "Paspauskite mane." 443 00:23:47,000 --> 00:23:51,000 Gerai, kad dabar, jei aš paleisti šią programą, todėl mes kaupia jį, 444 00:23:51,000 --> 00:23:54,000 taip, kad ją paleisti aš spustelėkite mygtuką viršutiniame kairiajame, o ten mano app. 445 00:23:54,000 --> 00:23:58,000 Aš nepadarė nieko, ir aš saldus ieškote iPhone app. 446 00:23:58,000 --> 00:24:01,000 Jei aš noriu, kad jį sustabdyti, jūs galite spustelėti stabdymo mygtuką 447 00:24:01,000 --> 00:24:03,000 , nes tai smagiau. 448 00:24:03,000 --> 00:24:07,000 >> Tarkime, kad aš iš tikrųjų nori ką nors atsitiks, kai aš paspauskite šį mygtuką. 449 00:24:07,000 --> 00:24:09,000 Jei norite padaryti, kad tai, ką man reikia daryti, man reikia sukurti 450 00:24:09,000 --> 00:24:13,000 naują įvykį prižiūrėtojas arba yra atliekamas veiksmas. 451 00:24:13,000 --> 00:24:16,000 Tai reiškia, kad man reikia sukurti tam tikrą metodą, kad aš noriu būti vadinamas 452 00:24:16,000 --> 00:24:18,000 kai aš paspauskite mygtuką, todėl galime sukurti naują metodą. 453 00:24:18,000 --> 00:24:20,000 Aš esu viduje ViewController.h. 454 00:24:20,000 --> 00:24:22,000 Aš turiu pasakyti, kad būdas yra. 455 00:24:22,000 --> 00:24:26,000 Man reikia brūkšnelis pirmąjį, nes aš ruošiuosi būti raginama ant vaizdo valdiklio. 456 00:24:26,000 --> 00:24:28,000 Turiu duoti tai tipo. 457 00:24:28,000 --> 00:24:31,000 Šio tipo bus kad IBAction dalykas, kad mes matėme anksčiau. 458 00:24:31,000 --> 00:24:35,000 Tai renginys prižiūrėtojas, todėl ji ketina grįžti IBAction 459 00:24:35,000 --> 00:24:38,000 ir tai yra užuomina į Xcode pasakyti, kad 460 00:24:38,000 --> 00:24:40,000 tai ką aš noriu pervesti kažką. 461 00:24:40,000 --> 00:24:45,000 Aš galiu duoti jam vardą, kaip buttonPressed, kabliataškiu. 462 00:24:45,000 --> 00:24:48,000 >> Dabar aš paskelbė naują metodą, viduje mano klasėje. 463 00:24:48,000 --> 00:24:50,000 Jau sakiau, šis metodas turi egzistuoti. 464 00:24:50,000 --> 00:24:53,000 Dabar galime ateiti į ViewController.m 465 00:24:53,000 --> 00:24:56,000 ir tarkim, ką šis metodas gali padaryti. 466 00:24:56,000 --> 00:25:03,000 Jei aš pradedu rašyti, pavyzdžiui, (tuščia) buttonPressed 467 00:25:03,000 --> 00:25:06,000 pranešimas Xcode yra tikrai gražus ir man autocompletes. 468 00:25:06,000 --> 00:25:09,000 Tai tikrai puikus. 469 00:25:09,000 --> 00:25:12,000 Pastebėsite čia, kad m failo viduje galiu pasakyti negaliojančiu, 470 00:25:12,000 --> 00:25:15,000 ir tai yra, nes tai nėra faktiškai tipas IBAction. 471 00:25:15,000 --> 00:25:19,000 Tai tikrai kažkur hashtag apibrėžta būti negaliojantis, 472 00:25:19,000 --> 00:25:22,000 ir vėl, tai tik užuomina Xcode, kad sako 473 00:25:22,000 --> 00:25:25,000 Aš noriu, kad tai renginys prižiūrėtojas, ir mes pamatyti, kodėl po kelių minučių. 474 00:25:25,000 --> 00:25:28,000 Kai šis mygtukas paspaudžiamas aš ruošiuosi padaryti ką nors erzina 475 00:25:28,000 --> 00:25:30,000 patinka rodyti laikiną langą. 476 00:25:30,000 --> 00:25:35,000 >> Norėdami tai padaryti, aš galiu sukurti naują egzempliorių šios klasės, vadinama UIAlertView, 477 00:25:35,000 --> 00:25:39,000 ir tai yra A klasės, kad "Apple" rašė, kad ketina rodyti erzina iššokantys langai. 478 00:25:39,000 --> 00:25:43,000 Mes tai vadiname laikiną langą įspėjimą, ir aš turiu 2 žingsniai, atminkite, kad sukurti šį objektą. 479 00:25:43,000 --> 00:25:46,000 Pirmas dalykas, kurį reikia padaryti, tai skirti vietos. 480 00:25:46,000 --> 00:25:48,000 Noriu UIAlertView. 481 00:25:48,000 --> 00:25:51,000 Noriu skirti vietos. Štai mano pirmasis metodas. 482 00:25:51,000 --> 00:25:53,000 Mano Kitas būdas yra, aš noriu inicijuoti, 483 00:25:53,000 --> 00:25:58,000 ir taip, aš turiu tai didelis, ilgas metodą, vadinamą initWithTitle. 484 00:25:58,000 --> 00:26:01,000 Tai iš esmės kontroliuoti, ką apie tai lango sako. 485 00:26:01,000 --> 00:26:04,000 Mano iššokantį Antrašte gali buti hello. 486 00:26:04,000 --> 00:26:08,000 Tai laikiną langą pranešimas gali būti "Tai iOS". 487 00:26:08,000 --> 00:26:10,000 Delegatas dalykas, aš nežinau, kas tai yra. 488 00:26:10,000 --> 00:26:13,000 Tarkime, tai nieko. 489 00:26:13,000 --> 00:26:18,000 Gali pasakyti kažką panašaus: "Jis tikrai yra, dabar mygtuką, kad ketina pasirodyti" 490 00:26:18,000 --> 00:26:24,000 ir aš iš tikrųjų nenori jokių kitų mygtukus, todėl galime ištrinti, kad ir uždarykite laikiklį. 491 00:26:24,000 --> 00:26:27,000 >> Gerai, aš sukūriau papildomą vieną. Čia mes eiti. 492 00:26:27,000 --> 00:26:30,000 Tai kaip aš galiu sukurti naują iššokančių langų. 493 00:26:30,000 --> 00:26:35,000 Jei aš noriu, kad iš tikrųjų laikiną langą noriu paskambinti šou metodą. 494 00:26:35,000 --> 00:26:38,000 Norėdami tai padaryti, kad aš galiu pasakyti įspėjimą ir parodyti, 495 00:26:38,000 --> 00:26:40,000 ir vėl, automatinio užbaigimo was super nice. 496 00:26:40,000 --> 00:26:42,000 , Jei aš pamiršau kas tai buvo, jei aš tiesiog įvedėte s, 497 00:26:42,000 --> 00:26:45,000 Gali slinkti čia išsiaiškinti, kas jis buvo, 498 00:26:45,000 --> 00:26:48,000 ir filtruoja gražiai. 499 00:26:48,000 --> 00:26:52,000 Dabar aš sukūriau šią naują iššokančių langų. 500 00:26:52,000 --> 00:26:55,000 Mes grįžti į ką deleguoti reiškia, 501 00:26:55,000 --> 00:26:58,000 ir dabar noriu pasakyti, kad aš nori, kad šis metodas turi būti atleistas 502 00:26:58,000 --> 00:27:01,000 kai aš paspauskite mygtuką, kad aš ruošiuosi grįžti į savo siužetinės linijos, 503 00:27:01,000 --> 00:27:04,000 ir aš noriu dabar pridėti šį IBAction. 504 00:27:04,000 --> 00:27:06,000 Pirmas dalykas, kurį norite padaryti yra paspausti mygtuką. 505 00:27:06,000 --> 00:27:08,000 Kai aš paspauskite šį mygtuką, aš noriu ką nors atsitikti. 506 00:27:08,000 --> 00:27:10,000 Aš nesiruošia laikykite nuspaudę kontrolę. 507 00:27:10,000 --> 00:27:13,000 Aš ruošiuosi spustelėkite ir vilkite mygtuką 508 00:27:13,000 --> 00:27:15,000 per čia, kur jis sako Peržiūrėti kontrolieriaus. 509 00:27:15,000 --> 00:27:17,000 Mes galime matyti, kad ji gražiai užsidega. 510 00:27:17,000 --> 00:27:22,000 >> Jei aš eiti su savo pele, kad dabar aš turiu šį laikiną langą per čia, kur aš turiu keletą variantų. 511 00:27:22,000 --> 00:27:24,000 Vienas iš jų yra įvykiai, kurie gali užsiregistruoti. 512 00:27:24,000 --> 00:27:28,000 Tai yra visi šių metodų deklaruotų mano h faile kaip IBActions. 513 00:27:28,000 --> 00:27:31,000 Tai kaip Xcode žino, ką turėtų pasirodyti šioje mažoje sąrašą, 514 00:27:31,000 --> 00:27:33,000 kad tik užuomina. 515 00:27:33,000 --> 00:27:37,000 Jei aš spustelėkite mygtuką štampuoto aš dabar registruotas įvykio apdorojimo programą. 516 00:27:37,000 --> 00:27:41,000 "JavaScript" mes turėjome pasakyti, kad aš turėti tam tikrą kodą, kuris užregistruotas įvykio apdorojimo. 517 00:27:41,000 --> 00:27:43,000 Objective-C, tai buvo tikrai, kad lengva. 518 00:27:43,000 --> 00:27:46,000 , Jei aš paleisti šį kartą 519 00:27:46,000 --> 00:27:49,000 dabar, kai aš paspauskite mygtuką mano komanda įvykių vyksta į ugnį, 520 00:27:49,000 --> 00:27:51,000 ir aš ruošiuosi gauti šią laikiną langą. 521 00:27:51,000 --> 00:27:54,000 Super, super paprasta. 522 00:27:54,000 --> 00:27:57,000 >> Jei kada nors norėsite matyti visus įvykius, kurie atsitinka būti registruotas 523 00:27:57,000 --> 00:28:00,000 komponento, jei aš spustelėkite šį mygtuką 524 00:28:00,000 --> 00:28:02,000 ir aš atėjau čia į dešinę, 525 00:28:02,000 --> 00:28:05,000 pirmiausia galite pamatyti čia Galiu padaryti dalykų, pavyzdžiui, mygtuko tipo, 526 00:28:05,000 --> 00:28:08,000 todėl, jei norite viena iš tų, ar Pridėti kontaktą mygtuką 527 00:28:08,000 --> 00:28:10,000 ar whatever. 528 00:28:10,000 --> 00:28:13,000 Jei aš noriu pamatyti visus įvykius, kurie šį mygtuką 529 00:28:13,000 --> 00:28:16,000 jei aš atėjau čia į dešinę, visą kelią 530 00:28:16,000 --> 00:28:19,000 įvykių, turiu visus šių skirtingų renginių galite pamatyti čia. 531 00:28:19,000 --> 00:28:23,000 Galite paspausti mygtuką, kai aš atleiskite mygtuką, kai aš dukart bakstelėkite ar kokia, 532 00:28:23,000 --> 00:28:26,000 ir vienas, aš tik registruoti šis renginys vadinamas Touch viduje, 533 00:28:26,000 --> 00:28:29,000 ir tai sako, kad kuo greičiau mano pirštas atsiklijuoja mygtuką 534 00:28:29,000 --> 00:28:32,000 įvykis yra į ugnį, ir tai yra būtent tai, kas atsitiko. 535 00:28:32,000 --> 00:28:36,000 Tai natūra pagal nutylėjimą mygtukas yra nuspaudžiamas atveju. 536 00:28:36,000 --> 00:28:39,000 >> Kokių nors klausimų, kiek? 537 00:28:39,000 --> 00:28:43,000 Gerai, kad, kaip mes galime pradėti pervesti dalykų mūsų kodą 538 00:28:43,000 --> 00:28:46,000 į dalykus viduje mūsų sąsaja. 539 00:28:46,000 --> 00:28:49,000 Atminkite, pirmas dalykas, kurį mes turėjome daryti buvo rasti kodą, 540 00:28:49,000 --> 00:28:54,000 ir tada mes laidinio kodą, sąsaja, 541 00:28:54,000 --> 00:28:57,000 ir yra pirmasis mūsų app. 542 00:28:57,000 --> 00:29:00,000 Gerai, kad buvo tikrai cool, ir mes sukūrėme šį mygtuką. 543 00:29:00,000 --> 00:29:03,000 Ką daryti, jei mes nenorime, kad turi sukurti savybių krūva 544 00:29:03,000 --> 00:29:05,000 atstovauja šiuos mygtukus? 545 00:29:05,000 --> 00:29:08,000 Pavyzdžiui, Tic Tac Toe turiu 9 mygtukus, 546 00:29:08,000 --> 00:29:11,000 ir tai reikia būti super, super erzina, kad vilkite ir upuść 9 kartus 547 00:29:11,000 --> 00:29:14,000 arba, jei aš turėjo padaryti Tic Tac Toe su 81 vietoj 9 548 00:29:14,000 --> 00:29:17,000 ir man teko vilkite ir upuść 81 kartus, ir tai yra nevykęs. 549 00:29:17,000 --> 00:29:20,000 Ką mes galime padaryti, o ne yra labai panaši į HTML 550 00:29:20,000 --> 00:29:23,000 kai mes turėjome pavardžių ID ir dalykų, pavyzdžiui, ir mes galime ieškoti dalykų 551 00:29:23,000 --> 00:29:27,000 jų ID, nėra panaši sąvoka iOS vadinamas žymes. 552 00:29:27,000 --> 00:29:31,000 >> Žymė yra tiesiog unikalus skaitmeninis identifikatorius komponento. 553 00:29:31,000 --> 00:29:34,000 Jei aš sakau, tai turi žymą "0, pavyzdžiui, 554 00:29:34,000 --> 00:29:38,000 jei aš sukurti mygtuką ir suteikti jai žymą nuo 0, ir mes pamatyti, kaip padaryti, kad po kelių minučių, 555 00:29:38,000 --> 00:29:41,000 jei noriu gauti tą mygtuką galiu tiesiog pasakyti, kad noriu paskambinti 556 00:29:41,000 --> 00:29:45,000 objekto metodą viewWithTag čia, 557 00:29:45,000 --> 00:29:48,000 self.view, kuri atstovauja visą ekraną, pvz. 558 00:29:48,000 --> 00:29:53,000 Jei aš vadinu, kad viewWithTag metodą, aš atsitraukti mygtuką su žyma 0. 559 00:29:53,000 --> 00:29:58,000 Paimkime pažiūrėk statybos Tic Tac Toe. 560 00:29:58,000 --> 00:30:01,000 Pirma, tai yra mano siužetinės linijos. 561 00:30:01,000 --> 00:30:05,000 Aš sukūriau šiuos 10 UI mygtukus. 562 00:30:05,000 --> 00:30:07,000 Atkreipkite dėmesį, jie visi to paties dydžio. 563 00:30:07,000 --> 00:30:11,000 Jei aš spustelėkite vieną iš jų ir aš grįšiu čia apie šį dešinėje pusėje 564 00:30:11,000 --> 00:30:15,000 pamatysite, aš pakoregavo šriftą čia, todėl aš padariau šriftą šiek tiek didesnis, 565 00:30:15,000 --> 00:30:19,000 tačiau tai, ką aš taip pat padarė šią žymę. 566 00:30:19,000 --> 00:30:23,000 Aš pasakiau, kad tai turi žymą iš 1, ir tai viršuje kairėje. 567 00:30:23,000 --> 00:30:26,000 >> Dabar, jei aš spustelėkite kitą mygtuką, kaip ir šį antrąjį vienas čia, 568 00:30:26,000 --> 00:30:29,000 dabar pamatysite, kad mano tegus yra 2. 569 00:30:29,000 --> 00:30:32,000 Kiekviena iš šių mygtukų tiesiog turi unikalią žymę 570 00:30:32,000 --> 00:30:35,000 ir taip, tai vėliau, kaip aš ruošiuosi pradėti bendrauja 571 00:30:35,000 --> 00:30:38,000 su savo app. 572 00:30:38,000 --> 00:30:40,000 Tai yra, visi vieno vaizdo valdiklio viduje, 573 00:30:40,000 --> 00:30:42,000 bet čia yra tai, ką turime. 574 00:30:42,000 --> 00:30:44,000 Mes turime 3 savybes čia. 575 00:30:44,000 --> 00:30:49,000 Pirmasis ir naujausia ketinate atstovauti mano lenta būklę. 576 00:30:49,000 --> 00:30:53,000 Iš esmės tai pirmasis yra atstovaujanti masyvas, kur Xs ir OS. 577 00:30:53,000 --> 00:30:57,000 Tai čia kitas pasakoja mums, kurios eilė yra. 578 00:30:57,000 --> 00:31:01,000 Jūs pastebėsite, kad aš taip pat turiu šiuos dalykus čia. 579 00:31:01,000 --> 00:31:05,000 Anksčiau, kai mes paskelbė savybėmis, davė jiems pavadinimą ir tipą. 580 00:31:05,000 --> 00:31:08,000 Mes taip pat galime suteikti jiems šiek tiek papildomos informacijos čia. 581 00:31:08,000 --> 00:31:11,000 Šis pirmasis sako nonatomic, ir ką tai sako 582 00:31:11,000 --> 00:31:16,000 iš esmės yra tik vienas dalykas, niekada negali būti vienu metu bando patekti į šį kintamąjį. 583 00:31:16,000 --> 00:31:19,000 Jūs galite tai padaryti sudėtingesnes programas, kurios yra multi-threaded, 584 00:31:19,000 --> 00:31:22,000 ir todėl atgal į nulio, mes turėjo skirtingas temas, 585 00:31:22,000 --> 00:31:25,000 ir įvairių animacinius gali daryti skirtingus dalykus tuo pačiu metu. 586 00:31:25,000 --> 00:31:29,000 >> Jei tai ne tas atvejis, tai nėra nieko, kad mes žiūri, 587 00:31:29,000 --> 00:31:33,000 jei mes sakome nonatomic ji iš tikrųjų vyksta, kad viskas šiek tiek greičiau. 588 00:31:33,000 --> 00:31:37,000 Mes taip pat turime šis dalykas, vadinamas priskirti, stiprus, ar silpnas. 589 00:31:37,000 --> 00:31:40,000 Tai priskirti tik sako, kad tai yra standartinis. 590 00:31:40,000 --> 00:31:43,000 Tai ne objektas arba rodyklė, nes tai tik bool, 591 00:31:43,000 --> 00:31:46,000 taip bool yra pastatytas į Objective-C. 592 00:31:46,000 --> 00:31:49,000 Tai sako, nebandykite daryti nieko išgalvotas nuorodomis čia. 593 00:31:49,000 --> 00:31:51,000 Tai reguliariai senas scaler. 594 00:31:51,000 --> 00:31:54,000 Stipri ir silpna, tai silpna sako, kad iš tikrųjų 595 00:31:54,000 --> 00:31:57,000 Noriu, kad tai turi būti nukreipta į kažką, vaizdo valdiklio. 596 00:31:57,000 --> 00:32:00,000 Aš nesiruošia iš tikrųjų skirti arba init tai save. 597 00:32:00,000 --> 00:32:04,000 Interface Builder, kai aš paleisti programą, ketina tvarkyti visus, kad iniciacijos. 598 00:32:04,000 --> 00:32:07,000 Jei aš sakau, silpnas, kad sako, kad kažkas yra, bus sukurti šį. 599 00:32:07,000 --> 00:32:09,000 Jei aš sakau, stiprus, tai sako, kad aš ruošiuosi būti vienas 600 00:32:09,000 --> 00:32:12,000 kad kuriant šią diskusijų objektas, 601 00:32:12,000 --> 00:32:14,000 ir, kad čia turiu šiek tiek daugiau metodų, 602 00:32:14,000 --> 00:32:18,000 pavyzdžiui, veiksmų, kai naujas žaidimas mygtukas yra nuspaustas, 603 00:32:18,000 --> 00:32:20,000 ieškinys yra paspaustas, kai bet kuris iš kitų mygtukų, 604 00:32:20,000 --> 00:32:23,000 ir tt. 605 00:32:23,000 --> 00:32:26,000 >> Mes ne gauti į Tic Tac Toe logika per daug, 606 00:32:26,000 --> 00:32:30,000 , nors tai yra labai įdomi, bet galime pažvelgti 607 00:32:30,000 --> 00:32:33,000 kai kurių dalykų, kad mes galime padaryti viduje iOS. 608 00:32:33,000 --> 00:32:35,000 Šis naujas žaidimas metodas bus atleisti iš darbo 609 00:32:35,000 --> 00:32:37,000 kai aš paspauskite naują žaidimą mygtuką. 610 00:32:37,000 --> 00:32:41,000 Pajungti, kad iki aš tiesiog ateiti į mano siužetinės linijos. 611 00:32:41,000 --> 00:32:43,000 Aš spustelėjote naują žaidimą. 612 00:32:43,000 --> 00:32:47,000 Jei aš atėjau čia į dešinę, matau, kad 613 00:32:47,000 --> 00:32:50,000 Padažyti Viduje yra laidinio į newGame metodą. 614 00:32:50,000 --> 00:32:53,000 Štai kodėl tai vyksta, get fired. 615 00:32:53,000 --> 00:32:56,000 NewGame metodas bus padaryti tam tikrą rinkinį. 616 00:32:56,000 --> 00:32:59,000 Jis ketina pasakyti, aš noriu jums išvalyti lentos būklę. 617 00:32:59,000 --> 00:33:01,000 Tai gražus metodas, permainingas masyvai. 618 00:33:01,000 --> 00:33:03,000 Tai va, sako, kad dabar X eilė, 619 00:33:03,000 --> 00:33:07,000 ir dabar aš ruošiuosi pasinaudoti šio viewWithTag dalykas. 620 00:33:07,000 --> 00:33:11,000 >> Žinau, kad mano mygtukai Žymės 1-9, 621 00:33:11,000 --> 00:33:13,000 ir kad tai, ką aš savavališkai pakėlė. 622 00:33:13,000 --> 00:33:15,000 Jei aš noriu nustatyti kiekvieno mygtuko tekstą yra tuščias 623 00:33:15,000 --> 00:33:17,000 nes aš ką tik pradėjo naują žaidimą, ir aš nenoriu 624 00:33:17,000 --> 00:33:20,000 Xs arba OS likę galiu tai padaryti. 625 00:33:20,000 --> 00:33:24,000 Galiu pasakyti, kad aš noriu vaizdas su žyma, 1, 2, 3, 4 ir tt. 626 00:33:24,000 --> 00:33:27,000 Tai bus ištraukti kitokį mygtuką kiekvieną kartą. 627 00:33:27,000 --> 00:33:30,000 Čia aš ruošiuosi mesti jį į UIButton. 628 00:33:30,000 --> 00:33:33,000 Kaip mes gali mesti Ints plūdės ir atvirkščiai 629 00:33:33,000 --> 00:33:37,000 tai sako, kad aš noriu mesti į UIButton. 630 00:33:37,000 --> 00:33:40,000 Tai reiškia, kad tai tipo bus UIButton * 631 00:33:40,000 --> 00:33:43,000 dėl patarimų, bet nesijaudinkite, jie nėra baisu nebėra. 632 00:33:43,000 --> 00:33:47,000 >> Kai turiu šį mygtuką, aš ruošiuosi skambinti metodą. 633 00:33:47,000 --> 00:33:50,000 Šis metodas yra vadinamas setTitle forštate, ir todėl tai sako 634 00:33:50,000 --> 00:33:53,000 Noriu nustatyti mygtuko tekstas turi būti tuščia eilutė, 635 00:33:53,000 --> 00:33:57,000 ir aš noriu, kad ji būtų tuščia eilutė, kai ji manimi ne presuoti. 636 00:33:57,000 --> 00:34:01,000 Jei aš naudoju šį metodą, galiu pakeisti mygtuko tekstą 637 00:34:01,000 --> 00:34:04,000 kuo greičiau kažkas hitai, bet mes norime pasakyti, kai mygtukas yra tiesiog sėdi ten 638 00:34:04,000 --> 00:34:07,000 Aš noriu, kad tekstas turi būti tuščias. 639 00:34:07,000 --> 00:34:10,000 Galiausiai, mes ketiname inicijuoti mano lenta, 640 00:34:10,000 --> 00:34:12,000 ir aš norėčiau pasakyti, kad viskas šiuo metu yra 0, 641 00:34:12,000 --> 00:34:15,000 todėl ši diskusijų lenta prisijungę nekintamas permainingas masyvas, 642 00:34:15,000 --> 00:34:21,000 kuris reiškia, kad galiu skambinti addObject metodą ir tik 0 viduje ji. 643 00:34:21,000 --> 00:34:23,000 Štai kas atsitinka, kai galiu sukurti naują žaidimą. 644 00:34:23,000 --> 00:34:25,000 >> Paimkime už kitą išvaizdą. 645 00:34:25,000 --> 00:34:28,000 Šis metodas čia yra tų, kurie ketina būti paspaustas IBAction 646 00:34:28,000 --> 00:34:31,000 kiekvieną kartą, kai vienas iš tų kvadratų yra nuspaustas. 647 00:34:31,000 --> 00:34:33,000 Dabar mes turime kai Tic Tac Toe logika čia. 648 00:34:33,000 --> 00:34:36,000 Išsiaiškinti, kurios eilė yra, 649 00:34:36,000 --> 00:34:39,000 ir kad remiantis mes arba nustatyti X arba O, 650 00:34:39,000 --> 00:34:43,000 tačiau pastebime, kad mes pakartotinai tą pačią aptarnavimo įvykio 651 00:34:43,000 --> 00:34:45,000 už kiekvieną vieną iš šių mygtukų. 652 00:34:45,000 --> 00:34:49,000 Tai reiškia, kad aš neturiu viršutiniame kairiajame mygtuką metodą, 653 00:34:49,000 --> 00:34:52,000 mygtuko apatiniame dešiniajame kitokį metodą, nors aš galėjo padaryti. 654 00:34:52,000 --> 00:34:54,000 , Kad nebūtų tikrai geras dizainas. 655 00:34:54,000 --> 00:34:57,000 Ką aš darau čia, tai aš iš tikrųjų vyksta, siekiant nustatyti 656 00:34:57,000 --> 00:35:00,000 ką tegus mygtuką, kad buvo spaudžiamas. 657 00:35:00,000 --> 00:35:04,000 Jūs pastebėsite, kad ši pjesė metodas užima vieną argumentą. 658 00:35:04,000 --> 00:35:07,000 Tai vadinama siuntėjas, ir kokia siuntėjas yra siuntėjas ketina 659 00:35:07,000 --> 00:35:10,000 atstovauja būtent tai, ko ėmėsi veiksmų po. 660 00:35:10,000 --> 00:35:15,000 , Jei aš paspauskite mygtuką, šis siuntėjas bus kad UIButton 661 00:35:15,000 --> 00:35:18,000 kad aš iš tikrųjų spaudžiamas, todėl tai reiškia, kad ši UIButton 662 00:35:18,000 --> 00:35:20,000 turi žymę, nes aš sukūriau žymę. 663 00:35:20,000 --> 00:35:23,000 >> Jei aš noriu gauti bent tag galiu tiesiog pasakyti 664 00:35:23,000 --> 00:35:26,000 Noriu siuntėjo žyma, 665 00:35:26,000 --> 00:35:28,000 ir vėl, aš ką tik išlieta jį į UIButton. 666 00:35:28,000 --> 00:35:32,000 Man žinoma, kad siuntėjas bus UIButton. 667 00:35:32,000 --> 00:35:34,000 Ji ne visada turi būti UIButton. 668 00:35:34,000 --> 00:35:36,000 Galėjau, pavyzdžiui, registruoti tą patį įvykį prižiūrėtojas 669 00:35:36,000 --> 00:35:38,000  vieną mygtuką, slankiklį. 670 00:35:38,000 --> 00:35:40,000 Šiuo atveju, aš žinau, jie visi mygtukai, todėl aš ketina pasakyti 671 00:35:40,000 --> 00:35:43,000 Aš noriu, kad tai mygtukas, ir tada aš galiu gauti šią žymę, 672 00:35:43,000 --> 00:35:48,000 o nuo žymens, dabar aš žinau, kur aš esu valdybos viduje. 673 00:35:48,000 --> 00:35:51,000 Tada aš galiu tiesiog nustatyti arba X arba O, gali apversti ruožtu, 674 00:35:51,000 --> 00:35:54,000 patikrinti, kas laimėjo ir tt. 675 00:35:54,000 --> 00:35:59,000 >> Kokių nors klausimų apie tai iki šiol? 676 00:35:59,000 --> 00:36:02,000 Gerai, kodas, paskelbtas internete nenorime patekti į per daug 677 00:36:02,000 --> 00:36:06,000 Tic Tac Toe logika, tačiau dabar jūs galite pamatyti, kad tikrai 678 00:36:06,000 --> 00:36:09,000 viskas, ką mes darome, mes kilpų per šio masyvo, 679 00:36:09,000 --> 00:36:13,000 todėl mes turime kilpų čia pora, ir mes tiesiog lyginant su 680 00:36:13,000 --> 00:36:18,000 mes turime visų eilučių, stulpelyje ar ko nors panašaus, kad rungtynių atitikmuo. 681 00:36:18,000 --> 00:36:21,000 Iš tikrųjų paleisti šią programą, jei aš bakstelėkite vieną iš šių mygtukų 682 00:36:21,000 --> 00:36:24,000 būdas, kad žaisti buvo atleistas, todėl tai reiškia, kad aš tiesiog nustatyti 683 00:36:24,000 --> 00:36:31,000 mygtuką, kad X, todėl dabar šis mygtukas bus O, ir tt, 684 00:36:31,000 --> 00:36:35,000 ir kad, kaip mes pradedame bendrauti su šią vieno lapo app. 685 00:36:35,000 --> 00:36:38,000 >> Mes įdėjome kodą, todėl nedvejodami žiūrinėti, kad, 686 00:36:38,000 --> 00:36:43,000 bet tegul dabar kalbėti apie kai kurių programų, kurios yra daugiau nei vienas puslapis. 687 00:36:43,000 --> 00:36:47,000 Kaip patrauklių, kaip Tic Tac Toe buvo daug viduje iOS apps 688 00:36:47,000 --> 00:36:50,000 natūra iš šių gręžimo žemyn dalykų, su daugeliu ekranų. 689 00:36:50,000 --> 00:36:54,000 Pirmoji koncepcija, kad mes turime kalbėti apie protokolus, 690 00:36:54,000 --> 00:36:57,000 ir protokolas paprasčiausiai metodų rinkinys 691 00:36:57,000 --> 00:36:59,000 kad galite pažadėti apibrėžti. 692 00:36:59,000 --> 00:37:02,000 Jeigu aš sukurti šį naują protokolą su 2 metodų, tai viena pirmųjų, 693 00:37:02,000 --> 00:37:05,000 jei grįžimo tipas yra niekinis, aš jį pavadino foo. 694 00:37:05,000 --> 00:37:07,000 Tai užtrunka jokių argumentų. Turiu kitą metodą. 695 00:37:07,000 --> 00:37:11,000 Ji grąžina int. Aš jį uždrausti, ir tai trunka vieną argumentą. 696 00:37:11,000 --> 00:37:14,000 Visa pagal šį protokolą, tai vadinama SomeProtocol čia, 697 00:37:14,000 --> 00:37:19,000 tai yra dalykų, kad kažkas gali įgyvendinti rinkinys. 698 00:37:19,000 --> 00:37:22,000 Aš ne viduje šio protokolo sakė ką foo. 699 00:37:22,000 --> 00:37:26,000 Vietoj to, aš tiesiog pasakyti jums gali nustatyti foo, jei norite. 700 00:37:26,000 --> 00:37:30,000 Jei aš sukurti rodinio valdiklį arba sukurti klasę 701 00:37:30,000 --> 00:37:33,000 Viduje šios klasės pažadą galiu įgyvendinti 702 00:37:33,000 --> 00:37:40,000 kai kurie iš šių metodų, taigi, pavyzdžiui, jei sako, 703 00:37:40,000 --> 00:37:43,000 tai dabar sako, kad aš jums pažadą, kad viduje 704 00:37:43,000 --> 00:37:50,000 šio valdiklio klasės turėsiu foo ir baras apibrėžimus. 705 00:37:50,000 --> 00:37:52,000 >> Kodėl taip yra naudinga? 706 00:37:52,000 --> 00:37:55,000 Daug komponentų viduje iOS pasinaudoti šia 707 00:37:55,000 --> 00:37:58,000 dizaino modelis vadinamas delegaciją, kas delegacija sako 708 00:37:58,000 --> 00:38:01,000 yra tai, kad, pavyzdžiui, jei aš turiu teksto lauką 709 00:38:01,000 --> 00:38:04,000 ir yra keletas įvykių, kurie gali būti užsiregistravę viduje mano teksto laukelyje, 710 00:38:04,000 --> 00:38:07,000 o ne kurti atskirus įvykius, ką aš galiu padaryti, ką aš galiu pasakyti 711 00:38:07,000 --> 00:38:10,000 šio teksto laukelį delegatas bus kai objektas. 712 00:38:10,000 --> 00:38:13,000 Kai aš sakau, kad tai yra atstovas dabar tai reiškia, kad 713 00:38:13,000 --> 00:38:16,000 kada tik koks nors renginys buvo išleista į teksto laukelį 714 00:38:16,000 --> 00:38:18,000 , o ne ją užregistruoti, ar ko nors panašaus 715 00:38:18,000 --> 00:38:21,000 ji tiesiog ketinate skambinti metodą atstovui. 716 00:38:21,000 --> 00:38:24,000 Pavyzdžiui, viduje mano teksto laukelyje turiu, kai aš paspauskite metodą 717 00:38:24,000 --> 00:38:27,000 , kad padaryti mygtuką apačioje, dešinėje pusėje, 718 00:38:27,000 --> 00:38:30,000 ir taip, o ne registruojant aptarnavimo įvykio ką galiu pasakyti 719 00:38:30,000 --> 00:38:34,000 teksto laukelį, čia yra daiktas, kad aš noriu jums skambinti metodą 720 00:38:34,000 --> 00:38:37,000 kiekvieną kartą, kai kažkas paspaudžia mygtuką Baigta 721 00:38:37,000 --> 00:38:40,000 , o tai reiškia, kad objektas turi įgyvendinti tam tikrą protokolą 722 00:38:40,000 --> 00:38:45,000 , kad sako, aš pažadu padaryti mygtuką veiksmų nustatyti, kad, 723 00:38:45,000 --> 00:38:47,000 nes jei ji nėra apibrėžti šį metodą ir paspauskite Atlikta, 724 00:38:47,000 --> 00:38:49,000 tada jis ketina būti klaidinantys. 725 00:38:49,000 --> 00:38:55,000 >> Paimkime bent pavyzdžiui išvaizdą. 726 00:38:55,000 --> 00:38:58,000 Čia aš tiesiog vieną teksto lauką, 727 00:38:58,000 --> 00:39:04,000 ir vienas iš šio teksto laukelį savybes nei čia dėl šio dešinėje pusėje atstovas. 728 00:39:04,000 --> 00:39:06,000 Tai yra klasės nuosavybė. 729 00:39:06,000 --> 00:39:09,000 Ką aš padariau, čia galiu kontroliuoti paspaudėte, ir šioje vietoje aš nutempė nuo čia 730 00:39:09,000 --> 00:39:13,000 vaizdas kontrolierius, o kad sako, dabar šio teksto laukelio atstovą 731 00:39:13,000 --> 00:39:18,000 bus vaizdas valdytojas. 732 00:39:18,000 --> 00:39:20,000 Tai reiškia, kad kai kurie veiksmai vyksta, o nei registravimasis 733 00:39:20,000 --> 00:39:25,000 savarankišką įvykį tvarkytojai, aš noriu, kad siųsti juos atstovui. 734 00:39:25,000 --> 00:39:28,000 Dabar galime imtis bent mano nuomone valdiklio išvaizdą. 735 00:39:28,000 --> 00:39:32,000 Viduje h failo aš pažado. 736 00:39:32,000 --> 00:39:36,000 Aš pažadėjo įgyvendinti kai kuriuos metodus, viduje šio protokolo 737 00:39:36,000 --> 00:39:38,000 vadinamas UITextFieldDelegate, ir vėl, 738 00:39:38,000 --> 00:39:42,000 tai tik kai kurie kai kurių dalykų, kad aš galiu pasirinkti įgyvendinti, sąrašas. 739 00:39:42,000 --> 00:39:46,000 >> Jei aš atėjau čia mano m failą, aš įgyvendino vieną tokį metodą. 740 00:39:46,000 --> 00:39:49,000 Aš tai pavadino textFieldShouldReturn 741 00:39:49,000 --> 00:39:52,000 nes tai, ką jis buvo vadinamas viduje protokolą. 742 00:39:52,000 --> 00:39:57,000 Ir dabar, kai aš paspauskite mygtuką Baigta viduje tos teksto lauką 743 00:39:57,000 --> 00:40:00,000 tai, kas vyksta gauti vadinamas, todėl aš neužregistravo įvykio apdorojimo. 744 00:40:00,000 --> 00:40:03,000 Aš prijungtas atstovui, o kai šis įvykis yra atleistas 745 00:40:03,000 --> 00:40:08,000 tai yra metodas, kuris gaus vadinamas, todėl, jei aš atėjo per Čia mano siužetinės linijos ir paleisti jį, 746 00:40:08,000 --> 00:40:11,000 Nors tai pakrovimo mes galime pamatyti, kas tai daro. 747 00:40:11,000 --> 00:40:13,000 Ant mano ekrano, aš turiu 2 dalykų. 748 00:40:13,000 --> 00:40:16,000 Turiu šį teksto lauką, ir aš turiu šią etiketę. 749 00:40:16,000 --> 00:40:19,000 Aš tiesiog pasakyti, aš noriu, kad šios etiketės tekstą 750 00:40:19,000 --> 00:40:23,000 turi būti lygūs, nepriklausomai nuo vartotojo įvedėte tiesiai į teksto lauką. 751 00:40:23,000 --> 00:40:26,000 Tai naujos linijos čia paprasčiausiai yra būdas, kad aš paskambinus 752 00:40:26,000 --> 00:40:29,000 teksto lauką, kad sako, aš noriu jums paslėpti klaviatūrą. 753 00:40:29,000 --> 00:40:33,000 Tai tik savavališkai metodas, kad "Apple" pasirinko. 754 00:40:33,000 --> 00:40:38,000 >> Vėlgi, prieš aš padariau, ką aš turėjo pervesti viską, kad aš pirmą kartą atvyko čia. 755 00:40:38,000 --> 00:40:42,000 Iš vaizdo valdiklio aš vilkite į teksto laukelį. 756 00:40:42,000 --> 00:40:46,000 Aš atleiskite, ir matau, kad čia aš galiu padaryti šį teksto lauko ypatybę 757 00:40:46,000 --> 00:40:49,000 nes per čia, vaizdo valdiklio aš apibrėžta turtą 758 00:40:49,000 --> 00:40:52,000 tai yra teksto lauko IBOutlet. 759 00:40:52,000 --> 00:40:55,000 Tai sako, kad galiu pervesti šį objektą 760 00:40:55,000 --> 00:40:59,000 teksto lauke mano UI. 761 00:40:59,000 --> 00:41:03,000 Dabar, kai aš spustelėkite aš galiu pradėti rašyti. 762 00:41:03,000 --> 00:41:06,000 Dabar, jei aš spustelėkite mygtuką Baigta tai vyksta į ugnį 763 00:41:06,000 --> 00:41:08,000 įvykis, kad dabar galiu atsakyti į. 764 00:41:08,000 --> 00:41:10,000 Nėra renginių tvarkytojai. 765 00:41:10,000 --> 00:41:13,000 Štai kaip aš tiesiog atsakė, kad padaryti mygtuką. 766 00:41:13,000 --> 00:41:15,000 Prasminga? 767 00:41:15,000 --> 00:41:20,000 >> Tai nėra dizaino modelis, kad jums gali kada nors rasti sau 768 00:41:20,000 --> 00:41:23,000 sukurti savo protokolą, bet tik žinau, kad kai 769 00:41:23,000 --> 00:41:27,000 įvairių iOS dalys registruoti įvykius įvairiais būdais. 770 00:41:27,000 --> 00:41:29,000 Mygtukai, pavyzdžiui, naudoti šiuos IBActions. 771 00:41:29,000 --> 00:41:32,000 Teksto laukai, kita vertus, ketiname naudoti atstovus. 772 00:41:32,000 --> 00:41:36,000 Mes galime pamatyti ir jums gali atrodyti, kad iki vidaus dokumentuose. 773 00:41:36,000 --> 00:41:41,000 Beje, ten tikrai integruotas į iOS jums UI stuff tonų, 774 00:41:41,000 --> 00:41:46,000 taigi, pavyzdžiui, taip, kaip aš, kurie sako, kad apačioje dešinėje 775 00:41:46,000 --> 00:41:48,000 aš pasirinkote šį teksto lauką. 776 00:41:48,000 --> 00:41:50,000 Aš atėjau čia. 777 00:41:50,000 --> 00:41:53,000 Aš przewijany žemyn truputį mygtuką, kad grįžtumėte 778 00:41:53,000 --> 00:41:56,000 ir aš iš tikrųjų galite padaryti visa krūva dalykų, pavyzdžiui, jei aš noriu, kad pasakyti, 779 00:41:56,000 --> 00:42:00,000 skambinti skubios pagalbos telefonu, o aš galiu padaryti, kad, kuris yra visiškai atsitiktinis, 780 00:42:00,000 --> 00:42:02,000 ir aš nežinau, kodėl yra built-in skubios pagalbos iškvietimo mygtukas, 781 00:42:02,000 --> 00:42:06,000 bet yra, ji sako, skubios pagalbos iškvietimo telefono tikrai mažosiomis raidėmis. 782 00:42:06,000 --> 00:42:08,000 Ten jūs einate. 783 00:42:08,000 --> 00:42:12,000 >> Tikrai ištirti visų šių skirtingų galimybių IOS. 784 00:42:12,000 --> 00:42:14,000 Bet kokie klausimai dėl delegatų? 785 00:42:14,000 --> 00:42:18,000 Vėlgi, tiesiog įdomi dizaino modelis, kad jums reikia žinoti. 786 00:42:18,000 --> 00:42:22,000 Gerai, tegul kitas prie stalo nuomonėmis išvaizdą. 787 00:42:22,000 --> 00:42:26,000 Lentelę iš esmės, kad daiktų sąrašą, kad yra visame IOS vietoje. 788 00:42:26,000 --> 00:42:29,000 Kai jūs prakeiktas per visus savo kontaktus, jūs ieškote 789 00:42:29,000 --> 00:42:34,000 nustatymo puslapyje, ir toks sąrašą dalykų, yra vadinamas stalo vaizdą. 790 00:42:34,000 --> 00:42:37,000 Įgyvendinimo lentelės vaizdą iOS yra gana paprasta. 791 00:42:37,000 --> 00:42:41,000 Vietoj to, kad klasę, kuri nusileidžia nuo tos UIViewController 792 00:42:41,000 --> 00:42:44,000 kaip mes padarėme prieš mums tiesiog reikia pasakyti, o ne 793 00:42:44,000 --> 00:42:46,000 viskas UIViewController nėra ką aš noriu padaryti, 794 00:42:46,000 --> 00:42:50,000 Sakau viską UITableViewController Noriu padaryti, 795 00:42:50,000 --> 00:42:54,000 taip, kad tiesiog prideda keletą papildomų dalykų, kurie visiškai padarė mums. 796 00:42:54,000 --> 00:42:58,000 Mes turime padaryti labai mažai, kad iš esmės užpildyti viduje pateiktos lentelės ruošiniai. 797 00:42:58,000 --> 00:43:02,000 >> , Kad būtų rodoma I lentelę, reikia atsakyti į keletą klausimų. 798 00:43:02,000 --> 00:43:06,000 Pirmas klausimas, man reikia atsakyti, kiek skyrių pateiktos lentelėje? 799 00:43:06,000 --> 00:43:08,000 Kai jūs prakeiktas per savo kontaktų app jūs pastebėsite, kad tai tipo 800 00:43:08,000 --> 00:43:12,000 organizuoja Kaip, tada jūs turite BS, ir jūs turite, kad šiek tiek sub antraštę. 801 00:43:12,000 --> 00:43:14,000 Kiekvienas iš jų yra vadinamas skyriuje. 802 00:43:14,000 --> 00:43:16,000 Jums gali būti arba nebūti reikia šių. 803 00:43:16,000 --> 00:43:19,000 Pirmas dalykas, ką jums reikia padaryti yra įgyvendinti metodą 804 00:43:19,000 --> 00:43:22,000 vadinamas tableView: numberOfSectionsInTableView. 805 00:43:22,000 --> 00:43:25,000 Kad tiesiog grąžina, kiek skyrių turite, 806 00:43:25,000 --> 00:43:29,000 todėl tai gali pasakyti, kad gauti vieną, jei turite vieną didelį Table View. 807 00:43:29,000 --> 00:43:33,000 Kitas klausimas, kad "iOS turi žinoti kiek eilučių turite? 808 00:43:33,000 --> 00:43:36,000 Pavyzdžiui, jūs prakeiktas per lentelės rodinyje. 809 00:43:36,000 --> 00:43:39,000 Turite fiksuotą skaičių dainų jūs ieškote ar fiksuotą kontaktų skaičius. 810 00:43:39,000 --> 00:43:41,000 Jei esate man, žinoma, ne tai, kad daug, 811 00:43:41,000 --> 00:43:44,000 ir kad kaip iOS žino, kiek ląstelių rodyti. 812 00:43:44,000 --> 00:43:46,000 >> Vėlgi, tai gali pasakyti kažką panašaus grąžos 3. 813 00:43:46,000 --> 00:43:49,000 Mano lentelę yra 3 eilutes. 814 00:43:49,000 --> 00:43:52,000 Galiausiai, "iOS" turi žinoti, ką kiekviena ląstelė atrodo, 815 00:43:52,000 --> 00:43:54,000 todėl tai, ką jis iš tikrųjų ketiname daryti paskambinti šiuo būdu žemyn čia, 816 00:43:54,000 --> 00:43:57,000 tai tableView: cellForRowAtIndexPath. 817 00:43:57,000 --> 00:44:01,000 Ji ketina pavadinti šį metodą kiekvieną langelį, viduje jūsų stalo. 818 00:44:01,000 --> 00:44:03,000 Kaip tai sužinoti, kiek kartų jį pavadinti? 819 00:44:03,000 --> 00:44:06,000 Na, jūs jį papasakojo viduje skyriuje eilučių skaičių. 820 00:44:06,000 --> 00:44:08,000 Mes ketiname tai vadiname kiekvieną mūsų ląstelių, 821 00:44:08,000 --> 00:44:11,000 viduje ir tai yra, kai jūs iš tikrųjų galite padaryti kažką panašaus 822 00:44:11,000 --> 00:44:16,000 nustatyti teksto arba pasakyti, kad mėlyna mygtuką dešinėje pusėje. 823 00:44:16,000 --> 00:44:19,000 Gauti šias ląsteles modelis, mes ketiname naudoti šį metodą 824 00:44:19,000 --> 00:44:22,000 vadinamas dequeueReusableCellWithIdentifier. 825 00:44:22,000 --> 00:44:29,000 >> Objective-C iš tiesų yra labai gerai žinomas už juokinga Jų metodas pavadinimų ilgio, 826 00:44:29,000 --> 00:44:32,000 ir tai yra tikrai gražus punkte pavyzdžiui atveju. 827 00:44:32,000 --> 00:44:37,000 Šis metodas yra tiesiog sako, aš noriu jums duoti man langelį. 828 00:44:37,000 --> 00:44:39,000 Tik iOS dalykas. 829 00:44:39,000 --> 00:44:41,000 Jei turite kažką panašaus 100.000 dainas į savo iPod 830 00:44:41,000 --> 00:44:45,000 iOS nenori daryti skirti 100.000 ląsteles, 831 00:44:45,000 --> 00:44:48,000 nes jei esate ne jūsų sąrašo viršuje, jūs tikrai reikia paskirstyti atmintį 832 00:44:48,000 --> 00:44:51,000 langelį, kad 99.000 eilutes žemyn? 833 00:44:51,000 --> 00:44:55,000 Ne, nes, kaip jūs slinkti galite natūra skirti, kaip jūs einate kartu. 834 00:44:55,000 --> 00:44:57,000 Tai padaryti už jus. 835 00:44:57,000 --> 00:44:59,000 Jūs neturite jaudintis, kad kvailas veiklos stuff. 836 00:44:59,000 --> 00:45:02,000 Viskas, ką jums sako jūs vadinate šį metodą dequeueReusableCellWithIdentifier 837 00:45:02,000 --> 00:45:06,000 ir tai sako, gerai, jei jums reikia aš ruošiuosi sukurti naują grupę, atsakingą už jus. 838 00:45:06,000 --> 00:45:09,000 >> Bet, jei esate ne lentelės apačioje ir jūs jau skirta apie ląsteles 839 00:45:09,000 --> 00:45:12,000 lentelės viršuje, kad jūs tikrai nesiruošia reikia artimiausiu metu 840 00:45:12,000 --> 00:45:15,000 Aš einu duoti jums tiems, atgal, o ne paskirstant naują, 841 00:45:15,000 --> 00:45:17,000 ir todėl tai yra gražus kokybės problema. 842 00:45:17,000 --> 00:45:21,000 Jūs neturite skirti į ląsteles patys. 843 00:45:21,000 --> 00:45:23,000 Kad ketina suteikti jums atgal į langelį. 844 00:45:23,000 --> 00:45:25,000 Jis ketina grįžti į mobilųjį objektą. 845 00:45:25,000 --> 00:45:28,000 Kai jūs turite mobilųjį objektą, galite tai padaryti stuff. 846 00:45:28,000 --> 00:45:32,000 Galite nustatyti langelio tekstą su šio objekto vadinamas tekstas etiketė. 847 00:45:32,000 --> 00:45:36,000 Galite įtraukti į rodyklę į dešinę arba kai kurių kitų atsitiktinių daiktų 848 00:45:36,000 --> 00:45:41,000 su šiuo kitu turtu vadinamas accessoryType, ir taip toliau, ir taip toliau. 849 00:45:41,000 --> 00:45:46,000 >> Leiskite pažvelgti iš esmės įgyvendinti Table View dabar. 850 00:45:46,000 --> 00:45:49,000 Kai aš sukūriau šį projektą 851 00:45:49,000 --> 00:45:53,000 Aš iš tikrųjų, o ne sako vieną peržiūrėti programos atėjau čia 852 00:45:53,000 --> 00:45:57,000 master-detail, ir todėl iš esmės tai atitinka pašto app 853 00:45:57,000 --> 00:46:01,000 ant stalo kairėje ir dešinėje turinys iPad. 854 00:46:01,000 --> 00:46:07,000 "IPod" ar "iPhone" tai vyksta atitinka vieną lentelės rodinyje. 855 00:46:07,000 --> 00:46:10,000 Štai kur aš gavau mano starterio kodą. 856 00:46:10,000 --> 00:46:13,000 >> Tegul pirmasis ne siužetinės linijos išvaizdą. 857 00:46:13,000 --> 00:46:15,000 Visa tai buvo padaryta man, iš esmės sukurta. 858 00:46:15,000 --> 00:46:18,000 Ši navigacijos juosta man parodė, ką pavyzdys ląstelės gali atrodyti, 859 00:46:18,000 --> 00:46:22,000 ir aš dukart spustelėkite, pakeisti pavadinimą. 860 00:46:22,000 --> 00:46:25,000 Bet kokie kiti UI susijęs galiu dirbti ten. 861 00:46:25,000 --> 00:46:27,000 Antraštės failas atrodo tikrai paprasta. 862 00:46:27,000 --> 00:46:30,000 , O ne sako tai UIViewController mes dabar sako, tai yra 863 00:46:30,000 --> 00:46:35,000 TableViewController, todėl mes žinome, kad mes norime paraginti visus tuos stalo metodus. 864 00:46:35,000 --> 00:46:38,000 Kitas aš noriu sukurti nekilnojamąjį turtą, kad ketina atstovauti 865 00:46:38,000 --> 00:46:40,000 viduje mano stalo dalykų. 866 00:46:40,000 --> 00:46:43,000 Ši lentelė savavališkai rodyti 867 00:46:43,000 --> 00:46:46,000 vaisių sąrašą, ir todėl reikia sukurti tam tikrą masyvas 868 00:46:46,000 --> 00:46:49,000 , kuriuo galiu įterpti vaisių. 869 00:46:49,000 --> 00:46:52,000 Viduje mano įgyvendinimo failą pirmas dalykas, ką aš noriu padaryti 870 00:46:52,000 --> 00:46:55,000 aš noriu įsitikinti, kad aš inicijuoti šio masyvo. 871 00:46:55,000 --> 00:46:58,000 >> Aš pasakiau ALLOC init, sukūrė savo vaisių masyvo, 872 00:46:58,000 --> 00:47:03,000 ir aš pridedant 4 dalykų, vienas iš kurių yra daug labiau kontraversiškas nei kitos 3. 873 00:47:03,000 --> 00:47:06,000 Ir dabar turiu 4 dydžio masyvą. 874 00:47:06,000 --> 00:47:08,000 Mes i ‰ purtydami CS50. 875 00:47:08,000 --> 00:47:11,000 Dabar aš turiu 4 dydžio masyvą. 876 00:47:11,000 --> 00:47:13,000 Dabar aš ruošiuosi pradėti atsakyti į šiuos klausimus, ir iš tikrųjų, 877 00:47:13,000 --> 00:47:16,000 kai aš sukūriau šią programą, visa tai jau buvo padaryta už mane. 878 00:47:16,000 --> 00:47:19,000 Aš neturėjau įvesti iš sekcijų skaičių lentelės rodinyje. 879 00:47:19,000 --> 00:47:22,000 Jis jau buvo ten, ir aš užpildyti ruošiniai. 880 00:47:22,000 --> 00:47:24,000 Kiek skyrių aš turiu? 881 00:47:24,000 --> 00:47:26,000 Vienas. Viskas padaryta. 882 00:47:26,000 --> 00:47:28,000 Kiek eilučių aš turiu? 883 00:47:28,000 --> 00:47:31,000 Na, aš turiu vieną eilutę kiekvienam vaisių, todėl šis skaičius 884 00:47:31,000 --> 00:47:34,000 bet matrica, sako, kaip didelis yra nuosavybė? 885 00:47:34,000 --> 00:47:36,000 Tai, kiek eilučių turiu. 886 00:47:36,000 --> 00:47:42,000 Galiausiai, aš turiu pasakyti, ką kiekviena ląstelė atrodyti? 887 00:47:42,000 --> 00:47:46,000 Aš ruošiuosi pasakyti dequeueReusableCellWithIdentifier. 888 00:47:46,000 --> 00:47:48,000 >> Vėlgi, tai jau buvo parašyta man. 889 00:47:48,000 --> 00:47:51,000 Aš neturėjau tai padaryti save, ir aš noriu grįžti 890 00:47:51,000 --> 00:47:54,000 tai šioje vietoje ląstelių. 891 00:47:54,000 --> 00:47:57,000 Prisiminti, kad mes telefonu tą patį metodą kiekvieną langelį, 892 00:47:57,000 --> 00:48:01,000 ir šis argumentas čia, tai indexPath argumentas, 893 00:48:01,000 --> 00:48:03,000 sako, ką eilutė aš tikiu. 894 00:48:03,000 --> 00:48:05,000 Jei aš sakau, čia indexPath.row žemyn 895 00:48:05,000 --> 00:48:09,000 tai bus 0, tada jis bus 1, tada ji bus 2, ir tai, kad aš žinau, 896 00:48:09,000 --> 00:48:11,000 ką ląstelių aš dabar rodyti. 897 00:48:11,000 --> 00:48:15,000 Noriu nustatyti langelio tekstą, naudodami šį textLabel turtą 898 00:48:15,000 --> 00:48:19,000 eiti viduje mano vaisių masyvo ir gauti 899 00:48:19,000 --> 00:48:21,000 objektas atitinka kiekvienoje eilutėje. 900 00:48:21,000 --> 00:48:24,000 Jei tai yra eilutė, aš dabar nustatymo 901 00:48:24,000 --> 00:48:28,000 tekstas nuosavybė į eilutę. 902 00:48:28,000 --> 00:48:30,000 Galiu padaryti vienas kitas dalykas. 903 00:48:30,000 --> 00:48:32,000 Taip pat galiu registruotis aptarnavimo įvykio apie kiekvieną ląstelių, 904 00:48:32,000 --> 00:48:35,000 todėl, kai aš bakstelėkite kiekvieną iš šių ląstelių 905 00:48:35,000 --> 00:48:39,000 šį didSelectRowAtIndexPath, tai man bus vadinamas, 906 00:48:39,000 --> 00:48:42,000 tiesiog apibrėžiant aš dabar gali valdyti tai, kas vyksta 907 00:48:42,000 --> 00:48:46,000 kai jūs bakstelėkite langelį, ir vėl, mes artimųjų ląstelė, kurioje buvo paliesti 908 00:48:46,000 --> 00:48:50,000 , kad galėtume panaudoti tą pačią aptarnavimo įvykio mūsų ląstelių. 909 00:48:50,000 --> 00:48:53,000 >> Vėlgi, tai yra kažkas iOS daro už mane. 910 00:48:53,000 --> 00:48:55,000 Leiskite parodyti kitą erzina Iššokantis 911 00:48:55,000 --> 00:48:59,000 , kad tiesiog sako, kad jūs įlaipinami kažką, kur, kad kažkas 912 00:48:59,000 --> 00:49:04,000 bus eilutė objektas. 913 00:49:04,000 --> 00:49:10,000 Kai aš paleisti, aš norėčiau, kad šis gražus Table View 914 00:49:10,000 --> 00:49:14,000 vienoje eilutėje kiekvienam iš šių vaisių, ir jei aš palieskite vieną 915 00:49:14,000 --> 00:49:16,000 jis man sako, kas atsitiko. 916 00:49:16,000 --> 00:49:21,000 Prasminga? 917 00:49:21,000 --> 00:49:24,000 Kurkime šiek tiek daugiau sudėtinga app, 918 00:49:24,000 --> 00:49:28,000 kiek spustelėdami pasirinktas pomidorų. 919 00:49:28,000 --> 00:49:31,000 Gražus dalis apie storyboarding 920 00:49:31,000 --> 00:49:35,000 tai ne tik ketina padėti mums kurti ekranus atskirai, 921 00:49:35,000 --> 00:49:38,000 jis taip pat ketina padėti mums susieti visą mūsų programą, 922 00:49:38,000 --> 00:49:42,000 taigi galutinis app būsime pastatas šis gražus sporto naujienos skaitytuvas, 923 00:49:42,000 --> 00:49:45,000 ir todėl ji ketina turėti kelis ekranus, ir todėl aš iš tikrųjų gali atstovauti 924 00:49:45,000 --> 00:49:48,000 kiekvienas iš šių kelių ekranų siužetinės linijos, 925 00:49:48,000 --> 00:49:52,000 ir aš galiu padidinti ir pamatyti savo programą iš aukšto lygio. 926 00:49:52,000 --> 00:49:55,000 >> Siekiant sukurti naują elemento viduje mano siužetinės linijos 927 00:49:55,000 --> 00:49:59,000 tai tikrai paprasta viduje Interface Builder. 928 00:49:59,000 --> 00:50:01,000 Jei aš noriu pridėti dar vieną ekraną, pavyzdžiui, 929 00:50:01,000 --> 00:50:06,000 Galiu nutolinti su pinch zoom, kad "Apple" myli tiek daug, 930 00:50:06,000 --> 00:50:09,000 ir žemyn, kol aš ieškoti mygtuko 931 00:50:09,000 --> 00:50:12,000 ir aš mygtuką, vilkite ir upuść 932 00:50:12,000 --> 00:50:15,000 jei aš noriu sukurti naują ekraną, aš iš tikrųjų galite tiesiog vilkite ir upuść 933 00:50:15,000 --> 00:50:19,000 Visas vaizdas valdiklis, todėl, jei aš pasiimti tai, patraukite jį čia, 934 00:50:19,000 --> 00:50:23,000 hey, dar vienas ekranas, ir todėl dabar naudoja tą patį failą siužetinės linijos 935 00:50:23,000 --> 00:50:26,000 Galiu turėti visi viduje mano app ekranuose, ir aš galiu nutolinti 936 00:50:26,000 --> 00:50:28,000 ir pamatyti, kaip jie sąveikauja. 937 00:50:28,000 --> 00:50:32,000 Tai bus ne bendrauti. 938 00:50:32,000 --> 00:50:36,000 Būdas, kuriuo sąveikauja šie 2 ekranai jums apibrėžti santykius. 939 00:50:36,000 --> 00:50:39,000 Galite iš esmės pasakyti šį ekraną, kai paspaudžiate šį mygtuką, 940 00:50:39,000 --> 00:50:42,000 Aš noriu, kad slysta į šią naują ekraną. 941 00:50:42,000 --> 00:50:44,000 Tai reiškia, kad tokio santykio 942 00:50:44,000 --> 00:50:46,000  Pirmasis ekranas Antrasis ekranas. 943 00:50:46,000 --> 00:50:49,000 Jūs turite iš esmės nuo to mygtuko rodyklę į antrą ekraną 944 00:50:49,000 --> 00:50:53,000 sakydamas, kad kai paspausite šį mygtuką, kad ten, kur aš noriu eiti. 945 00:50:53,000 --> 00:50:57,000 Tiesiog, kaip mes kontroliuojame paspaudėte ir nutempė apibrėžti šios realizavimo rinkos 946 00:50:57,000 --> 00:51:01,000 mes ketiname padaryti tą patį apibrėžti šias segues. 947 00:51:01,000 --> 00:51:05,000 >> Mes pamatysime pavyzdį, kad ir, kol mes iš tikrųjų perėjimas 948 00:51:05,000 --> 00:51:08,000 iš vieno ekrano į kitą IOS yra gražus pakanka paskambinti šiuo būdu 949 00:51:08,000 --> 00:51:11,000 vadinamas prepareForSegue, ir tai yra, kai mes galime pradėti 950 00:51:11,000 --> 00:51:14,000 siunčiant duomenis iš vieno į kitą app. 951 00:51:14,000 --> 00:51:17,000 Pateiktame pavyzdyje mes pažvelgti į ją bus iš esmės leidžia mums 952 00:51:17,000 --> 00:51:20,000 filtruoti beisbolo komandos nuo lygų ir padalijimų. 953 00:51:20,000 --> 00:51:23,000 Kai aš pasirinkite lygą, pavyzdžiui, aš noriu perėjimas 954 00:51:23,000 --> 00:51:25,000 į mano kitą ekrane, kur galiu rodyti visus iš skyrių 955 00:51:25,000 --> 00:51:27,000 toje lygoje ar visų skirtingų komandų. 956 00:51:27,000 --> 00:51:31,000 Man reikia siųsti į tą ekraną, ką komandos turėtų rodyti. 957 00:51:31,000 --> 00:51:35,000 Norėdami tai padaryti, kad aš ruošiuosi pasinaudoti šiuo metodu, čia. 958 00:51:35,000 --> 00:51:39,000 >> Galiausiai, tik atsitiktinis taškas iOS. 959 00:51:39,000 --> 00:51:41,000 Jei norite saugoti duomenis, ten tai dalykas, vadinamas pagrindinių duomenų, 960 00:51:41,000 --> 00:51:44,000 kuris iš tikrųjų yra sudėtinga dirbti su natūra. 961 00:51:44,000 --> 00:51:47,000 Taip pat galite naudoti SQL duomenims saugoti, 962 00:51:47,000 --> 00:51:51,000 vėl yra gražus, bet tipo daugiau sudėtingas pusėje dirbti, 963 00:51:51,000 --> 00:51:55,000 bet iOS "taip pat palaiko šiuos tikrai cool ko vadinamas turto sąrašai, 964 00:51:55,000 --> 00:52:00,000 ir turto sąrašas yra tik failas, kuris atstovauja rakto reikšmė porų. 965 00:52:00,000 --> 00:52:03,000 Jūs apibrėžtumėte raktų sąrašą, ir jums sako, kad šis mygtukas bus masyvas. 966 00:52:03,000 --> 00:52:06,000 Šis raktas bus eilutė, ir iš esmės viską, ką gali padaryti 967 00:52:06,000 --> 00:52:10,000 JSON jūs galite padaryti viduje nekilnojamojo turto sąrašo, 968 00:52:10,000 --> 00:52:14,000 ir todėl tai tikrai gražiai leidžia mums dirbti su kai kurių duomenų. 969 00:52:14,000 --> 00:52:18,000 Pavyzdžiui, aš turiu šį Teams.plist, kad aš sukūriau. 970 00:52:18,000 --> 00:52:22,000 Aš sukūriau naują plist failą, ir aš galiu išskleiskite. 971 00:52:22,000 --> 00:52:26,000 Tai žodynas, žodynas, tai yra stygos, 972 00:52:26,000 --> 00:52:30,000 ir todėl tai yra gražus grafinis JSON dokumento 973 00:52:30,000 --> 00:52:33,000 arba tiesiog pagrindinių vertės porų rinkinys, 974 00:52:33,000 --> 00:52:37,000 ir todėl tai yra duomenys, kad aš dirbti su viduje mano app. 975 00:52:37,000 --> 00:52:40,000 >> Tegul pirmasis atvyksta čia. Mes turime daug daugiau failų. 976 00:52:40,000 --> 00:52:44,000 Bet tegul pirmas atėjai čia į siužetinę liniją. 977 00:52:44,000 --> 00:52:48,000 Siužetinės linijos čia, jei aš galiu padidinti 978 00:52:48,000 --> 00:52:51,000 dabar mes galime pamatyti, kad tai mano app srautas. 979 00:52:51,000 --> 00:52:53,000 Aš pirmą kartą ketina pradėti šiame ekrane. 980 00:52:53,000 --> 00:52:55,000 Aš ruošiuosi išskleiskite į šį ekraną, 981 00:52:55,000 --> 00:52:58,000 ir aš ruošiuosi išskleiskite į šį ekraną, ir mes galime pamatyti čia, kad jei aš tipo 982 00:52:58,000 --> 00:53:04,000 perkelti vieną iš šių aplink mes šios rodyklės vyksta nuo čia iki čia, 983 00:53:04,000 --> 00:53:08,000 ir taip, kaip man nustatyti, kad rodyklę, jei aš padidinti šiek tiek, 984 00:53:08,000 --> 00:53:12,000 ir jei aš atėjau į šį vaizdo valdiklio, 985 00:53:12,000 --> 00:53:16,000 ir čia yra ląstelių, ir aš noriu pasakyti, kad, kai jūs bakstelėkite langelį 986 00:53:16,000 --> 00:53:18,000 Aš noriu, į skaidrę į kitą ekraną. 987 00:53:18,000 --> 00:53:21,000 Galiu tiesiog laikykite nuspaudę kontrolę, 988 00:53:21,000 --> 00:53:26,000 Pereikite šiek tiek, laikykite nuspaudę kontrolę, vilkite šį langelį ir atleiskite. 989 00:53:26,000 --> 00:53:30,000 >> Ir čia mes pasakyti, kas pereinamasis laikotarpis, kad jūs norite naudoti? 990 00:53:30,000 --> 00:53:32,000 Ar norite naudoti, kad skaidrių dalykas, tai vadinama stumti? 991 00:53:32,000 --> 00:53:34,000 Ar norite, kad skaidrių iš apačios? 992 00:53:34,000 --> 00:53:36,000 Tai vadinama modalinis. 993 00:53:36,000 --> 00:53:40,000 Ir kai aš spustelėkite vieną iš šių, tai ketina padaryti man šią rodyklę, 994 00:53:40,000 --> 00:53:44,000 , o tai reiškia, kad aš iš tikrųjų tvarkomi, kas atsitinka, kai aš paspauskite šį mygtuką grafiškai. 995 00:53:44,000 --> 00:53:48,000 Aš ne rašyti bet kokį kodą, kad iš tikrųjų skaidrių iš vieno ekrano į kitą. 996 00:53:48,000 --> 00:53:51,000 Aš tai apibrėžta vizualiai viduje Interface Builder. 997 00:53:51,000 --> 00:53:55,000 Jei aš spustelėkite šią rodyklę, mes galime pamatyti, kad aš davė šis dalykas vardą. 998 00:53:55,000 --> 00:53:59,000 Aš pašaukiau jį showDivisions, ir tai, kad aš galiu žinoti 999 00:53:59,000 --> 00:54:03,000 perėjimas apie atsirasti, ir mes pamatyti, kodėl tik sek. 1000 00:54:03,000 --> 00:54:06,000 Štai, kaip aš laidinio mano app skirtingus ekranus. 1001 00:54:06,000 --> 00:54:09,000 Jei tai buvo mygtukas, pavyzdžiui, o ne lentelę, 1002 00:54:09,000 --> 00:54:11,000 Aš negalėjau kontroliuoti, paspauskite mygtuką, vilkite per į kitą ekraną, 1003 00:54:11,000 --> 00:54:16,000 ir tai, kaip aš galiu padaryti, navigacijos, kad taip. 1004 00:54:16,000 --> 00:54:19,000 >> Tikrai greitai, jei mes einame į MasterViewController 1005 00:54:19,000 --> 00:54:22,000 dar kartą, mes tiesiog ketina nustatyti iš sąrašo dalykų 1006 00:54:22,000 --> 00:54:26,000 , kuri bus rodoma lentelės rodinyje. 1007 00:54:26,000 --> 00:54:29,000 Čia aš pasakyti, kad aš noriu, kad jūs, kad plist failą 1008 00:54:29,000 --> 00:54:32,000 ir aš noriu jį įdėti į žodyną, 1009 00:54:32,000 --> 00:54:35,000 ir kai jūs turite šį žodyną, aš ruošiuosi atsakyti į tuos pačius klausimus vėl. 1010 00:54:35,000 --> 00:54:37,000 Čia yra sekcijų skaičius. 1011 00:54:37,000 --> 00:54:41,000 Vienas iš jų, yra viena eilutė kiekvienam lygoje, ir kiekvienos ląstelės tekstas 1012 00:54:41,000 --> 00:54:46,000 turėtų būti pirmasis, pirmoji lyga, antra lyga, ir taip toliau. 1013 00:54:46,000 --> 00:54:51,000 Galiausiai, aš naudoti šį metodą, kad mes tiesiog pamatė, pavadintą prepareForSegue, 1014 00:54:51,000 --> 00:54:54,000 ir tai yra metodas, kuris ketina būti atleistas, kai aš spustelėkite 1015 00:54:54,000 --> 00:54:57,000 vieną iš šių eilučių, todėl aktyvinti, kad perėjimas 1016 00:54:57,000 --> 00:54:59,000 kad aš su rodyklėmis. 1017 00:54:59,000 --> 00:55:02,000 Tai sakydamas, kad aš gali turėti keletą 1018 00:55:02,000 --> 00:55:05,000 santykiai nuo vieno ekrano į kitą. 1019 00:55:05,000 --> 00:55:08,000 Jeigu aš turiu 2 mygtukus ir kiekvienas mygtukas, pateksite į kitą ekraną 1020 00:55:08,000 --> 00:55:10,000 Aš ruošiuosi 2 segues, 1 Kiekvienam mygtukui. 1021 00:55:10,000 --> 00:55:14,000 Bet šis prepareForSegue yra, vėlgi, bus pakartotinai naudoti 1022 00:55:14,000 --> 00:55:17,000 kiekvienam iš skirtingų santykių, todėl tai reiškia, kad man reikia būdas 1023 00:55:17,000 --> 00:55:21,000 nustatyti, jei jūs paspauskite mygtuką arba paspauskite mygtuką antrą. 1024 00:55:21,000 --> 00:55:25,000 >> Atsimenu, kai aš davė, kad Segue pavadinimas, tai showDivisions, 1025 00:55:25,000 --> 00:55:29,000 tai, kaip aš dabar žinau, kad tai yra Segue buvo aktyvuota. 1026 00:55:29,000 --> 00:55:32,000 Viskas, ką aš noriu padaryti, tai noriu pasakyti, 1027 00:55:32,000 --> 00:55:35,000 Aš noriu išsiaiškinti, kas aš tiesiog paspauskite, 1028 00:55:35,000 --> 00:55:38,000 ir taip gauti, kad aš galiu pasakyti, aš noriu, kad pasirinktos eilutės indexPath 1029 00:55:38,000 --> 00:55:42,000 prisiminti indexPath tiesiog sako, kai aš tiesiog paspaudėte, 1030 00:55:42,000 --> 00:55:47,000 ir tada aš noriu pasakyti, kad aš nori išsiaiškinti, kur aš einu. 1031 00:55:47,000 --> 00:55:50,000 Tai destinationViewController, tai Segue nuosavybė. 1032 00:55:50,000 --> 00:55:53,000 Štai ekrane, aš ruošiuosi, 1033 00:55:53,000 --> 00:55:56,000 taip, aš žinau, kad aš ruošiuosi ekranas vadinamas DivisionsViewController 1034 00:55:56,000 --> 00:55:59,000 nes aš sukūriau šią klasę, 1035 00:55:59,000 --> 00:56:02,000 ir todėl dabar, jei aš sakau, d.divisions 1036 00:56:02,000 --> 00:56:06,000 Aš dabar nustatyti view valdytojo turtą, aš apie eiti į. 1037 00:56:06,000 --> 00:56:10,000 Tai kaip aš siunčiant duomenis iš vieno ekrano į kitą ekraną. 1038 00:56:10,000 --> 00:56:13,000 >> Tiesiog žiūri į šio DivisionsViewController 1039 00:56:13,000 --> 00:56:16,000 galite pamatyti čia, kad H failo 1040 00:56:16,000 --> 00:56:20,000 yra, kad nekilnojamojo turto skyriai, ir tai, ką aš iš esmės užpildant, 1041 00:56:20,000 --> 00:56:25,000 todėl tai, kaip aš žinau, kad aš rodyti atitinkančius padalinius 1042 00:56:25,000 --> 00:56:28,000 lygoje, kad aš spustelėjote, ir vėl, 1043 00:56:28,000 --> 00:56:31,000 faktinis lentelės rodinys atrodo beveik tą patį, tiesiog atsakyti į tuos, 1044 00:56:31,000 --> 00:56:34,000 3 paprastus klausimus, taip pat nustatyti 1045 00:56:34,000 --> 00:56:37,000 kas atsitinka, kai jums pereiti į kitą ekraną. 1046 00:56:37,000 --> 00:56:40,000 Tik pora kitų dalykų čia. 1047 00:56:40,000 --> 00:56:43,000 Jūs pastebėsite, kad čia viršuje, o ne sako # include 1048 00:56:43,000 --> 00:56:45,000 Aš dabar sako, # import. 1049 00:56:45,000 --> 00:56:47,000 Tai tiesiog Objective-C dalykas. 1050 00:56:47,000 --> 00:56:52,000 Importas iš esmės gražiau versija yra, 1051 00:56:52,000 --> 00:56:57,000 ir, pavyzdžiui, mes turime žinoti, ką ši klasė yra, 1052 00:56:57,000 --> 00:57:00,000 todėl aš negaliu tiesiog pasakyti DivisionsViewController. 1053 00:57:00,000 --> 00:57:05,000 Jei mes ne hashtag standardio.c mūsų c failo viduje 1054 00:57:05,000 --> 00:57:07,000 sudarytojas turėjau ne idėja, kas printf buvo. 1055 00:57:07,000 --> 00:57:12,000 Be to, jei aš ne importuoti DivisionsViewController 1056 00:57:12,000 --> 00:57:16,000 sudarytojas tikrai neturi idėjos, ką DivisionsViewController. 1057 00:57:16,000 --> 00:57:19,000 Tiesiog įsitikinkite, kad skiriasi. M failus viduje jūs įsitikinkite, kad importuoti 1058 00:57:19,000 --> 00:57:25,000 atitinkami h failus, kad kompiliatorius žino, kas vyksta. 1059 00:57:25,000 --> 00:57:31,000 >> Galiausiai, ką "Apple" galiausiai daro, yra rodyti tam tikrus duomenis, naudojant interneto vaizdą, 1060 00:57:31,000 --> 00:57:35,000 ir taip peržiūrėti tinklalapių yra objektas, kuriame galite įdėti 1061 00:57:35,000 --> 00:57:37,000 šiek tiek interneto naršyklė viduje jūsų app. 1062 00:57:37,000 --> 00:57:40,000 Viskas, ką jums reikia padaryti, yra pateikti URL į savo interneto naršyklę, 1063 00:57:40,000 --> 00:57:43,000 todėl aš noriu, eiti į mlb.mlb.com, 1064 00:57:43,000 --> 00:57:46,000 ir tai, kaip aš galiu gauti prieigą pagrindinį puslapį kiekvienai komandai, 1065 00:57:46,000 --> 00:57:49,000 ir daro priimdamas šį URL adresą. 1066 00:57:49,000 --> 00:57:52,000 peržiūrėti tinklalapių gali rodyti tai už mane, ir aš galiu naršyti aplink, 1067 00:57:52,000 --> 00:58:01,000 ir simuliatorius yra naudoti, kad vienas. 1068 00:58:01,000 --> 00:58:03,000 Dabar tai atėjo iš mano plist. 1069 00:58:03,000 --> 00:58:07,000 Jei aš spustelėkite šį taip pat atėjo iš mano plist, ir šis stumdomas perkrauta 1070 00:58:07,000 --> 00:58:09,000 pagal apibrėžiant tuos segues. 1071 00:58:09,000 --> 00:58:12,000 Spauskite šį mygtuką ir dar vienas, 1072 00:58:12,000 --> 00:58:15,000 ir dabar čia yra mano, todėl tiesiog patinka, kad UIWebView 1073 00:58:15,000 --> 00:58:19,000 čia yra, kad aš tiesiog integruotas URL tinklapyje, 1074 00:58:19,000 --> 00:58:21,000 ir aš neturėjo nieko dirbti kvailai. 1075 00:58:21,000 --> 00:58:24,000 Tai, kaip interneto puslapį. 1076 00:58:24,000 --> 00:58:27,000 Dalykų, kaip ši mygtuką "Atgal", čia taip pat suteikta man 1077 00:58:27,000 --> 00:58:33,000 visiškai nemokamai, nes aš apibrėžti šiuos ryšius per segues. 1078 00:58:33,000 --> 00:58:37,000 >> Turite klausimų? Taip. 1079 00:58:37,000 --> 00:58:40,000 [Studentų] Taigi, kai jūs naudojate ALLOC jūs niekada turi laisvo nieko? 1080 00:58:40,000 --> 00:58:43,000 Tiksliai,, kai skambinate ALLOC ir init jūs neturite jį išlaisvinti. 1081 00:58:43,000 --> 00:58:46,000 IOS ketina dirbti visa tai už jus. 1082 00:58:46,000 --> 00:58:51,000 Tai nuostabu, ir jūs ne nesilaikantiems jokių taisyklių. Taip. 1083 00:58:51,000 --> 00:58:54,000 [Studentų] Jei norite įtraukti daugiau komandų, kad galėtų tilpti ekrane, 1084 00:58:54,000 --> 00:58:58,000 automatiškai slinkties variantą, arba, kad kažkas jums reikia pridėti? 1085 00:58:58,000 --> 00:59:01,000 Tiksliai, jei aš turėjo daugiau komandų, pavyzdžiui, jis būtų automatiškai tvarkyti 1086 00:59:01,000 --> 00:59:04,000 man nemirksi, o visos veiklos susirūpinimą 1087 00:59:04,000 --> 00:59:08,000 su didžiuliais lentelėje taip pat tvarko visiškai už mane. 1088 00:59:08,000 --> 00:59:11,000 >> Kiti klausimai? 1089 00:59:11,000 --> 00:59:13,000 Visi šio kodekso turi būti paskelbtas. 1090 00:59:13,000 --> 00:59:16,000 Mes tipo glossed šiek tiek smulkesnių detalių, 1091 00:59:16,000 --> 00:59:19,000 tačiau dalykų, pavyzdžiui, nustatant tam tikras savybes į interneto 1092 00:59:19,000 --> 00:59:22,000 yra tik dalykų, kad jūs galite gauti naršyti Apple dokumentus, 1093 00:59:22,000 --> 00:59:24,000 kuri yra tikrai, tikrai gražiai išdėstyti. 1094 00:59:24,000 --> 00:59:27,000 Jie turi daug pavyzdžių apps ir pavyzdys papročius 1095 00:59:27,000 --> 00:59:34,000 įvairių API, todėl tikrai žiūrinėti, jei galite. 1096 00:59:34,000 --> 00:59:36,000 Tik keletas naudingų nuorodų, galbūt norėsite pažvelgti. 1097 00:59:36,000 --> 00:59:38,000 Tai yra keletas patogus dokumentacijai vadovai. 1098 00:59:38,000 --> 00:59:41,000 URL yra milžiniška, todėl jie sutrumpintas. 1099 00:59:41,000 --> 00:59:44,000 Tai pirmasis visą biblioteką dokumentų. 1100 00:59:44,000 --> 00:59:46,000 Yra nedaug paieškos barai, todėl, jei jums pradėti rašyti mygtuką 1101 00:59:46,000 --> 00:59:50,000 ji pradės, kad suteiktų jums visą informaciją apie visų dalykų, kuriuos galite padaryti su mygtuku. 1102 00:59:50,000 --> 00:59:53,000 Aš taip pat Table View programavimo vadovas. 1103 00:59:53,000 --> 00:59:56,000 Jis tvarko stalo požiūrį į daug išsamiau, 1104 00:59:56,000 --> 01:00:00,000 , kaip daryti dalykus, kaip dinamiškai pridėti ląstelių arba redaguoti ląsteles arba pašalinti. 1105 01:00:00,000 --> 01:00:02,000 >> Yra daug imties apps, Apple, kad jums parodysiu, kaip padaryti, kad, 1106 01:00:02,000 --> 01:00:05,000 ir, galiausiai, tai naujausia yra Human Interface gairės 1107 01:00:05,000 --> 01:00:09,000 ir tai iš esmės diskusija kai kurie vartotojo sąsajos komponentų, 1108 01:00:09,000 --> 01:00:12,000 dalykų, pavyzdžiui, ne padaryti mygtuką, kuris "4 pikselių iki 4 taškų. 1109 01:00:12,000 --> 01:00:15,000 Tai yra bloga idėja, ir kitų dalykų, kad "Apple" nori jums reikia padaryti, 1110 01:00:15,000 --> 01:00:18,000 skatinti gerą dizainą. 1111 01:00:18,000 --> 01:00:23,000 >> Paskutinę klausimai, kol mes baigti? 1112 01:00:23,000 --> 01:00:27,000 Viskas bus gerai, tikrai jaučiasi laisvai mes ketiname turėti specialias etiketes jaunimo savaitė. 1113 01:00:27,000 --> 01:00:30,000 Mes turime IOS 1, todėl tikrai nedvejodami naudoti, kad. 1114 01:00:30,000 --> 01:00:34,000 Jei norite dirbti su savo klasiokų projektams 1115 01:00:34,000 --> 01:00:37,000 arba padėti suprasti, šiek tiek atsitiktinių iOS stuff 1116 01:00:37,000 --> 01:00:40,000 nedvejodami rašykite man, ir tikrai žiūrinėti visą kodą internete, nes 1117 01:00:40,000 --> 01:00:43,000 tik laiko interesų mes tipo glossed daugiau 1118 01:00:43,000 --> 01:00:45,000 prabangiau grūdėtu informacija dalykų. 1119 01:00:45,000 --> 01:00:47,000 Bet jei ne, tada Sėkmės savo iOS projektų, ir aš tikiuosi, kad mes turime 1120 01:00:47,000 --> 01:00:53,000 didelis antplūdis Apps "App Store". 1121 01:00:53,000 --> 01:00:56,000 [CS50.TV]