1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Szeminárium] [iOS: Writing Apps Like a Boss] 2 00:00:02,000 --> 00:00:04,000 [Tommy MacWilliam] [Harvard Egyetem] 3 00:00:04,000 --> 00:00:08,000 [Ez a CS50.] [CS50.TV] 4 00:00:08,000 --> 00:00:12,000 >> Rendben, mindenki, üdvözlünk iOS: Writing Apps, mint a Boss. 5 00:00:12,000 --> 00:00:16,000 A szeminárium fog összpontosítani írásban apps az iPhone 6 00:00:16,000 --> 00:00:19,000 és viszont írásban apps az iPad, és így mi alapvetően majd séta 7 00:00:19,000 --> 00:00:23,000 egy pár másik példát arra, hogyan, hogy egy app, egy egyszerű játék, mint a Tic Tac Toe, 8 00:00:23,000 --> 00:00:26,000 vagy ha jobban érdekel, hogy egy app, mint valami hírolvasó 9 00:00:26,000 --> 00:00:30,000 vagy valami, hogy együttműködik az Internet fogok erről beszélni is. 10 00:00:30,000 --> 00:00:32,000 Itt a rövid napirenden. 11 00:00:32,000 --> 00:00:36,000 >> IOS apps nyelven írt nevezett Objective-C, 12 00:00:36,000 --> 00:00:39,000 és így ez egy kicsit hasonlít a C, de nem igazán egyáltalán, 13 00:00:39,000 --> 00:00:41,000 így fogunk beszélni egy kicsit a nyelv maga 14 00:00:41,000 --> 00:00:45,000 és akkor hogyan kell építeni iPhone apps használatával app nevű program XCode, 15 00:00:45,000 --> 00:00:48,000 amelyek, ha még nem töltötte le, hogy még nyugodtan a letöltés elindításához most. 16 00:00:48,000 --> 00:00:50,000 Ez több gigabájt. 17 00:00:50,000 --> 00:00:54,000 Meg kell ingyen az App Store, így lesz szükségük van egy Mac 18 00:00:54,000 --> 00:00:57,000 ideálisan fut a legújabb verzióját OS X. 19 00:00:57,000 --> 00:00:59,000 Ha nem, nem probléma. 20 00:00:59,000 --> 00:01:02,000 Van Mac a tudományos központban rendelkezésre álló saját használatra 21 00:01:02,000 --> 00:01:05,000 A XCode telepítve, és így nyugodtan használja ezeket a fejlődésnek. 22 00:01:05,000 --> 00:01:07,000 Ha azt szeretnénk, hogy egy alkalmazás, de nincs Mac, ne aggódj. 23 00:01:07,000 --> 00:01:09,000 Rengeteg campus források ezt. 24 00:01:09,000 --> 00:01:15,000 És így aztán megyünk fedezésére 2 nagyobb példák a különböző alkalmazások megteheti. 25 00:01:15,000 --> 00:01:19,000 Objective-C műszakilag az úgynevezett szuper sor C. 26 00:01:19,000 --> 00:01:24,000 Ez azt jelenti, hogy a C kód is érvényes Objective-C kódot. 27 00:01:24,000 --> 00:01:29,000 Ez azt jelenti, hogy a fajta kábelcsatorna szalagos néhány további funkciók a C. 28 00:01:29,000 --> 00:01:33,000 Néhány ilyen funkciók közé tartozik, hogy nem kell soha többé írni malloc, hála istennek, 29 00:01:33,000 --> 00:01:36,000 Nem kell aggódnia a hülye mutatók és felszabadítja őket, és minden ilyesmi 30 00:01:36,000 --> 00:01:40,000 Ön utálta mintegy C, és ez a fajta ment Objective-C. 31 00:01:40,000 --> 00:01:43,000 >> Most, Objective-C is van egy sokkal nagyobb standard könyvtár, 32 00:01:43,000 --> 00:01:47,000 így sokkal több funkciót kapsz ingyen belsejének Objective-C. 33 00:01:47,000 --> 00:01:50,000 Emlékszel, amikor írtak PHP vettük észre, hogy mi ment 34 00:01:50,000 --> 00:01:54,000 E legkisebb nyelv a hatalmas könyvtár mindezek őrült dolog, amit tehetünk. 35 00:01:54,000 --> 00:01:56,000 Ugyanez történik az iOS. 36 00:01:56,000 --> 00:01:59,000 Van objektumok dolgok, mint például a buddhista naptár és igazán semmit 37 00:01:59,000 --> 00:02:05,000 akkor esetleg gondolni talán már létezik Objective-C végrehajtását. 38 00:02:05,000 --> 00:02:08,000 A cél részben az Objective-C hivatkozó valamit 39 00:02:08,000 --> 00:02:11,000 úgynevezett objektum-orientált programozás. 40 00:02:11,000 --> 00:02:14,000 Ez a fajta egy új koncepció, de még valójában többnyire tanult 41 00:02:14,000 --> 00:02:17,000 sok ezeket a fogalmakat már. 42 00:02:17,000 --> 00:02:19,000 Az ötlet mögött objektum-orientált programozás, hogy fogsz strukturálása 43 00:02:19,000 --> 00:02:23,000 egy csomó kódot körül ezeket a dolgokat az úgynevezett osztályok, 44 00:02:23,000 --> 00:02:26,000 és ezek az osztályok valóban megdicsőült struktúrákat. 45 00:02:26,000 --> 00:02:30,000 Belül egy struct mi alapvetően azt mondta, itt van egy dolog, 46 00:02:30,000 --> 00:02:32,000 és ez a dolog lehet tagja. 47 00:02:32,000 --> 00:02:35,000 Például egy csomópont a csatolt jegyzék más dolgok 48 00:02:35,000 --> 00:02:38,000 mint egy értéket, egy mutatót a következő csomópont a listán, 49 00:02:38,000 --> 00:02:44,000 és ezzel együtt, hogy a mutató értéke, és hogy áll ez például egy struct. 50 00:02:44,000 --> 00:02:47,000 Osztályok nagyon hasonló, kivéve 51 00:02:47,000 --> 00:02:50,000 osztályok olyan funkciói is bennük. 52 00:02:50,000 --> 00:02:54,000 Amikor hirdetett struct, mi csak annyit tudott mondani int n vagy csomópont * következő. 53 00:02:54,000 --> 00:02:57,000 >> Most Objective-C tudjuk ténylegesen funkciók 54 00:02:57,000 --> 00:02:59,000 belül azokat a dolgokat. 55 00:02:59,000 --> 00:03:03,000 A másik dolog, hogy az osztályok tehetünk, hogy örökölheti adatokat más osztályokba. 56 00:03:03,000 --> 00:03:07,000 Például, mi lesz nézi most egy csomó beépített Objective-C osztály. 57 00:03:07,000 --> 00:03:11,000 Ezek egyike lehet az osztály, amely képviseli a nézetben a képernyőn, 58 00:03:11,000 --> 00:03:14,000 és ezért azzal szeretném végre a saját érdekében 59 00:03:14,000 --> 00:03:18,000 mi alapvetően mondjuk valakit az Apple valószínűleg nagyon kedves emberek, 60 00:03:18,000 --> 00:03:21,000 írta ezt az osztályt nekem, és ez kezeli a dolgokat, mint a megjelenítő nyomógombok 61 00:03:21,000 --> 00:03:25,000 vagy teszi a képernyőt, és mi lenne igazán fájdalmas 62 00:03:25,000 --> 00:03:28,000 végrehajtása minden alkalmassága magunkat, és így egyszerűen 63 00:03:28,000 --> 00:03:31,000 örökölje az adatok azt mondhatjuk, mindent, amit tettél ebben az osztályban 64 00:03:31,000 --> 00:03:34,000 Azt is szeretném belsejében osztályban, aztán megyek, hogy néhány más dolgot, 65 00:03:34,000 --> 00:03:37,000 nevezetesen végrehajtása app. 66 00:03:37,000 --> 00:03:40,000 Ez az, amit ez a szó örökséget jelent. Meglátjuk, egy konkrét példát. 67 00:03:40,000 --> 00:03:42,000 >> És végül, a legfontosabb az objektum-orientált programozás, hogy a 68 00:03:42,000 --> 00:03:45,000 vezet adatok kapszulázáshoz. 69 00:03:45,000 --> 00:03:48,000 A néhány probléma meghatározza mi lehetett volna ezek a nagy, globális változók 70 00:03:48,000 --> 00:03:51,000 és globals mindenhol, és ez hogyan lenne nyomon követni az állam. 71 00:03:51,000 --> 00:03:55,000 Az osztályok kezdhetjük kapszulázó információkat belsejében egy tárgy. 72 00:03:55,000 --> 00:03:58,000 Ha van egy képernyő a app, akkor nem igazán kell, hogy olyan adatokat, 73 00:03:58,000 --> 00:04:01,000 másik képernyőre a mi app belül, hogy a 74 00:04:01,000 --> 00:04:04,000 így a dolgok kapszulázó belül osztályokba ez valójában vezet 75 00:04:04,000 --> 00:04:08,000 A sokkal jobb kód tervezés, és ez lehetséges néhány a további funkciók 76 00:04:08,000 --> 00:04:11,000 Az Objective-C. 77 00:04:11,000 --> 00:04:15,000 Forewarning, a szintaxis Objective-C banán. 78 00:04:15,000 --> 00:04:19,000 Ez olyan, mintha semmit sem láttuk korábban, 79 00:04:19,000 --> 00:04:22,000 így egy kicsit a tanulási görbe megszokni 80 00:04:22,000 --> 00:04:24,000 mi a francot jelent ez? 81 00:04:24,000 --> 00:04:27,000 De ha egyszer kap múlt, hogy a kezdeti tanulási görbe, hogy ez nagyon, nagyon sima 82 00:04:27,000 --> 00:04:29,000 írásához apps. 83 00:04:29,000 --> 00:04:33,000 >> Ahhoz, hogy állapítsa meg egy osztályt, azaz itt az én osztály, létezik, 84 00:04:33,000 --> 00:04:35,000 és talán itt van néhány dolog, amit meg fogok később, 85 00:04:35,000 --> 00:04:38,000 Fogok mondani @ interfész. 86 00:04:38,000 --> 00:04:41,000 Fogok mondani @ interfész. Fogok adni osztályomba egy nevet. 87 00:04:41,000 --> 00:04:43,000 És majd később valahol máshol fogok mondani @ end, 88 00:04:43,000 --> 00:04:46,000 és minden, ami a kettő között a @ interfész és a @ end 89 00:04:46,000 --> 00:04:48,000 lesz az osztályomba. 90 00:04:48,000 --> 00:04:51,000 Ez lesz a mi van benne a mi. H fájlokat. 91 00:04:51,000 --> 00:04:55,000 Csakúgy, mint a C a. H fájlok lényegében azt mondta, itt van néhány dolog, ami létezik. 92 00:04:55,000 --> 00:04:57,000 Én nem feltétlenül azt mondom, amit csinálnak még, 93 00:04:57,000 --> 00:04:59,000 de a fordító tudnia kell, hogy léteznek. 94 00:04:59,000 --> 00:05:04,000 Később belül mi. M-fájlokat, mert m Objective-C 95 00:05:04,000 --> 00:05:08,000 van, ahol mi tényleg lesz meghatározni, hogy mi ezen osztályokba csinálni. 96 00:05:08,000 --> 00:05:11,000 Akárcsak mi. C fájlokat, feltéve hogy a végrehajtási feladatokat. 97 00:05:11,000 --> 00:05:15,000 Belül a mi. M fájlt fogunk mondani, itt van, amit minden funkcióját 98 00:05:15,000 --> 00:05:18,000 belül az én osztály, amit mindannyian. 99 00:05:18,000 --> 00:05:22,000 És végül, belsejében egy struct mondhatnánk belül e kapcsos zárójelek 100 00:05:22,000 --> 00:05:25,000 int n vagy csomópont * next, 101 00:05:25,000 --> 00:05:28,000 és Objective-C fogjuk használni a kulcsszó @ ingatlan, 102 00:05:28,000 --> 00:05:31,000 és ez az, mi határozza meg a tulajdonságok, 103 00:05:31,000 --> 00:05:36,000 vagy a nem-függvények, amelyek egy része az én osztályok. 104 00:05:36,000 --> 00:05:40,000 >> Calling funkciók Objective-C is banán. 105 00:05:40,000 --> 00:05:43,000 Amikor bejelentett funkciók C mondtunk valami hasonlót int foo 106 00:05:43,000 --> 00:05:46,000 és nyitott zárójel, majd adott neki egy listát az érvek. 107 00:05:46,000 --> 00:05:51,000 Ez az, amit nyilvánító módszerek vagy funkciók néz ki, mint az Objective-C. 108 00:05:51,000 --> 00:05:54,000 Ha azt szeretnénk, hogy állapítsa meg a függvényt vagy eljárást 109 00:05:54,000 --> 00:05:58,000 ha azt mondom, a módszer tényleg csak egy függvény, hogy ez egy tagja egy osztály, 110 00:05:58,000 --> 00:06:01,000 olyan kedves cserélhető, de nem igazán, 111 00:06:01,000 --> 00:06:03,000 így belseje én módszerem szeretnék létrehozni egy új módszert. 112 00:06:03,000 --> 00:06:06,000 Ez megy vissza semmit, így lesz típusú semmis. 113 00:06:06,000 --> 00:06:08,000 Ez a visszatérési típus az én funkció. 114 00:06:08,000 --> 00:06:11,000 Most már parens itt, mert-nem tudom. 115 00:06:11,000 --> 00:06:14,000 Következő lesz a neve az én funkció, 116 00:06:14,000 --> 00:06:17,000 és végül van egy pontosvessző, mint volt a C. 117 00:06:17,000 --> 00:06:19,000 Mi az új itt ez a srác itt. 118 00:06:19,000 --> 00:06:22,000 Ez a kötőjel ténylegesen szükséges, és hogy ez mit mond az, hogy a 119 00:06:22,000 --> 00:06:26,000 ezt a módszert itt kell hívni egy példány egy osztály. 120 00:06:26,000 --> 00:06:29,000 >> Miután kijelentette, mi Struktúrák akkor valószínűleg valami olyasmit mondott 121 00:06:29,000 --> 00:06:32,000 struct csomópont n, és a ténylegesen létrehozott 122 00:06:32,000 --> 00:06:35,000 vagy példányai egy olyan struktúrákat, így én ténylegesen munkába 123 00:06:35,000 --> 00:06:38,000 és mi van a belsejében, így ez dash azt jelenti, hogy meg kell 124 00:06:38,000 --> 00:06:41,000 példányosítani az osztályt, mint mi példányosított hogy struct 125 00:06:41,000 --> 00:06:43,000 mielőtt hívhatjuk ezt a módszert rajta. 126 00:06:43,000 --> 00:06:46,000 Ha azt szeretnénk, hogy elkezd hozzá érvek a módszereim 127 00:06:46,000 --> 00:06:48,000 kap még banánt. 128 00:06:48,000 --> 00:06:50,000 Itt a módszer neve. 129 00:06:50,000 --> 00:06:53,000 Aztán megyek egy kettőspont, majd ezt követően kettőspont azt mondja, itt jön néhány érvet. 130 00:06:53,000 --> 00:06:56,000 Ez a módszer vesz egy érv. 131 00:06:56,000 --> 00:06:59,000 A típus az érv int, és a nevét ezen érvelés 132 00:06:59,000 --> 00:07:03,000 vagy a változó fogok kezdeni a belsejében a módszer az úgynevezett i. 133 00:07:03,000 --> 00:07:05,000 Ismét, ez a módszer. Beletelik egy érvet. 134 00:07:05,000 --> 00:07:10,000 >> Ha szeretne kezdeni hozzátéve, több érvet kap több banánt 135 00:07:10,000 --> 00:07:13,000 az, hogy már ez a vastagbél, hogy azt mondja, itt jön a listámon érveket. 136 00:07:13,000 --> 00:07:15,000 Az első argumentum egy egész szám. 137 00:07:15,000 --> 00:07:17,000 Nos, ez a második érv érdekes. 138 00:07:17,000 --> 00:07:20,000 A változó, hogy fogok használni belül saját függvény 139 00:07:20,000 --> 00:07:23,000 hívják f, így az én belső függvény mondhatnám 140 00:07:23,000 --> 00:07:25,000 f + = 1, vagy valami. 141 00:07:25,000 --> 00:07:30,000 Ez a dolog itt alapvetően egy kulcs érvelés vagy paraméter. 142 00:07:30,000 --> 00:07:34,000 Csakúgy, mint a mi volt kulcs érték párokat, és valami hasonló JSON vagy asszociatív tömbök 143 00:07:34,000 --> 00:07:37,000 Objective-C elhatározta, hogy azt mondják, oké, csak azért, hogy ez tényleg tiszta 144 00:07:37,000 --> 00:07:39,000 Ha hívja a módszer, amit ezek a paraméterek 145 00:07:39,000 --> 00:07:41,000 Én valóban megy elnevezni őket. 146 00:07:41,000 --> 00:07:45,000 Ha hívja a módszert, akkor tulajdonképpen mondani andFloat, 147 00:07:45,000 --> 00:07:47,000 és akkor add be 148 00:07:47,000 --> 00:07:50,000 >> Érdekes, hogy ez az ember nem nevezett, de az összes többi paraméter, 149 00:07:50,000 --> 00:07:53,000 így ha volt egy 3. érv mondhatnám andFloat 150 00:07:53,000 --> 00:07:56,000 és egy másik úszó és így tovább. 151 00:07:56,000 --> 00:08:01,000 Amikor hívom ezeket a módszereket, hogy természetesen banán 152 00:08:01,000 --> 00:08:04,000 így ha van egy tárgy, és meghatározott eljárás foo nevű, 153 00:08:04,000 --> 00:08:09,000 és szeretném hívni, ahelyett mondván foo nyit / zár parens 154 00:08:09,000 --> 00:08:11,000 Megyek megnyitni egy tartót. 155 00:08:11,000 --> 00:08:13,000 Itt van a neve a módszer. 156 00:08:13,000 --> 00:08:17,000 Megyek, hogy lezárja a konzol, és ez a tárgy hívom be. 157 00:08:17,000 --> 00:08:20,000 Ne feledje, hogy az összes ilyen módszerek léteznek osztályok 158 00:08:20,000 --> 00:08:23,000 mert osztályok lehetnek meghatározott módszerek bennük. 159 00:08:23,000 --> 00:08:26,000 >> Itt már önkényesen létrehozott objektum egyes osztály, 160 00:08:26,000 --> 00:08:28,000 és ez a szintaxis csinálja. 161 00:08:28,000 --> 00:08:31,000 Vannak 2 lépés létrehozása egy objektum. 162 00:08:31,000 --> 00:08:34,000 Az első lépés az, hogy azt szeretnék kiosztani helyet. 163 00:08:34,000 --> 00:08:37,000 Ez egyenértékű a malloc. Nem kell mondanom malloc többé. 164 00:08:37,000 --> 00:08:42,000 Mi elejtette a m tette alloc, és helyébe a. C-vel. M. 165 00:08:42,000 --> 00:08:47,000 Miután alloc valami, amit akkor kell formáznia azt. 166 00:08:47,000 --> 00:08:49,000 Alapvetően, ha új objektumok létrehozásához érdemes némi logika 167 00:08:49,000 --> 00:08:53,000 amely végrehajtja, ha ők teremtett, így át néhány alapértelmezett értékek 168 00:08:53,000 --> 00:08:57,000 vagy valami ilyesmi, és így ez a módszer init ami ténylegesen létrehozza az objektumot. 169 00:08:57,000 --> 00:08:59,000 Először lefoglalni helyet, mint tettük a C, 170 00:08:59,000 --> 00:09:04,000 és aztán inicializálni azt, ami lehet, hogy nem egy csomó. 171 00:09:04,000 --> 00:09:07,000 Aztán mi vissza ezt a dolgot egy objektum o. 172 00:09:07,000 --> 00:09:09,000 Van egy csillag itt, mert ez technikailag egy mutató, 173 00:09:09,000 --> 00:09:12,000 de ne aggódj, mutatók nem olyan nagy ügy az Objective-C többé. 174 00:09:12,000 --> 00:09:15,000 >> Most már ez az osztály példányai nevezett NSObject, 175 00:09:15,000 --> 00:09:19,000 és ez csak egy véletlen osztályt, hogy az Apple rendelkezik. 176 00:09:19,000 --> 00:09:22,000 Már példányai, és most van egy példány az ebbe az osztályba 177 00:09:22,000 --> 00:09:25,000 e tárgy o, így ez azt jelenti, hogy ha meghatározott 178 00:09:25,000 --> 00:09:29,000 ezek a módszerek tudtam hívni őket, mint ez. 179 00:09:29,000 --> 00:09:31,000 Hasonlóképpen, ha akartam hívni eljárás egy érvet, 180 00:09:31,000 --> 00:09:34,000 így ez a bár módszer, hogy vesz egy érv, 181 00:09:34,000 --> 00:09:38,000 és itt van a BAZ: qux módszer, így ez tart 2 érveket. 182 00:09:38,000 --> 00:09:44,000 Ez meghívják valamelyik funkció az objektum o. 183 00:09:44,000 --> 00:09:46,000 Értelme? 184 00:09:46,000 --> 00:09:50,000 A szintaxis kell semmi értelme, de a fajta szokni. 185 00:09:50,000 --> 00:09:54,000 >> Oké, beszéljünk néhány dolog, amelyeket beépítettek Objective-C 186 00:09:54,000 --> 00:09:56,000 , amelyek nem feltétlenül beépítve C. 187 00:09:56,000 --> 00:09:59,000 A C-ben is ilyen volt kezelni húrok, mivel ezek a hülye karakter tömbök, 188 00:09:59,000 --> 00:10:01,000 és ez aztán tényleg bosszantó. 189 00:10:01,000 --> 00:10:04,000 Objective-C rendelkezik az összes beépített nekünk, és ez beépített 190 00:10:04,000 --> 00:10:06,000 használatával nevű osztályt NSString. 191 00:10:06,000 --> 00:10:10,000 Ha azt akarom, hogy hozzon létre egy NSString már több misztikus szintaxist. 192 00:10:10,000 --> 00:10:15,000 Ahelyett, hogy azt mondja: "CS50" mondjuk @ "CS50" 193 00:10:15,000 --> 00:10:17,000 és ez még csak a szintaxis nyilvánító húrok Objective-C. 194 00:10:17,000 --> 00:10:21,000 Ez rendkívül könnyű elfelejteni, úgy nem. 195 00:10:21,000 --> 00:10:24,000 Nos, ha már van ez, ez egy string, de észre 196 00:10:24,000 --> 00:10:26,000 ez tényleg csak egy tárgy. 197 00:10:26,000 --> 00:10:30,000 Azt mondtam NSString, ami azt jelenti, hogy az osztály példányai 198 00:10:30,000 --> 00:10:32,000 nevű NSString, amely valaki más írt nekem, 199 00:10:32,000 --> 00:10:35,000 és ők nagyon kedvesek voltak róla, és így most 200 00:10:35,000 --> 00:10:37,000 Tudok kezdeni amelyben módszerek is. 201 00:10:37,000 --> 00:10:40,000 Ha hívja a módszer hosszúság ezt a tárgyat s 202 00:10:40,000 --> 00:10:43,000 ez fog visszatérni hozzám a hossza a húr. 203 00:10:43,000 --> 00:10:45,000 Ez olyan, mint a C strlen 204 00:10:45,000 --> 00:10:47,000 Ez vissza 4. 205 00:10:47,000 --> 00:10:51,000 >> Hasonlóképpen, egy másik módszert talán szeretnék érdekli ez characterAtIndex. 206 00:10:51,000 --> 00:10:54,000 Ez egy olyan módszer, amely azt mondja, ezen a húr s 207 00:10:54,000 --> 00:10:57,000 Azt akarom, hogy a 0. karakter, 208 00:10:57,000 --> 00:10:59,000 és így ez tér vissza hozzám a karakter c, 209 00:10:59,000 --> 00:11:02,000 és van egy csomó több ilyen módszerek segítségével Google igazán könnyen. 210 00:11:02,000 --> 00:11:07,000 Apple dokumentációja nagyon jó, és mi vessünk egy pillantást, hogy egy kicsit. 211 00:11:07,000 --> 00:11:09,000 Azok szálakat. 212 00:11:09,000 --> 00:11:11,000 Mi is változó méretű tömbök építettek be 213 00:11:11,000 --> 00:11:13,000 Ne feledje, a C, amikor kijelentette, tömb 214 00:11:13,000 --> 00:11:16,000 kellett mondani, van 5 elem, vége a történetnek. 215 00:11:16,000 --> 00:11:18,000 Amikor odaértünk a JavaScript és a PHP tudtunk kezdeni 216 00:11:18,000 --> 00:11:20,000 dolgok, mint hozzáadásával elemek vagy mozgó elemek. 217 00:11:20,000 --> 00:11:22,000 Meg tudjuk csinálni ugyanezt Objective-C. 218 00:11:22,000 --> 00:11:26,000 Ahelyett, hogy hozzon létre egy tömböt a szokásos módon, a C 219 00:11:26,000 --> 00:11:30,000 már megint egy másik osztályba nevezett NSMutableArray. 220 00:11:30,000 --> 00:11:33,000 Van még NSArray, 221 00:11:33,000 --> 00:11:35,000 és ez fog alapvetően beágyazására néhány tömb. 222 00:11:35,000 --> 00:11:38,000 Ez azt mondja, az első dolog, amit akarok, akarok kiosztani 223 00:11:38,000 --> 00:11:41,000 hely az új tömb, és miután én osztja azt 224 00:11:41,000 --> 00:11:43,000 Aztán kell formáznia azt. 225 00:11:43,000 --> 00:11:45,000 Ismét, csak hívja e 2 módszereket. 226 00:11:45,000 --> 00:11:48,000 Nos, ez azt jelenti, hogy az objektum belsejében egy 227 00:11:48,000 --> 00:11:50,000 Én egy üres tömböt ül ott. 228 00:11:50,000 --> 00:11:54,000 Ha azt akarom, hogy adjunk valamit az e tömb tudom hívni a addObject módszer. 229 00:11:54,000 --> 00:11:59,000 Azt szeretnénk hozzáadni egy objektumot a tömb egy, és szeretném felvenni a húr CS50. 230 00:11:59,000 --> 00:12:02,000 Ha akartam fordítva távolítsa el, hogy tudok mondani akarok 231 00:12:02,000 --> 00:12:09,000 távolítsa el a tárgyat az első helyen a tömb vagy kifogás a. 232 00:12:09,000 --> 00:12:11,000 >> Értelme? 233 00:12:11,000 --> 00:12:14,000 Oké, akkor milyen szokni ezt a szögletes zárójel dolog. 234 00:12:14,000 --> 00:12:18,000 By the way, belsejében egy csomó Apple könyvtárak meglátja ezt a NS. 235 00:12:18,000 --> 00:12:21,000 Az NS ténylegesen áll a következő lépés, ami egyike volt az első vállalat, Steve Jobs, 236 00:12:21,000 --> 00:12:24,000 , és ez az, ahol ő tényleg elkezdtem írni egy csomó kódot 237 00:12:24,000 --> 00:12:27,000 A fajta alapját a Mac OS X és az összes többi dolog, 238 00:12:27,000 --> 00:12:32,000 és így ez a fajta NS ezt a szép örökséget kiáltani az egyik korábbi társaságok 239 00:12:32,000 --> 00:12:34,000 vissza, amikor az Apple először kezdik el. 240 00:12:34,000 --> 00:12:36,000 Ez mindenhol. 241 00:12:36,000 --> 00:12:41,000 Vessünk egy pillantást egy átfogóbb Objective-C példa. 242 00:12:41,000 --> 00:12:44,000 Itt vagyok belül XCode. 243 00:12:44,000 --> 00:12:47,000 Ahhoz, hogy itt, először le XCode az App Store, 244 00:12:47,000 --> 00:12:50,000 nyitotta fel, aztán felmentem itt fájl, 245 00:12:50,000 --> 00:12:54,000 ide az új, majd projekt. 246 00:12:54,000 --> 00:12:57,000 Miután tudom, hogy én ezeket a lehetőségeket, hogy mit akarok létrehozni, 247 00:12:57,000 --> 00:12:59,000 és így lesz vess egy pillantást ezeket a lehetőségeket később, 248 00:12:59,000 --> 00:13:03,000 de csak ezt a példát, mert valójában nem megy, hogy egy app még, 249 00:13:03,000 --> 00:13:06,000 Azért jöttem ide, és azt mondtam: Command Line Tool, 250 00:13:06,000 --> 00:13:09,000 és ez egy app, hogy tudtam futni a parancssorban 251 00:13:09,000 --> 00:13:12,000 csakúgy, mint mi már futó C. 252 00:13:12,000 --> 00:13:16,000 Így hoztam létre ezt a projektet, és most itt vagyok, 253 00:13:16,000 --> 00:13:20,000 úgyhogy az első pillantást a fájlt, és ez csinos ismerős. 254 00:13:20,000 --> 00:13:24,000 Van egy int neve. Van barátom argc, a másik haver argv. 255 00:13:24,000 --> 00:13:30,000 És így láthatjuk, hogy ez a belépési pont az első Objective-C alkalmazás. 256 00:13:30,000 --> 00:13:32,000 Itt figyelmen kívül hagyhatjuk ezt most. 257 00:13:32,000 --> 00:13:35,000 Ez alapvetően némi memória kezelése dolgokat, hogy nem fogod igazán 258 00:13:35,000 --> 00:13:37,000 soha nem kell aggódnia. 259 00:13:37,000 --> 00:13:39,000 >> Nézzük az első mondat itt. 260 00:13:39,000 --> 00:13:46,000 Ez az első sor, ha azt mondom, Diák * alice = [[Student alloc] init] mi ez csinál? 261 00:13:46,000 --> 00:13:50,000 Ez az első diák van, ez valószínűleg egy osztály. 262 00:13:50,000 --> 00:13:54,000 Ez nem egy osztály, hogy az Apple írta, de ez egy osztályt, hogy én írtam. 263 00:13:54,000 --> 00:13:57,000 Az első dolog, amit akarok, akarok kiosztani hely egy új diák, 264 00:13:57,000 --> 00:14:00,000 aztán szeretném inicializálni, így ez ad vissza 265 00:14:00,000 --> 00:14:05,000 Az új diák objektumot, és én ezt a tároló változó nevű Alice. 266 00:14:05,000 --> 00:14:07,000 Honnan, hogy az osztály származik? 267 00:14:07,000 --> 00:14:12,000 Hát, ide a bal oldalon ezek mind különböző fájlok belsejében az én projekt. 268 00:14:12,000 --> 00:14:16,000 Láthatjuk, itt van egy Student.h és Student.m. 269 00:14:16,000 --> 00:14:20,000 A. H fájl, emlékszem, ahol kijelentem minden dolog 270 00:14:20,000 --> 00:14:22,000 amelyek léteznek az osztály. 271 00:14:22,000 --> 00:14:25,000 >> Vessünk egy pillantást. 272 00:14:25,000 --> 00:14:29,000 Rendben, itt van ez a @ interfész, és ez azt mondja, hogy itt jön 273 00:14:29,000 --> 00:14:33,000 nyilatkozatok minden, ami létezik, az én osztályban. 274 00:14:33,000 --> 00:14:36,000 Aztán van egy kettőspont. Aztán van ez NSObject dolog. 275 00:14:36,000 --> 00:14:40,000 Ez azt jelenti, hogy vastagbél öröklés bit beszéltünk egy kicsit korábban. 276 00:14:40,000 --> 00:14:43,000 Ez azt mondja, mindent egy NSObject tehet 277 00:14:43,000 --> 00:14:46,000 amennyiben NSObject van ez az osztály írta valaki más, 278 00:14:46,000 --> 00:14:50,000 Mindent ez NSObject tehetünk akarok, hogy képes legyen erre. 279 00:14:50,000 --> 00:14:54,000 By mondván: NSObject, hogy azt jelenti, hogy alapvetően 280 00:14:54,000 --> 00:14:58,000 örökölte összes funkciót egy másik osztály. 281 00:14:58,000 --> 00:15:02,000 Ez tényleg adott nekem egy csomó különböző módszerek és tulajdonságok tudom használni. 282 00:15:02,000 --> 00:15:05,000 Itt lent hozok létre 2 tulajdonságait. 283 00:15:05,000 --> 00:15:08,000 Ez azt jelenti, tanítványom, ha ez a struct, ezek lennének a 2 dolog 284 00:15:08,000 --> 00:15:11,000 belül a struct, így minden hallgató egy nevet 285 00:15:11,000 --> 00:15:14,000 ez egy string, és a diák is van egy osztály, 286 00:15:14,000 --> 00:15:17,000 ami egy int. 287 00:15:17,000 --> 00:15:23,000 >> Végül ide megyek, hogy hozzon létre egy módszert a tanítványom. 288 00:15:23,000 --> 00:15:26,000 Felhívtam a módszer, initWithName, és vesz egy érv, 289 00:15:26,000 --> 00:15:31,000 és ez az érv egy string, és azt nevezte nevezni. 290 00:15:31,000 --> 00:15:35,000 Most nézzük meg, hogyan ténylegesen végrehajtották ezt az osztályt. 291 00:15:35,000 --> 00:15:38,000 Itt most én vagyok benne az én. M fájl, 292 00:15:38,000 --> 00:15:40,000 m végrehajtását, azt hiszem. 293 00:15:40,000 --> 00:15:44,000 Nálam van a végrehajtás, a végén, és itt, ahol vagyok ténylegesen meghatározó 294 00:15:44,000 --> 00:15:47,000 mit initWithName csinál. 295 00:15:47,000 --> 00:15:50,000 Én initWithName a neve az én paraméter, majd ezt 296 00:15:50,000 --> 00:15:53,000 ahol én tulajdonképpen létre egy diák, 297 00:15:53,000 --> 00:15:56,000 és így ez egy kicsit rejtélyes, de ez a fajta boilerplate 298 00:15:56,000 --> 00:15:58,000 kívánt fel a kivitelezők. 299 00:15:58,000 --> 00:16:02,000 Ez az inicializálási funkció itt initWithName, egyfajta kivitelező. 300 00:16:02,000 --> 00:16:05,000 Te alapvetően építése egy új diák objektumot 301 00:16:05,000 --> 00:16:07,000 és talán küld néhány adat benne. 302 00:16:07,000 --> 00:16:11,000 Az első dolog, amit akarok, akarok hívni init e szuper dolog. 303 00:16:11,000 --> 00:16:15,000 >> Ne feledje, hogy amikor azt mondtam, itt hátul a. H fájlban 304 00:16:15,000 --> 00:16:21,000 hogy mindent egy NSObject egy diák is. 305 00:16:21,000 --> 00:16:24,000 Ez azt jelenti, ha tudok létrehozni egy diák mit is kell tennie, hogy 306 00:16:24,000 --> 00:16:28,000 győződjön meg arról, hogy a NSObject, hogy én vagyok örökölje minden adott adatok 307 00:16:28,000 --> 00:16:32,000 is tökéletesen inicializálni. 308 00:16:32,000 --> 00:16:36,000 Azt kell mondanom, ez a szuper ténylegesen megy nézze meg a szülő osztály 309 00:16:36,000 --> 00:16:39,000 , hogy én vagyok-tól örökli, ezért szeretnénk, hogy győződjön meg arról, I inicializálása 310 00:16:39,000 --> 00:16:43,000 mindent, hogy én vagyok függően mielőtt elkezdek akarják használni azt. 311 00:16:43,000 --> 00:16:46,000 Aztán, ha ez megfelelően inicializálni ez csak, mintha azt mondanánk, ha malloc 312 00:16:46,000 --> 00:16:50,000 nem tért vissza null, akkor tudok kezdeni beállításával néhány tulajdonságát. 313 00:16:50,000 --> 00:16:54,000 >> A JavaScript és a PHP mi volt erre a kulcsszóra nevezte ezt, 314 00:16:54,000 --> 00:16:58,000 és ez az említett, a jelenlegi például egy osztály. 315 00:16:58,000 --> 00:17:00,000 Az Objective-C hívjuk ezt én. 316 00:17:00,000 --> 00:17:04,000 Amikor azt mondom, self.name, ami azt jelenti, hogy az objektum 317 00:17:04,000 --> 00:17:07,000 Én csak létre, amikor azt mondtam, diák alloc init, 318 00:17:07,000 --> 00:17:09,000 hogy fog adni nekem vissza egy objektumot. 319 00:17:09,000 --> 00:17:12,000 Ez azt jelenti, hogy szeretné állítani a nevét, hogy a tárgy 320 00:17:12,000 --> 00:17:15,000 hogy amit csak telt be 321 00:17:15,000 --> 00:17:18,000 Csakúgy, mint a C, akkor elérheti tagok e pont, 322 00:17:18,000 --> 00:17:21,000 így self.name mondja a nevét, a hallgató objektum 323 00:17:21,000 --> 00:17:24,000 most lesz, amit most telt be 324 00:17:24,000 --> 00:17:28,000 És végül, én vissza, szóval én tényleg kap valamit. 325 00:17:28,000 --> 00:17:30,000 >> Kérdései vannak? 326 00:17:30,000 --> 00:17:34,000 Oké, szóval ez a self = super init, 327 00:17:34,000 --> 00:17:37,000 ha nem teljesen értem, az öröklési anyag ne aggódj. 328 00:17:37,000 --> 00:17:40,000 Csak tudom, hogy ha valaha is szeretnénk, hogy a saját init módszer csak 329 00:17:40,000 --> 00:17:42,000 csinálni, és akkor lesz jó menni. 330 00:17:42,000 --> 00:17:44,000 Aha. >> [Student] Mit jelent, ha ön jelent? 331 00:17:44,000 --> 00:17:49,000 Ez azt jelenti, ha malloc valami, amit mindig ellenőrizni, ha ez egyenlő null, 332 00:17:49,000 --> 00:17:51,000 és ha volt null, aztán kilépett. 333 00:17:51,000 --> 00:17:55,000 Ez ugyanaz a dolog, mert ha ez visszatér null, akkor mi valószínűleg fog seg hiba 334 00:17:55,000 --> 00:17:57,000 ha elkezdünk próbálja manipulálni. 335 00:17:57,000 --> 00:18:01,000 Ez a mi hallgatói osztály. 336 00:18:01,000 --> 00:18:03,000 Ez azt jelenti, hogy inicializálni a hallgatók kétféleképpen. 337 00:18:03,000 --> 00:18:08,000 Ha azt mondom, hallgató alloc init Én nem használja ezt a módszert, hogy én csak írtam, 338 00:18:08,000 --> 00:18:11,000 és ehelyett azt egyszerűen mondani alice.name, 339 00:18:11,000 --> 00:18:14,000 és most megyek be, hogy a tulajdonság nevét. 340 00:18:14,000 --> 00:18:17,000 >> Hasonlóképpen, ha akarom használni, hogy initWithName módszer 341 00:18:17,000 --> 00:18:20,000 Én egyszerűen azt alloc, majd ahelyett, mondván init 342 00:18:20,000 --> 00:18:24,000 Fogom hívni, hogy a módszer, hogy én csak létre, és megyek át a Bob. 343 00:18:24,000 --> 00:18:30,000 Ezen a ponton, az objektum Bob van neve egyenlő Bob. 344 00:18:30,000 --> 00:18:35,000 Oké, itt lent, hogy én vagyok a NSMutableArray hogy néztük korábban. 345 00:18:35,000 --> 00:18:38,000 Én elosztásának space.Then Én inicializálása egy új tömböt. 346 00:18:38,000 --> 00:18:40,000 Megyek hozzá 2 dolgot hozzá. 347 00:18:40,000 --> 00:18:43,000 Ez a tömb most tart hallgató tárgyakat. 348 00:18:43,000 --> 00:18:46,000 Figyeljük meg, hogy sehol nem azt kell mondanom, hogy ez egy tömb versenyző. 349 00:18:46,000 --> 00:18:48,000 Azt mondtam, hogy ez egy tömb, időszak. 350 00:18:48,000 --> 00:18:50,000 Aztán nem tud bármit belül az, hogy akarok. 351 00:18:50,000 --> 00:18:52,000 Itt van 2 objektumokat. 352 00:18:52,000 --> 00:18:56,000 >> Végül, van egy másik célja van, ez a TF. 353 00:18:56,000 --> 00:18:59,000 Több itt TF.h alapvetően ugyanaz a dolog. 354 00:18:59,000 --> 00:19:01,000 Én örökli származó NSObject, és az úton, 355 00:19:01,000 --> 00:19:03,000 amikor létrehoz osztályok ez mindezt az Ön számára, 356 00:19:03,000 --> 00:19:06,000 ilyen felület boilerplate. 357 00:19:06,000 --> 00:19:08,000 Ez a tulajdonság a diákok. 358 00:19:08,000 --> 00:19:15,000 Nekem van egy pár módszert, hogy itt nem igazán csinál egy csomó, 359 00:19:15,000 --> 00:19:18,000 és így azt jelenti, hogy miután létrehozni ezt a TF objektumot 360 00:19:18,000 --> 00:19:23,000 Tudom hívni ezt a módszert fokozat rajta, mint ez. 361 00:19:23,000 --> 00:19:26,000 Bármilyen kérdésre Objective-C szintaxis mielőtt elkezdjük költözik még több 362 00:19:26,000 --> 00:19:30,000 Érdekes apps fejlesztés cucc? 363 00:19:30,000 --> 00:19:34,000 >> Oké, nézzük valójában, hogy egy iPhone app. 364 00:19:34,000 --> 00:19:39,000 Az alapvető osztályok, hogy te leszel a belsejében az iPhone app nevezzük nézet vezérlők, 365 00:19:39,000 --> 00:19:42,000 és kilátással vezérlő alapvetően jelentése egyetlen képernyőn 366 00:19:42,000 --> 00:19:46,000 belül az app, így ha én vagyok a zene app, például 367 00:19:46,000 --> 00:19:50,000 egy nézetet vezérlő reprezentálja a nézetet, amit többet az összes dal az én iPhone. 368 00:19:50,000 --> 00:19:53,000 Egy másik nézet vezérlő lehet, amikor rákattintok egy dalt, és kezdj el játszani, hogy 369 00:19:53,000 --> 00:19:55,000 vagy mint én belekattint művészek. 370 00:19:55,000 --> 00:19:59,000 Minden e különböző képernyők is képviselteti magát egy másik nézet vezérlő, 371 00:19:59,000 --> 00:20:04,000 és kilátással vezérlő tényleg csak egy osztály, amely azt mondja, hogy ez hogyan működik a képernyőn. 372 00:20:04,000 --> 00:20:07,000 A dolgok belsejében egy nézet vezérlő fogunk tulajdonságokkal, 373 00:20:07,000 --> 00:20:10,000 így a dolgok, mint egy gomb lesz egy ingatlan a mi nézet vezérlő. 374 00:20:10,000 --> 00:20:13,000 >> Mi is lesz, hogy a módszerek, és ezek alapvetően eseménykezelőt. 375 00:20:13,000 --> 00:20:16,000 Ez a módszer azt mondja, ha megnyomja ezt a gombot, 376 00:20:16,000 --> 00:20:19,000 Azt akarom, hogy tegyen valamit, és végül ismét 377 00:20:19,000 --> 00:20:24,000 fogjuk használni ezt a self kulcsszó eléréséhez az aktuális példány. 378 00:20:24,000 --> 00:20:29,000 Kiépítéséhez interfészek iOS valójában nagyon, nagyon egyszerű. 379 00:20:29,000 --> 00:20:32,000 Nekik van ez a szép drag and drop interface nevű Interface Builder, 380 00:20:32,000 --> 00:20:37,000 és a 2 alapvető fogalmak vezeték fel Objective-C Interface Builder 381 00:20:37,000 --> 00:20:40,000 a IBOutlet és IBAction. 382 00:20:40,000 --> 00:20:44,000 Egy IBOutlet egyszerűen azt mondja, hogy ha egy ingatlant kijelenti, hogy ez a gomb, 383 00:20:44,000 --> 00:20:47,000 és szeretné horog fel valami a tényleges UI, 384 00:20:47,000 --> 00:20:49,000 fogod mondani, hogy ez egy konnektorba. 385 00:20:49,000 --> 00:20:51,000 Hasonlóképpen, ha azt szeretnénk, hogy képviselje egy eseménykezelő 386 00:20:51,000 --> 00:20:54,000 akkor fogod mondani, hogy ez egy műveletet. 387 00:20:54,000 --> 00:20:57,000 >> Ahhoz, hogy valóban ezt a vezetéket grafikus ábrázolás 388 00:20:57,000 --> 00:21:00,000 , és a kódot, ez nagyon, nagyon egyszerű. 389 00:21:00,000 --> 00:21:03,000 Ha azt szeretnénk csatolni egy IBOutlet, mindössze annyit kell tennie, hogy te irányítod kattintással, 390 00:21:03,000 --> 00:21:05,000 és meglátjuk, példa erre nagyon gyors. 391 00:21:05,000 --> 00:21:07,000 Ön kontrollálhatja kattintson oda, ahol azt mondja megnézése Controller. 392 00:21:07,000 --> 00:21:09,000 Fogsz húzza be a felületet, vagy fordítva, 393 00:21:09,000 --> 00:21:13,000 ha azt szeretnénk, hogy beköt egy eseménykezelő fogsz húzza a felület 394 00:21:13,000 --> 00:21:15,000 a másik irányba. 395 00:21:15,000 --> 00:21:20,000 Vessünk egy pillantást egy nagyon egyszerű iOS példa. 396 00:21:20,000 --> 00:21:23,000 >> Hozzunk létre egy új projektet. 397 00:21:23,000 --> 00:21:25,000 Fogok jönni ide, Jelentkezés, 398 00:21:25,000 --> 00:21:28,000 és megyek, hogy kattintson egy nézet Application. 399 00:21:28,000 --> 00:21:31,000 Megyek kattintson a Tovább gombra. Adok a projekt nevét. 400 00:21:31,000 --> 00:21:33,000 Hívom, hogy Hello. 401 00:21:33,000 --> 00:21:36,000 Érdekes, hogy az Apple azt feltételezi, te létre egy terméket, 402 00:21:36,000 --> 00:21:38,000 így eladni és ők is pénzt. 403 00:21:38,000 --> 00:21:41,000 Itt lent fogom mondani, hogy ez egy iPhone app. 404 00:21:41,000 --> 00:21:44,000 Hozhat létre egy iPad app, vagy ha azt szeretné, hogy hozzon létre egy olyan alkalmazások 405 00:21:44,000 --> 00:21:47,000 , amely támogatja a két készülék, amit tehetünk, hogy túl. 406 00:21:47,000 --> 00:21:49,000 Ezek mit szeretne a pipa, hogy néz ki. 407 00:21:49,000 --> 00:21:51,000 >> Szeretné használni forgatókönyveket, amit majd látni fogjuk, 408 00:21:51,000 --> 00:21:54,000 és akkor biztosan szeretné használni az automatikus referencia számlálást, 409 00:21:54,000 --> 00:21:58,000 ami egy szép funkció, amely megakadályozza, hogy kelljen mondani malloc és free. 410 00:21:58,000 --> 00:22:03,000 Hacsak nem akarod hívni malloc és free szeretném hagyni ezt lefoglalt. 411 00:22:03,000 --> 00:22:07,000 Majd kattintson a Tovább gombra, és végül ez lesz kérdezni, ha akarom menteni. 412 00:22:07,000 --> 00:22:14,000 Én hit létre, és itt vagyunk. 413 00:22:14,000 --> 00:22:16,000 Hoztam létre egy új projektet. 414 00:22:16,000 --> 00:22:19,000 Ide, a bal oldalon vannak a fájlok belül a projekt 415 00:22:19,000 --> 00:22:22,000 , és vegyük észre, hogy kaptam egy csomó, és én nem is csináltam semmit. 416 00:22:22,000 --> 00:22:24,000 IOS nagyszerű. 417 00:22:24,000 --> 00:22:27,000 >> Például itt ez ViewController.h, 418 00:22:27,000 --> 00:22:30,000 ez fogja képviselni az első nézet vezérlő, 419 00:22:30,000 --> 00:22:32,000 így az első képernyő belsejében az én app. 420 00:22:32,000 --> 00:22:34,000 Most már tudjuk, hogy ez mit mond. 421 00:22:34,000 --> 00:22:36,000 Azt mondja, hogy én hívom ezt az osztályt ViewController, 422 00:22:36,000 --> 00:22:40,000 és ViewController mindent megtesz, hogy egy UIViewController nem, 423 00:22:40,000 --> 00:22:43,000 és ez ismét van néhány osztályt, hogy az Apple azt írta, hogy nem sok praktikus dolog számunkra 424 00:22:43,000 --> 00:22:46,000 szeretném megjeleníteni a képernyőn. 425 00:22:46,000 --> 00:22:50,000 Itt, ahol én ténylegesen elindulhasson meghatározzák, hogy mi véleményem adatkezelő nem, 426 00:22:50,000 --> 00:22:52,000 , és kiderül, hogy tényleg nincs szükségem erre. 427 00:22:52,000 --> 00:22:55,000 Ez boilerplate kódot, hogy az Apple ad nekem ingyen. 428 00:22:55,000 --> 00:22:59,000 Én kell, hogy az első sorban, vagy én nem egy osztály, 429 00:22:59,000 --> 00:23:02,000 így tudunk megszabadulni ez és hogy eltűnjön ez. 430 00:23:02,000 --> 00:23:05,000 Oké, ez az én üres képernyő. 431 00:23:05,000 --> 00:23:08,000 >> Most kattintson erre MainStoryboard.storyboard, 432 00:23:08,000 --> 00:23:11,000 és ez az, ahol kezd érdekes. 433 00:23:11,000 --> 00:23:14,000 Ez az első képernyő én kb. 434 00:23:14,000 --> 00:23:17,000 Ha azt szeretnénk hozzáadni egy gombot, a HTML-ben kellett, hogy hozzon létre egy gombot tag. 435 00:23:17,000 --> 00:23:20,000 Az Android létre kell hozni egy gombot tag, 436 00:23:20,000 --> 00:23:23,000 de iOS ha csak gyere le ide, hogy a jobb alsó 437 00:23:23,000 --> 00:23:27,000 és ha kattintson erre a 3. itt senki, ha azt mondja, Tárgyak, 438 00:23:27,000 --> 00:23:31,000 és én lapozzunk lefelé, vagy tudok elkezdi keresni a gombot. 439 00:23:31,000 --> 00:23:35,000 És nézd, a gomb, így ha én tényleg drag and drop e ott, 440 00:23:35,000 --> 00:23:38,000 Már csak hozzá egy gombot a képernyő én kb. 441 00:23:38,000 --> 00:23:41,000 Ha meg akarom változtatni a szöveget, én duplán kattintson rá, 442 00:23:41,000 --> 00:23:47,000 mondani valamit, csábító, mint a "Nyomja meg engem." 443 00:23:47,000 --> 00:23:51,000 Oké, most ha én ezt az alkalmazást futtatni, így fordítani, 444 00:23:51,000 --> 00:23:54,000 így futtatni I. kattintson a lejátszás gombra a bal felső sarokban, és én kb. 445 00:23:54,000 --> 00:23:58,000 Én nem csináltam semmit, és kaptam egy édes látszó iPhone app. 446 00:23:58,000 --> 00:24:01,000 Ha azt szeretné állítani, akkor kattintson a stop gombra 447 00:24:01,000 --> 00:24:03,000 mert ez több móka. 448 00:24:03,000 --> 00:24:07,000 >> Tegyük fel, hogy én tényleg akarom, hogy történjen valami, amikor megnyomja ezt a gombot. 449 00:24:07,000 --> 00:24:09,000 Ehhez mit kell tennie, azt létre kell hozni 450 00:24:09,000 --> 00:24:13,000 új eseménykezelő vagy cselekvés. 451 00:24:13,000 --> 00:24:16,000 Ez azt jelenti, hogy létre kell hozni valamilyen módszer, hogy szeretnék hívni 452 00:24:16,000 --> 00:24:18,000 mikor nyomja meg a gombot, így hozzunk létre egy új módszer. 453 00:24:18,000 --> 00:24:20,000 Én belül ViewController.h. 454 00:24:20,000 --> 00:24:22,000 Meg kell mondani, hogy egy módszer létezik. 455 00:24:22,000 --> 00:24:26,000 Szükségem van egy kötőjel elsősorban azért, mert fogom hívni ezt a nézetet vezérlő. 456 00:24:26,000 --> 00:24:28,000 Meg kell adni ezt a típust. 457 00:24:28,000 --> 00:24:31,000 A típus ez lesz, hogy IBAction dolog, hogy korábban láttuk. 458 00:24:31,000 --> 00:24:35,000 Ez egy eseménykezelő, így megy vissza egy IBAction, 459 00:24:35,000 --> 00:24:38,000 és ez egy célzást XCode mondani, hogy 460 00:24:38,000 --> 00:24:40,000 ez az, amit szeretnék drót valamit. 461 00:24:40,000 --> 00:24:45,000 Tudom, hogy ez a név, mint a buttonPressed, pontosvessző. 462 00:24:45,000 --> 00:24:48,000 >> Most már bejelentett egy új módszer belsejében osztályban. 463 00:24:48,000 --> 00:24:50,000 Már mondta, hogy ez a módszer létezik. 464 00:24:50,000 --> 00:24:53,000 Most jönnek ViewController.m, 465 00:24:53,000 --> 00:24:56,000 és mondjuk, amit ez a módszer képes. 466 00:24:56,000 --> 00:25:03,000 Ha elkezdek gépelni, például a (void) buttonPressed 467 00:25:03,000 --> 00:25:06,000 nyilatkozat XCode igazán szép és automatikus kiegészítéshez nekem. 468 00:25:06,000 --> 00:25:09,000 Ez igazán csodálatos. 469 00:25:09,000 --> 00:25:12,000 Figyeljük meg, hogy itt belsejét. M-fájlt, azt is mondhatom semmis, 470 00:25:12,000 --> 00:25:15,000 és ez azért van, mert az IBAction valójában nem egy típus. 471 00:25:15,000 --> 00:25:19,000 Ez valójában hashtag meghatározott valahol, hogy egy üres, 472 00:25:19,000 --> 00:25:22,000 és újra, ez csak egy tipp, hogy azt mondja, hogy XCode 473 00:25:22,000 --> 00:25:25,000 Azt akarom, hogy ez egy eseménykezelő, és majd meglátjuk, miért csak a második. 474 00:25:25,000 --> 00:25:28,000 Ha ezt a gombot megnyomja fogok csinálni valamit bosszantó 475 00:25:28,000 --> 00:25:30,000 mint megjelenítéséhez popup. 476 00:25:30,000 --> 00:25:35,000 >> Ehhez, hogy hozzon létre egy új példányt ebbe az osztályba nevezett UIAlertView, 477 00:25:35,000 --> 00:25:39,000 és ez egy olyan osztály, amely azt írta, hogy az Apple fog megjeleníteni idegesítő popup. 478 00:25:39,000 --> 00:25:43,000 Hívjuk ezt a felugró figyelmeztető jelzést, és van 2 lépésben, ne feledje, hogy létre ezt az objektumot. 479 00:25:43,000 --> 00:25:46,000 Az első dolog, amit tennie kell, hogy osztja tér. 480 00:25:46,000 --> 00:25:48,000 Szeretnék egy UIAlertView. 481 00:25:48,000 --> 00:25:51,000 Szeretnék kiosztani helyet. Ez az első módszer. 482 00:25:51,000 --> 00:25:53,000 A következő módszer akarom inicializálni azt, 483 00:25:53,000 --> 00:25:58,000 , és így van ez a nagy, hosszú metódust initWithTitle. 484 00:25:58,000 --> 00:26:01,000 Ez alapvetően fogja irányítani, amit ez popup mondja. 485 00:26:01,000 --> 00:26:04,000 A cím az én bezárása lehet hello. 486 00:26:04,000 --> 00:26:08,000 Az üzenet az e Ablak lehet "Ez iOS." 487 00:26:08,000 --> 00:26:10,000 Küldött dolog, nem tudom, mi az. 488 00:26:10,000 --> 00:26:13,000 Tegyük fel, hogy ez semmi. 489 00:26:13,000 --> 00:26:18,000 Most a gomb fog megjelenni lehet mondani valami ilyesmit: "Az biztos, hogy az, hogy" 490 00:26:18,000 --> 00:26:24,000 és én nem igazán akarok más gombokat, úgyhogy törölje azt, és zárja be a konzolt. 491 00:26:24,000 --> 00:26:27,000 >> Oké, hoztam létre egy extra egyet. Ott vagyunk. 492 00:26:27,000 --> 00:26:30,000 Ezt hogyan lehet létrehozni egy új popup. 493 00:26:30,000 --> 00:26:35,000 Ha azt akarom, hogy valóban azt mutatják, a felugró szeretném hívni a show módszer. 494 00:26:35,000 --> 00:26:38,000 Ehhez mondhatom éber és show, 495 00:26:38,000 --> 00:26:40,000 és újra, autocomplete was super nice. 496 00:26:40,000 --> 00:26:42,000 Ha elfelejtettem, hogy mi volt, ha csak beírt s, 497 00:26:42,000 --> 00:26:45,000 Én lapozhat itt, hogy kitaláljuk, mi volt, 498 00:26:45,000 --> 00:26:48,000 és szűri szépen. 499 00:26:48,000 --> 00:26:52,000 Most hoztam létre ezt az új popup. 500 00:26:52,000 --> 00:26:55,000 Majd gyere vissza, amit küldött jelent később, 501 00:26:55,000 --> 00:26:58,000 és most azt akarom mondani, hogy akarom ezt a módszert, hogy kirúgták 502 00:26:58,000 --> 00:27:01,000 mikor nyomja meg a gombot, így megyek, hogy jöjjön vissza a storyboard, 503 00:27:01,000 --> 00:27:04,000 és azt akarom, hogy most ezt a IBAction csatolni. 504 00:27:04,000 --> 00:27:06,000 Az első dolog, amit akarok, kattintson a gombra. 505 00:27:06,000 --> 00:27:08,000 Amikor ezt a gombot szeretnék, hogy történjen valami. 506 00:27:08,000 --> 00:27:10,000 Én nem fogok tartsa lenyomva ellenőrzés. 507 00:27:10,000 --> 00:27:13,000 Megyek, hogy kattintson, és húzza meg a gombot 508 00:27:13,000 --> 00:27:15,000 több, mint itt, ahol azt mondja megnézése Controller. 509 00:27:15,000 --> 00:27:17,000 Láthatjuk, hogy szépen világít. 510 00:27:17,000 --> 00:27:22,000 >> Ha elengedem az én egér most már ezt bezárása ide, ahol van néhány lehetőség. 511 00:27:22,000 --> 00:27:24,000 Ezek egyike az események, hogy tudok regisztrálni. 512 00:27:24,000 --> 00:27:28,000 Ez az összes e módszerek kijelentettem az én h fájl IBActions. 513 00:27:28,000 --> 00:27:31,000 Így XCode tudja, mit kell tüntetni ezt a kis listát, 514 00:27:31,000 --> 00:27:33,000 annak érdekében, hogy ez csak egy tipp. 515 00:27:33,000 --> 00:27:37,000 Ha kattintson a gombot lenyomva, már regisztrálta az eseménykezelő. 516 00:27:37,000 --> 00:27:41,000 A JavaScript kellett mondani, van néhány kód regisztrált az eseménykezelő. 517 00:27:41,000 --> 00:27:43,000 Az Objective-C, hogy tényleg ilyen egyszerű. 518 00:27:43,000 --> 00:27:46,000 Ha elfutok ezt újra 519 00:27:46,000 --> 00:27:49,000 Most, amikor a gombot a eseménykezelő fog a tűz, 520 00:27:49,000 --> 00:27:51,000 és megyek, hogy ezt a popup. 521 00:27:51,000 --> 00:27:54,000 Szuper, szuper egyszerű ott. 522 00:27:54,000 --> 00:27:57,000 >> Ha valaha szeretné látni az összes eseményt, hogy ez megtörténjen kell bejegyeztetni 523 00:27:57,000 --> 00:28:00,000 egy összetevő, ha rákattint erre a gombra 524 00:28:00,000 --> 00:28:02,000 és jöttem ide, hogy a jobb oldalon 525 00:28:02,000 --> 00:28:05,000 1. láthatod ide tudok csinálni a dolgokat, mint például, hogy milyen típusú a gombot, 526 00:28:05,000 --> 00:28:08,000 így ha azt szeretnénk, egy olyan I-vagy kiegészítő érintkező gomb 527 00:28:08,000 --> 00:28:10,000 vagy bármi. 528 00:28:10,000 --> 00:28:13,000 Ha azt akarom, hogy az összes az eseményeket, amelyek ezt a gombot 529 00:28:13,000 --> 00:28:16,000 ha jön egészen ide, hogy a jobb oldalon 530 00:28:16,000 --> 00:28:19,000 látjuk itt az események Én mindezen különböző események. 531 00:28:19,000 --> 00:28:23,000 Én nyomja meg a gombot, amikor elengedjük a gombot, amikor dupla csap, vagy bármi, 532 00:28:23,000 --> 00:28:26,000 és az egyik én csak regisztrálva ez a rendezvény az úgynevezett Touch Up Inside, 533 00:28:26,000 --> 00:28:29,000 és ez azt mondja, hogy amint az ujjam jön ki a gombot 534 00:28:29,000 --> 00:28:32,000 Ez esetben fog tüzet, és hogy pontosan mi is történt. 535 00:28:32,000 --> 00:28:36,000 Ez a fajta az alapértelmezett gomb megnyomása esemény. 536 00:28:36,000 --> 00:28:39,000 >> Van még kérdése eddig? 537 00:28:39,000 --> 00:28:43,000 Oké, ez hogyan lehet kezdeni, hogy kösse fel a dolgokat, a mi-kód 538 00:28:43,000 --> 00:28:46,000 a dolgok belsejébe a felület. 539 00:28:46,000 --> 00:28:49,000 Ne feledje, az első dolog, amit meg kellett tennem, hogy megtalálja a kódot, 540 00:28:49,000 --> 00:28:54,000 és aztán vezetékes ki a felületet a kódot, 541 00:28:54,000 --> 00:28:57,000 és van az első kb. 542 00:28:57,000 --> 00:29:00,000 Oké, ez nagyon jó, és létrehozta ezt a gombot. 543 00:29:00,000 --> 00:29:03,000 Mi van, ha nem akarjuk, hogy létre kell hozni egy csomó tulajdonságok 544 00:29:03,000 --> 00:29:05,000 képviselő ezek a gombok? 545 00:29:05,000 --> 00:29:08,000 Például, a Tic Tac Toe én 9 gombok, 546 00:29:08,000 --> 00:29:11,000 és ez lenne szuper, szuper bosszantó, hogy a drag and drop 9-szer 547 00:29:11,000 --> 00:29:14,000 vagy ha én kellett Tic Tac Toe, 81 helyett 9 548 00:29:14,000 --> 00:29:17,000 és én a drag and drop 81 alkalommal, és ez béna. 549 00:29:17,000 --> 00:29:20,000 Mit tehetünk, hanem olyan, mint egy HTML 550 00:29:20,000 --> 00:29:23,000 amikor már dolgokat, mint azonosítókat és neveket, és kereshet a dolgokat 551 00:29:23,000 --> 00:29:27,000 által azonosítója, van egy hasonló fogalom iOS nevű tag. 552 00:29:27,000 --> 00:29:31,000 >> A címke csupán egy egyedi numerikus azonosító alkatrész. 553 00:29:31,000 --> 00:29:34,000 Ha azt mondom ennek egy címke 0, például, 554 00:29:34,000 --> 00:29:38,000 ha létrehoz egy gombot, és adja meg a tag a 0, és majd meglátjuk, hogy hogyan kell csinálni, hogy csak egy második, 555 00:29:38,000 --> 00:29:41,000 ha azt szeretnénk, hogy a gomb tudok egyszerűen azt akarom hívni 556 00:29:41,000 --> 00:29:45,000 A viewWithTag módszer az objektum felett van, 557 00:29:45,000 --> 00:29:48,000 a self.view, ami a jelenlegi képernyő, például. 558 00:29:48,000 --> 00:29:53,000 Ha hívom, hogy viewWithTag módszer, megyek, hogy húzza vissza a gombra tag 0. 559 00:29:53,000 --> 00:29:58,000 Vessünk egy pillantást erre építve Tic Tac Toe. 560 00:29:58,000 --> 00:30:01,000 Először is, ez az én storyboard. 561 00:30:01,000 --> 00:30:05,000 Már létre a 10 UI gombok. 562 00:30:05,000 --> 00:30:07,000 Értesítés ők mind azonos méretű. 563 00:30:07,000 --> 00:30:11,000 Ha rákattintok egy ilyen, és én visszajövök ide, erre jobb oldalán 564 00:30:11,000 --> 00:30:15,000 látni fogja azt állítani a betűtípust itt, ezért tette a font egy kicsit nagyobb, 565 00:30:15,000 --> 00:30:19,000 de mit is tett, én meg ezt a címkét. 566 00:30:19,000 --> 00:30:23,000 Azt mondta, hogy ez egy tag 1, és ez a bal felső sarokban. 567 00:30:23,000 --> 00:30:26,000 >> Most, ha rákattintok egy gombra, így második itt, 568 00:30:26,000 --> 00:30:29,000 Most látni fogod, hogy a tag a 2. 569 00:30:29,000 --> 00:30:32,000 Mindegyik gombok csak egy egyedi címke, 570 00:30:32,000 --> 00:30:35,000 , így ez később hogyan fogok kezdeni kölcsönható 571 00:30:35,000 --> 00:30:38,000 az én app. 572 00:30:38,000 --> 00:30:40,000 Ez mind belül egy nézet vezérlő, 573 00:30:40,000 --> 00:30:42,000 de itt van, amink van. 574 00:30:42,000 --> 00:30:44,000 Jelenleg 3 tulajdonságokkal van. 575 00:30:44,000 --> 00:30:49,000 Az első és az utolsó is fogja képviselni az állam a fórumon. 576 00:30:49,000 --> 00:30:53,000 Alapesetben ez az első egy olyan tömb, ahol a képviselő Xs és Os vannak. 577 00:30:53,000 --> 00:30:57,000 Ez a másik, itt azt mondja, akinek a köre van. 578 00:30:57,000 --> 00:31:01,000 Észre fogod venni, hogy én is ezeket a dolgokat itt. 579 00:31:01,000 --> 00:31:05,000 Mielőtt amikor kijelentette tulajdonságokat adtunk nekik a nevet és a típust. 580 00:31:05,000 --> 00:31:08,000 Azt is nekik néhány további információk itt. 581 00:31:08,000 --> 00:31:11,000 Az első azt mondja nonatomic, és hogy ez mit mond 582 00:31:11,000 --> 00:31:16,000 alapvetően csak az egyik dolog, amit valaha is kísérli meg elérni ezt a változót egy időben. 583 00:31:16,000 --> 00:31:19,000 Lehet csinálni bonyolultabb alkalmazások, amelyek több szálon, 584 00:31:19,000 --> 00:31:22,000 és így vissza Scratch volt a különböző szálak, 585 00:31:22,000 --> 00:31:25,000 és különböző sprite lehetne csinál mást ugyanabban az időben. 586 00:31:25,000 --> 00:31:29,000 >> Ha nem ez a helyzet, ami nem áll semmit, hogy mi lesz nézett, 587 00:31:29,000 --> 00:31:33,000 ha azt mondjuk nonatomic ez tényleg megy, hogy a dolgok egy kicsit gyorsabban. 588 00:31:33,000 --> 00:31:37,000 Mi is ezt a dolgot nevezett hozzárendelése, erős, vagy gyenge. 589 00:31:37,000 --> 00:31:40,000 Ez rendelni most azt mondja, hogy ez egy standard típus. 590 00:31:40,000 --> 00:31:43,000 Ez nem egy tárgy vagy egy mutatót, mert ez csak egy bool, 591 00:31:43,000 --> 00:31:46,000 így bool be van építve Objective-C. 592 00:31:46,000 --> 00:31:49,000 Ez azt mondja, ne próbálja meg semmit képzelet a mutató itt. 593 00:31:49,000 --> 00:31:51,000 Ez egy szabályos régi scaler. 594 00:31:51,000 --> 00:31:54,000 Erős és gyenge, ez a gyenge, azt mondja, hogy ténylegesen 595 00:31:54,000 --> 00:31:57,000 Azt akarom, hogy mutat valamit a nézetben vezérlő. 596 00:31:57,000 --> 00:32:00,000 Nem fogok, hogy ténylegesen kiosztani vagy init e magam. 597 00:32:00,000 --> 00:32:04,000 A felület építőmester, amikor elindul az alkalmazás, fog kezelni minden inicializálás. 598 00:32:04,000 --> 00:32:07,000 Ha azt mondom, gyenge, hogy azt mondja valaki más fog létrehozni ezt. 599 00:32:07,000 --> 00:32:09,000 Ha azt mondom, erős, ez azt mondja, hogy én leszek az egyetlen 600 00:32:09,000 --> 00:32:12,000 ez létrehozása ezen a fórumon objektumot, 601 00:32:12,000 --> 00:32:14,000 és ezért itt van néhány módszer van, 602 00:32:14,000 --> 00:32:18,000 például egy keresetet, amikor az új játékot megnyomja a gombot, 603 00:32:18,000 --> 00:32:20,000 iránti keresetet, ha bármelyik másik gombot megnyomja, 604 00:32:20,000 --> 00:32:23,000 és satöbbi. 605 00:32:23,000 --> 00:32:26,000 >> Mi nem fog bele túl sok logika Tic Tac Toe, 606 00:32:26,000 --> 00:32:30,000 bár ez nagyon izgalmas, de vessünk egy pillantást 607 00:32:30,000 --> 00:32:33,000 néhány dolog, amit tehetünk belül iOS. 608 00:32:33,000 --> 00:32:35,000 Ez az új játék módszer lesz rúgva 609 00:32:35,000 --> 00:32:37,000 valahányszor nyomja meg az új játék gombra. 610 00:32:37,000 --> 00:32:41,000 A horog, hogy akár egyszerűen gyere az én storyboard. 611 00:32:41,000 --> 00:32:43,000 Rákattintottam az új játék. 612 00:32:43,000 --> 00:32:47,000 Ha jöttem ide, hogy a megfelelő látom, hogy 613 00:32:47,000 --> 00:32:50,000 Touch Up Inside van bekötve a newGame módszerrel. 614 00:32:50,000 --> 00:32:53,000 Ez az, amiért ez fog rúgni. 615 00:32:53,000 --> 00:32:56,000 A newGame módszer fog tenni némi létre. 616 00:32:56,000 --> 00:32:59,000 Ez fogja mondani azt akarom, hogy törölje az állam a fórumon. 617 00:32:59,000 --> 00:33:01,000 Ez egy szép módszer változékony tömbök. 618 00:33:01,000 --> 00:33:03,000 Ezt fogja mondani, hogy ez most X viszont, 619 00:33:03,000 --> 00:33:07,000 és most megyek, hogy kihasználják ezt a viewWithTag dolog. 620 00:33:07,000 --> 00:33:11,000 >> Tudom, hogy a gombok a címkéket 1-9, 621 00:33:11,000 --> 00:33:13,000 és ez olyasmi, amit önkényesen szedett. 622 00:33:13,000 --> 00:33:15,000 Ha azt szeretnénk, hogy a szöveg minden egyes gomb üres 623 00:33:15,000 --> 00:33:17,000 mert én csak most kezdődött el egy új játék, és én nem akarok 624 00:33:17,000 --> 00:33:20,000 Xs és Os, hogy maradt meg tudom csinálni ezt. 625 00:33:20,000 --> 00:33:24,000 Mondhatom azt akarjuk, hogy a nézet a tag, 1, 2, 3, 4 satöbbi. 626 00:33:24,000 --> 00:33:27,000 Ez húzza egy másik gombot minden egyes alkalommal. 627 00:33:27,000 --> 00:33:30,000 Itt fogom vetni, hogy UIButton. 628 00:33:30,000 --> 00:33:33,000 Csakúgy, mint tudtunk leadott ints az úszók és fordítva 629 00:33:33,000 --> 00:33:37,000 ez azt mondja, hogy szeretnék ezt a varázslatot a UIButton. 630 00:33:37,000 --> 00:33:40,000 Ez azt jelenti, hogy milyen típusú az lesz, egy UIButton * 631 00:33:40,000 --> 00:33:43,000 mert a mutatók, de ne aggódj, ők nem ijesztő többé. 632 00:33:43,000 --> 00:33:47,000 >> Egyszer már ezt a gombot fogom hívni módszer rajta. 633 00:33:47,000 --> 00:33:50,000 Ezt a módszert nevezik setTitle forState, és így ez azt mondja, 634 00:33:50,000 --> 00:33:53,000 Azt akarom, hogy a szöveg a gomb legyen az üres string, 635 00:33:53,000 --> 00:33:57,000 és azt akarom, hogy az üres string, ha ez nem nyomta. 636 00:33:57,000 --> 00:34:01,000 Ha én vagyok ezzel a módszerrel, meg tudom változtatni a szöveget a gomb 637 00:34:01,000 --> 00:34:04,000 amint valaki üt, de azt szeretném mondani, ha a gomb csak ül ott 638 00:34:04,000 --> 00:34:07,000 Azt akarom, hogy a szöveg lehet üres. 639 00:34:07,000 --> 00:34:10,000 Végül fogjuk inicializálni a fórumon, 640 00:34:10,000 --> 00:34:12,000 és meg fogom mondani, hogy minden jelenleg 0, 641 00:34:12,000 --> 00:34:15,000 így ez az igazgatósági tagok megváltoztathatatlan egy változékony tömb, 642 00:34:15,000 --> 00:34:21,000 ami azt jelenti, hogy lehet hívni a addObject módszer, és csak a 0 belsejébe. 643 00:34:21,000 --> 00:34:23,000 Ez történik, amikor egy új játékot. 644 00:34:23,000 --> 00:34:25,000 >> Vessünk egy pillantást egy másik. 645 00:34:25,000 --> 00:34:28,000 Ez a módszer itt a IBAction ez lesz nyomva 646 00:34:28,000 --> 00:34:31,000 minden alkalommal, amikor az egyik ilyen négyzet van nyomva. 647 00:34:31,000 --> 00:34:33,000 Most van néhány Tic Tac Toe logikát. 648 00:34:33,000 --> 00:34:36,000 Mi kitaláljuk, akinek a köre van, 649 00:34:36,000 --> 00:34:39,000 és ennek alapján mi vagy beállítani egy X vagy O, 650 00:34:39,000 --> 00:34:43,000 de azt észre, hogy mi újrahasznosítással ugyanezt az eseménykezelő 651 00:34:43,000 --> 00:34:45,000 minden egyes egy ilyen gomb. 652 00:34:45,000 --> 00:34:49,000 Ez azt jelenti, hogy nem rendelkeznek olyan módszert a felső bal gomb, 653 00:34:49,000 --> 00:34:52,000 egy másik módszer a jobb alsó gomb, bár tudtam, hogy megtettem. 654 00:34:52,000 --> 00:34:54,000 Ez nem igazán jó design. 655 00:34:54,000 --> 00:34:57,000 Mit csinálok itt én tényleg fogja meghatározni 656 00:34:57,000 --> 00:35:00,000 mi a tag a gomb megnyomása is. 657 00:35:00,000 --> 00:35:04,000 Azt veszi észre, hogy ez a játék mód egyikét veszi érv. 658 00:35:04,000 --> 00:35:07,000 Úgy hívják feladónak, és mi feladó a feladó megy 659 00:35:07,000 --> 00:35:10,000 jelentenek pontosan mit intézkedett rajta. 660 00:35:10,000 --> 00:35:15,000 Ha megnyom egy gombot, a feladó lesz, hogy UIButton 661 00:35:15,000 --> 00:35:18,000 hogy én tényleg megnyomja, így ez azt jelenti, hogy UIButton 662 00:35:18,000 --> 00:35:20,000 van egy tag, mert létrehozott egy tag. 663 00:35:20,000 --> 00:35:23,000 >> Ha azt szeretnénk, hogy a tag azt egyszerűen mondani 664 00:35:23,000 --> 00:35:26,000 Azt akarjuk, hogy a tag a feladó 665 00:35:26,000 --> 00:35:28,000 és újra, én már csak öntött el egy UIButton. 666 00:35:28,000 --> 00:35:32,000 Véletlenül tudom, hogy a feladó lesz UIButton. 667 00:35:32,000 --> 00:35:34,000 Nem kell mindig a UIButton. 668 00:35:34,000 --> 00:35:36,000 Tudtam például, regisztráljon az azonos eseménykezelő 669 00:35:36,000 --> 00:35:38,000  egy egy gomb, egy a csúszkát. 670 00:35:38,000 --> 00:35:40,000 Ebben az esetben, tudom, hogy az összes gomb, így fogom mondani 671 00:35:40,000 --> 00:35:43,000 Azt akarom, hogy ez a gomb, majd tudok a tag, 672 00:35:43,000 --> 00:35:48,000 és a címke most már tudom, hol vagyok belsejében a fórumon. 673 00:35:48,000 --> 00:35:51,000 Aztán egyszerűen beállítható az X vagy az O, akkor megfordítja a turn, 674 00:35:51,000 --> 00:35:54,000 Nézd meg, ki nyert, satöbbi. 675 00:35:54,000 --> 00:35:59,000 >> Van még kérdése erről eddig? 676 00:35:59,000 --> 00:36:02,000 Oké, az összes kódot, beírás online nem akarunk belemenni túl sok 677 00:36:02,000 --> 00:36:06,000 A Tic Tac Toe logika, de most már látom, hogy valóban 678 00:36:06,000 --> 00:36:09,000 minden, amit csinálunk a mi looping át ezt a tömböt, 679 00:36:09,000 --> 00:36:13,000 így van egy pár a hurkok itt, és mi csak képest látni 680 00:36:13,000 --> 00:36:18,000 van még egy meccset az összes sort, a meccs egy oszlopban vagy ilyesmi. 681 00:36:18,000 --> 00:36:21,000 Ahhoz, hogy valóban futtatni ezt az alkalmazást, ha megérinti az egyik ezeket a gombokat 682 00:36:21,000 --> 00:36:24,000 hogy a játék mód kirúgták, hogy azt jelenti, csak meg 683 00:36:24,000 --> 00:36:31,000 a gomb, hogy egy X-, így most ez a gomb lesz egy oxigénatom, és így tovább, 684 00:36:31,000 --> 00:36:35,000 és hogy ez hogyan kezdünk, hogy befolyásolja ez az egyetlen oldal kb. 685 00:36:35,000 --> 00:36:38,000 >> Majd tegye a kódot, így nyugodtan elolvassa, hogy a 686 00:36:38,000 --> 00:36:43,000 de most már beszéljünk néhány apps, amelyek több, mint egy oldal. 687 00:36:43,000 --> 00:36:47,000 Az izgalmas, mint Tic Tac Toe volt, egy csomó apps belsejében iOS 688 00:36:47,000 --> 00:36:50,000 a fajta ilyen fúró le a dolgokat több képernyők. 689 00:36:50,000 --> 00:36:54,000 Az első koncepció, hogy mi kell beszélnünk a jegyzőkönyvek, 690 00:36:54,000 --> 00:36:57,000 és a protokoll egyszerűen egy sor módszer 691 00:36:57,000 --> 00:36:59,000 hogy ígérhetem meghatározni. 692 00:36:59,000 --> 00:37:02,000 Ha létre ezt az új protokollt 2 módszer, ez az első, 693 00:37:02,000 --> 00:37:05,000 ha a visszatérési típusa void, hívtam foo. 694 00:37:05,000 --> 00:37:07,000 Ez nem veszi érveket. Van egy másik módszer. 695 00:37:07,000 --> 00:37:11,000 A tér vissza int. Hívtam, hogy akadályozza meg, és vesz egy érv. 696 00:37:11,000 --> 00:37:14,000 Minden ez a protokoll, hogy hívják SomeProtocol itt, 697 00:37:14,000 --> 00:37:19,000 Ez egy sor dolog, hogy valaki tud végrehajtani. 698 00:37:19,000 --> 00:37:22,000 Én nem belül e jegyzőkönyv mit mondott foo csinál. 699 00:37:22,000 --> 00:37:26,000 Ehelyett csak azt mondom meg tudná határozni foo ha akarod. 700 00:37:26,000 --> 00:37:30,000 Ha hozok létre abból a célból adatkezelő vagy létrehozása osztály 701 00:37:30,000 --> 00:37:33,000 Én belül, hogy az osztály ígéret megvalósítása 702 00:37:33,000 --> 00:37:40,000 Ezek között a módszerek, így például, ha mondjuk 703 00:37:40,000 --> 00:37:43,000 ez most azt mondja, én vagyok, hogy egy ígéretet, hogy belülről 704 00:37:43,000 --> 00:37:50,000 E nézet vezérlő I. osztályú lesz meghatározások mind foo és bar. 705 00:37:50,000 --> 00:37:52,000 >> Miért hasznos? 706 00:37:52,000 --> 00:37:55,000 Sok alkatrészek belsejében iOS kihasználják ezt a 707 00:37:55,000 --> 00:37:58,000 tervezési mintát nevezett küldöttség, és mit mond küldöttség 708 00:37:58,000 --> 00:38:01,000 az, hogy például, ha van egy szövegdoboz 709 00:38:01,000 --> 00:38:04,000 és vannak események, amelyek lehet nyilvántartásba belsejében az én mezőbe, 710 00:38:04,000 --> 00:38:07,000 létrehozása helyett különálló esemény, amit tehetünk tudok mondani 711 00:38:07,000 --> 00:38:10,000 a meghatalmazott e szövegdoboz lesz néhány objektumot. 712 00:38:10,000 --> 00:38:13,000 Amikor azt mondom, hogy ez egy küldött már azt jelenti, hogy 713 00:38:13,000 --> 00:38:16,000 ha valamilyen esemény volna lőttek a szövegdobozba 714 00:38:16,000 --> 00:38:18,000 ahelyett, hogy regisztrálni vagy ilyesmi 715 00:38:18,000 --> 00:38:21,000 ez csak megy, hogy hívja a módszer a küldöttet. 716 00:38:21,000 --> 00:38:24,000 Például, az én belső szövegdoboz van egy módszer, amikor nyomja 717 00:38:24,000 --> 00:38:27,000 hogy a kész gombra a jobb alsó, 718 00:38:27,000 --> 00:38:30,000 így ahelyett, regisztráció eseménykezelő mit tudok mondani, 719 00:38:30,000 --> 00:38:34,000 szövegdoboz, itt van egy tárgy, azt akarom, hogy hívja a módszer 720 00:38:34,000 --> 00:38:37,000 Minden alkalommal, amikor valaki megnyomja a Kész gombra, 721 00:38:37,000 --> 00:38:40,000 és ez azt jelenti, hogy az objektum végre kell hajtania bizonyos protokoll 722 00:38:40,000 --> 00:38:45,000 azt mondja Ígérem, hogy meghatározzák, hogy a kész gombra fellépés, 723 00:38:45,000 --> 00:38:47,000 mert ha nem határozza meg, hogy a módszer, és megnyomjuk a Kész gombot, 724 00:38:47,000 --> 00:38:49,000 akkor lesz zavaró. 725 00:38:49,000 --> 00:38:55,000 >> Vessünk egy pillantást egy példát. 726 00:38:55,000 --> 00:38:58,000 Itt csak egy szövegmezőbe, 727 00:38:58,000 --> 00:39:04,000 és az egyik tulajdonságait szövegdoboz ide ezen az jobb oldalon a küldöttet. 728 00:39:04,000 --> 00:39:06,000 Ez a tulajdonság az osztály. 729 00:39:06,000 --> 00:39:09,000 Amit tettem, itt én irányítani csattant, és hurcolta el ezt a helyet ide 730 00:39:09,000 --> 00:39:13,000 arra az álláspontra vezérlő, és azt mondja, most már a küldött e szövegdoboz 731 00:39:13,000 --> 00:39:18,000 lesz a nézetet vezérlő. 732 00:39:18,000 --> 00:39:20,000 Ez azt jelenti, hogy bizonyos tevékenységek történnek, ahelyett, regisztráció 733 00:39:20,000 --> 00:39:25,000 külön eseménykezelők Azt akarom, hogy küldje el a küldöttet. 734 00:39:25,000 --> 00:39:28,000 Most vessünk egy pillantást a véleményem vezérlő. 735 00:39:28,000 --> 00:39:32,000 Belül a. H fájlban Csináltam egy ígéret. 736 00:39:32,000 --> 00:39:36,000 Már megígérte, hogy végre olyan módszereket belül e jegyzőkönyv 737 00:39:36,000 --> 00:39:38,000 nevű UITextFieldDelegate, és újra, 738 00:39:38,000 --> 00:39:42,000 Ez csak néhány lista néhány dolog, amit lehet választani végrehajtani. 739 00:39:42,000 --> 00:39:46,000 >> Ha bejövök ide az én. M fájlt, már végre egy ilyen módszert. 740 00:39:46,000 --> 00:39:49,000 Már nevezte textFieldShouldReturn 741 00:39:49,000 --> 00:39:52,000 mert ez az, amit úgy nevezték belül a protokollt. 742 00:39:52,000 --> 00:39:57,000 És most, amikor én nyomja meg a kész gombot belsejét, hogy a szöveges mezőben 743 00:39:57,000 --> 00:40:00,000 ez az, hogy mi fog a tétet, így hát nem is regisztrálni egy eseménykezelő. 744 00:40:00,000 --> 00:40:03,000 Én csatlakozik a küldött, és amikor ez az esemény van rúgva 745 00:40:03,000 --> 00:40:08,000 ez az a módszer, amely a tétet, így ha jöttem ide, hogy a forgatókönyvbe, és fuss ez- 746 00:40:08,000 --> 00:40:11,000 míg ez betöltődik láthatjuk, hogy ez mire jó. 747 00:40:11,000 --> 00:40:13,000 Az én képernyőn van 2 dolog. 748 00:40:13,000 --> 00:40:16,000 Én ezt a szöveget a területen, és én ezt a címkét. 749 00:40:16,000 --> 00:40:19,000 Én csak azt mondom, hogy szeretné, hogy a szöveg a címke 750 00:40:19,000 --> 00:40:23,000 azonos legyen függetlenül a felhasználó beírt belsejében a szövegmezőbe. 751 00:40:23,000 --> 00:40:26,000 Ez a következő sor itt egyszerűen egy módszer, hogy én hívom 752 00:40:26,000 --> 00:40:29,000 A szöveges mező, amely azt mondja, azt akarom, hogy elrejtse a billentyűzetet. 753 00:40:29,000 --> 00:40:33,000 Ez csak az önkényes módszert, hogy az Apple választotta. 754 00:40:33,000 --> 00:40:38,000 >> Ismét, mielőtt én bármit kellett bekötni mindent, úgyhogy először jöttem ide. 755 00:40:38,000 --> 00:40:42,000 A nézet-vezérlő I húzza át a szövegmezőbe. 756 00:40:42,000 --> 00:40:46,000 Elengedtem, és látom itt, hogy tudom, hogy ez a szöveg mezőtulajdonság 757 00:40:46,000 --> 00:40:49,000 mivel ide a nézet-vezérlő, amit meghatározott tulajdonság 758 00:40:49,000 --> 00:40:52,000 ez egy IBOutlet egy szövegmezőbe. 759 00:40:52,000 --> 00:40:55,000 Ez azt mondja, hogy tudok kiosztani ezt a tulajdonságot fel 760 00:40:55,000 --> 00:40:59,000 egy szöveges mező az én UI. 761 00:40:59,000 --> 00:41:03,000 Most, amikor rákattint erre tudok kezdeni gépelni. 762 00:41:03,000 --> 00:41:06,000 Most, ha én kattints a kész gombra fog ez a tűz 763 00:41:06,000 --> 00:41:08,000 olyan esemény, amit most válaszolni. 764 00:41:08,000 --> 00:41:10,000 Nincs eseménykezelők. 765 00:41:10,000 --> 00:41:13,000 Így én csak válaszolt e tenni gombra. 766 00:41:13,000 --> 00:41:15,000 Értelme? 767 00:41:15,000 --> 00:41:20,000 >> Ez nem egy tervezési minta, lehet, hogy soha nem találja magát 768 00:41:20,000 --> 00:41:23,000 létrehozhatja a saját protokoll, de csak tudom, hogy néhány 769 00:41:23,000 --> 00:41:27,000 különböző iOS alkatrészek regisztrációja eseményeket különböző módon. 770 00:41:27,000 --> 00:41:29,000 Gombok, például használja ezeket IBActions. 771 00:41:29,000 --> 00:41:32,000 Text mezők, a másik viszont nem fog használni küldöttek. 772 00:41:32,000 --> 00:41:36,000 Látjuk, és nézd az összes, hogy belsejében a dokumentációban. 773 00:41:36,000 --> 00:41:41,000 By the way, van valójában egy csomó dolgot UI épített iOS az Ön számára, 774 00:41:41,000 --> 00:41:46,000 így például, ahogy tettem azt mondják kelt a jobb alsó sarokban 775 00:41:46,000 --> 00:41:48,000 van választottam ezt a szöveget a területen. 776 00:41:48,000 --> 00:41:50,000 Azért jöttem ide. 777 00:41:50,000 --> 00:41:53,000 Én görgetése le egy kicsit vissza gombot, 778 00:41:53,000 --> 00:41:56,000 és tudom, hogy ez valójában egy csomó dolgot, mint ha azt akarom, hogy mondani 779 00:41:56,000 --> 00:42:00,000 segélyhívást ehelyett meg tudom csinálni, ami teljesen véletlenszerű, 780 00:42:00,000 --> 00:42:02,000 , és nem tudom, hogy miért van egy beépített segélyhívó gombot, 781 00:42:02,000 --> 00:42:06,000 de ott, azt mondja Segélyhívás nagyon kicsi betűk. 782 00:42:06,000 --> 00:42:08,000 Tessék. 783 00:42:08,000 --> 00:42:12,000 >> Határozottan meg mindent ezeknek a különböző lehetőségek iOS. 784 00:42:12,000 --> 00:42:14,000 Bármilyen kérdésre küldöttek? 785 00:42:14,000 --> 00:42:18,000 Ismét, csak egy érdekes tervezési minta, amit tudnia kell. 786 00:42:18,000 --> 00:42:22,000 Oké, a következő lépés, hogy egy pillantást asztalnál kilátást. 787 00:42:22,000 --> 00:42:26,000 A tábla nézet alapvetően a lista tételek, ami az egész hely iOS. 788 00:42:26,000 --> 00:42:29,000 Amikor essek át az összes kapcsolatot, akkor éppen a 789 00:42:29,000 --> 00:42:34,000 a beállítási oldalra, és ez a fajta listát azokról a dolgokról nevezzük tábla nézetet. 790 00:42:34,000 --> 00:42:37,000 Végrehajtási táblázat nézet iOS elég egyszerű. 791 00:42:37,000 --> 00:42:41,000 Ahelyett, hogy egy osztályt, hogy leszáll az említett UIViewController 792 00:42:41,000 --> 00:42:44,000 mint amit eddig csináltunk egyszerűen meg kell mondani, nem pedig 793 00:42:44,000 --> 00:42:46,000 mindent egy UIViewController nem akarok, 794 00:42:46,000 --> 00:42:50,000 Azt mondják, hogy minden a UITableViewController nem akarok, 795 00:42:50,000 --> 00:42:54,000 úgy, hogy egyszerűen hozzáteszi, néhány további dolog, ami teljesen értünk. 796 00:42:54,000 --> 00:42:58,000 Kell tennünk nagyon kevés alapvetően töltse ki az üres belsejében az asztalra. 797 00:42:58,000 --> 00:43:02,000 >> Annak érdekében, hogy megjelenjen a táblázat azt kell válaszolni néhány kérdésre. 798 00:43:02,000 --> 00:43:06,000 Az első kérdés, amit meg kell válaszolni, hogy hány szakasz van az asztalon? 799 00:43:06,000 --> 00:43:08,000 Amikor essek át a partnerek app, észre fogod venni, hogy ez a fajta 800 00:43:08,000 --> 00:43:12,000 által szervezett As, akkor megvan a Bs, és van, hogy a kis sub header. 801 00:43:12,000 --> 00:43:14,000 Minden egyes ilyen nevezzük szakasz. 802 00:43:14,000 --> 00:43:16,000 Akkor lehet, hogy nem kell ezeket. 803 00:43:16,000 --> 00:43:19,000 Az első dolog, amit meg kell tennie, hogy végre olyan módszer 804 00:43:19,000 --> 00:43:22,000 úgynevezett Tableview: numberOfSectionsInTableView. 805 00:43:22,000 --> 00:43:25,000 Ez egyszerűen visszaadja, hogy hány szakasz van, 806 00:43:25,000 --> 00:43:29,000 így ez is mondhatjuk vissza egyet, ha van egy nagy tábla nézetben. 807 00:43:29,000 --> 00:43:33,000 A következő kérdés, hogy az iOS tudnia kell, hogy hány sor van? 808 00:43:33,000 --> 00:43:36,000 Például, te essek át egy táblázat nézet. 809 00:43:36,000 --> 00:43:39,000 Van egy meghatározott számú dalok nézel, vagy meghatározott számú kapcsolatok. 810 00:43:39,000 --> 00:43:41,000 Ha én, persze, hogy nem sok, 811 00:43:41,000 --> 00:43:44,000 és hogy ez hogyan iOS tudja hány sejtek megjelenítéséhez. 812 00:43:44,000 --> 00:43:46,000 >> Ismét, ez mond valamit, mint a 3. visszatérő. 813 00:43:46,000 --> 00:43:49,000 My table view van 3 sorban. 814 00:43:49,000 --> 00:43:52,000 Végül, iOS tudnia kell, hogy mi minden cella néz, 815 00:43:52,000 --> 00:43:54,000 akkor mi ez valójában csinálni az hívja ezt a módszert itt lenn, 816 00:43:54,000 --> 00:43:57,000 E Tableview: cellForRowAtIndexPath. 817 00:43:57,000 --> 00:44:01,000 Ez lesz meghívják ezt a metódust minden egyes sejt belsejében a táblázatban. 818 00:44:01,000 --> 00:44:03,000 Honnan tudja, hogy hányszor kell nevezni? 819 00:44:03,000 --> 00:44:06,000 Nos, azt mondtad, hogy belsejében a sorok számát szakaszban. 820 00:44:06,000 --> 00:44:08,000 Fogjuk hívni ezt az egyes sejtjeink, 821 00:44:08,000 --> 00:44:11,000 belsejét és ez az, ahol tudod valójában csinálni a dolgokat, mint a 822 00:44:11,000 --> 00:44:16,000 a szöveg, vagy mondani, hogy mi az a kis kék gombot a jobb oldalon nem. 823 00:44:16,000 --> 00:44:19,000 A minta az, hogy ezeket a sejteket, fogjuk használni ezt a módszert 824 00:44:19,000 --> 00:44:22,000 hívott dequeueReusableCellWithIdentifier. 825 00:44:22,000 --> 00:44:29,000 >> Objective-C valójában nagyon is jól ismert a nevetséges hossza módjára nevét, 826 00:44:29,000 --> 00:44:32,000 és ez tényleg egy jó példa erre példa. 827 00:44:32,000 --> 00:44:37,000 Mit jelent ez a módszer ez csak azt mondja, azt akarom, hogy adjon nekem egy cellába. 828 00:44:37,000 --> 00:44:39,000 Csak egy iOS dolog. 829 00:44:39,000 --> 00:44:41,000 Ha van valami, mint 100.000 dalokat az iPod 830 00:44:41,000 --> 00:44:45,000 iOS mit nem akarok, kiosztani 100.000 sejtek, 831 00:44:45,000 --> 00:44:48,000 mert ha te vagy a tetején a lista, akkor valóban szükség van a memóriát 832 00:44:48,000 --> 00:44:51,000 A sejt, ami 99.000 sorok le? 833 00:44:51,000 --> 00:44:55,000 Nem, mert ahogy te görgetéssel tudod milyen kiosztani, ahogy megy végig. 834 00:44:55,000 --> 00:44:57,000 Ezt az Ön számára. 835 00:44:57,000 --> 00:44:59,000 Önnek nem kell aggódnia, minden hülye teljesítmény cucc. 836 00:44:59,000 --> 00:45:02,000 Minden, amit mondani, hívja ezt a módszert dequeueReusableCellWithIdentifier, 837 00:45:02,000 --> 00:45:06,000 és ez azt mondja, oké, ha kell megyek egy új cellát az Ön számára. 838 00:45:06,000 --> 00:45:09,000 >> De ha te vagy az alján a táblázat és a már kiosztott egyes sejtek 839 00:45:09,000 --> 00:45:12,000 a táblázat tetején, hogy te valóban nem lesz szüksége a közeljövőben 840 00:45:12,000 --> 00:45:15,000 Fogok adni egy ilyen hátsó helyett kiosztása egy új, 841 00:45:15,000 --> 00:45:17,000 és így ez egy szép teljesítmény aggodalomra ad okot. 842 00:45:17,000 --> 00:45:21,000 Nem kell kiosztani a sejtek magad. 843 00:45:21,000 --> 00:45:23,000 Ez lesz adja vissza a cellába. 844 00:45:23,000 --> 00:45:25,000 Ez lesz, hogy visszatérjen egy cella objektumot. 845 00:45:25,000 --> 00:45:28,000 Miután a cella objektum meg tudod csinálni dolgokat hozzá. 846 00:45:28,000 --> 00:45:32,000 Megadhatja a szöveg a cella az ingatlan úgynevezett szövegcímke. 847 00:45:32,000 --> 00:45:36,000 Felveheti hogy nyíl a jobb oldalon vagy más random stuff 848 00:45:36,000 --> 00:45:41,000 ezzel a másik tulajdonság hívott accessoryType, és így tovább, és így tovább. 849 00:45:41,000 --> 00:45:46,000 >> Vessünk egy pillantást a ténylegesen végrehajtó tábla nézet most. 850 00:45:46,000 --> 00:45:49,000 Amikor hoztam létre ezt a projektet 851 00:45:49,000 --> 00:45:53,000 ahelyett, mondván, egyetlen nézetben kérelem Igazából átjött ide 852 00:45:53,000 --> 00:45:57,000 A master-detail alkalmazás, és így alapvetően ez felel meg az e-mail alkalmazás 853 00:45:57,000 --> 00:46:01,000 az iPad, a tábla nézetben a bal oldalon, majd a tartalmát a jobb oldalon. 854 00:46:01,000 --> 00:46:07,000 Az iPod vagy iPhone fog ez felel meg egy tábla nézetben. 855 00:46:07,000 --> 00:46:10,000 Ott kaptam starter kódot. 856 00:46:10,000 --> 00:46:13,000 >> Nézzük először vessen egy pillantást a storyboard. 857 00:46:13,000 --> 00:46:15,000 Mindez történt értem, alapvetően létre. 858 00:46:15,000 --> 00:46:18,000 Ez a navigációs sáv megmutatta nekem, milyen egy példát ilyen sejt kinézni, 859 00:46:18,000 --> 00:46:22,000 és én duplán rákattint erre, módosítsa a címet. 860 00:46:22,000 --> 00:46:25,000 Minden más UI aggályok tudom kezelni ott. 861 00:46:25,000 --> 00:46:27,000 A fejléc fájl néz ki, nagyon egyszerű. 862 00:46:27,000 --> 00:46:30,000 Ahelyett, mondván ez UIViewController mi most azt mondják, hogy ez egy 863 00:46:30,000 --> 00:46:35,000 TableViewController, így tudjuk, hogy szeretné hívni minden asztal módszerek. 864 00:46:35,000 --> 00:46:38,000 Tovább szeretnék létrehozni egy ingatlant, ami fogja képviselni 865 00:46:38,000 --> 00:46:40,000 a dolgok belsejét az asztalomon. 866 00:46:40,000 --> 00:46:43,000 Ez a táblázat fog önkényesen megjelenítéséhez 867 00:46:43,000 --> 00:46:46,000 egy listát a gyümölcsöt, és ezért létre kell hozni néhány tömb 868 00:46:46,000 --> 00:46:49,000 ahol tudok beszúrni gyümölcs. 869 00:46:49,000 --> 00:46:52,000 Belül az én végrehajtás fájl az első dolog, amit akarok 870 00:46:52,000 --> 00:46:55,000 nem akarom, hogy győződjön meg arról, I elindítani ezt a tömböt. 871 00:46:55,000 --> 00:46:58,000 >> Azt mondtam Alloc init létrehozott, a gyümölcs-tömb, 872 00:46:58,000 --> 00:47:03,000 és én hozzá 4 dolog hozzá, melyek közül az egyik sokkal vitatott mint a másik 3. 873 00:47:03,000 --> 00:47:06,000 És most van egy sor 4-es méretű. 874 00:47:06,000 --> 00:47:08,000 Mi rázta fel a CS50. 875 00:47:08,000 --> 00:47:11,000 Most van egy sor 4-es méretű. 876 00:47:11,000 --> 00:47:13,000 Most fogom kezdeni választ ezekre a kérdésekre, és valóban, 877 00:47:13,000 --> 00:47:16,000 amikor hoztam létre ezt az alkalmazást mindez már tett nekem. 878 00:47:16,000 --> 00:47:19,000 Nem kellett, hogy írja meg a szakaszok száma táblázat nézetben. 879 00:47:19,000 --> 00:47:22,000 Ez már ott volt, és én vagyok kitöltésével üres. 880 00:47:22,000 --> 00:47:24,000 Hány szakasz van? 881 00:47:24,000 --> 00:47:26,000 One. Minden kész. 882 00:47:26,000 --> 00:47:28,000 Hány sor van? 883 00:47:28,000 --> 00:47:31,000 Nos, van egy sor minden gyümölcs, így ez a szám 884 00:47:31,000 --> 00:47:34,000 tulajdonsága olyan tömb, amely azt mondja, milyen nagy ez? 885 00:47:34,000 --> 00:47:36,000 Ez hány sort nekem. 886 00:47:36,000 --> 00:47:42,000 Végezetül, azt kell mondani, mit jelent minden egyes cella néz ki? 887 00:47:42,000 --> 00:47:46,000 Fogok mondani dequeueReusableCellWithIdentifier. 888 00:47:46,000 --> 00:47:48,000 >> Ismét, ez már írt nekem. 889 00:47:48,000 --> 00:47:51,000 Nem kell, hogy ezt magam, és azt akarom, hogy újra 890 00:47:51,000 --> 00:47:54,000 ez a sejt ezen a helyen. 891 00:47:54,000 --> 00:47:57,000 Ne feledje, hogy mi hívja ezt ugyanazzal a módszerrel minden egyes cella, 892 00:47:57,000 --> 00:48:01,000 és ezt az érvet itt, ez indexPath érvet, 893 00:48:01,000 --> 00:48:03,000 azt mondja, amit sorban én vagyok! 894 00:48:03,000 --> 00:48:05,000 Ha azt mondom, indexPath.row idelent 895 00:48:05,000 --> 00:48:09,000 ez 0 lesz, akkor lesz 1, akkor lesz 2, és ez így tudom 896 00:48:09,000 --> 00:48:11,000 mit sejt Én jelenleg kijelzés. 897 00:48:11,000 --> 00:48:15,000 Azt akarom, hogy a szöveg a cella használatával textLabel ingatlan 898 00:48:15,000 --> 00:48:19,000 bemenni a gyümölcs-tömb és kap 899 00:48:19,000 --> 00:48:21,000 a tárgy megfelelő soronként. 900 00:48:21,000 --> 00:48:24,000 Ha ez egy string, én most beállítás 901 00:48:24,000 --> 00:48:28,000 A szöveg tulajdonság egy string. 902 00:48:28,000 --> 00:48:30,000 Meg tudom csinálni egy másik dolog. 903 00:48:30,000 --> 00:48:32,000 Én is regisztrálni egy eseménykezelő mind a sejtek, 904 00:48:32,000 --> 00:48:35,000 így amikor koppintson mindegyik sejtek 905 00:48:35,000 --> 00:48:39,000 E didSelectRowAtIndexPath, ez lesz a címe nekem, 906 00:48:39,000 --> 00:48:42,000 így csupán a meghatározó ezt én már tudja kezelni, hogy mi történik 907 00:48:42,000 --> 00:48:46,000 ha megérinti egy cellába, és újra, mi halad, amelynek cellát menetes 908 00:48:46,000 --> 00:48:50,000 hogy így újra ugyanezt az eseménykezelő minden kedves sejtek. 909 00:48:50,000 --> 00:48:53,000 >> Ez megint valami iOS tesz nekem. 910 00:48:53,000 --> 00:48:55,000 Nézzünk egy másik kijelző idegesítő popup 911 00:48:55,000 --> 00:48:59,000 hogy egyszerűen azt mondja, felvette valamit, ha ez a valami 912 00:48:59,000 --> 00:49:04,000 lesz a sor objektumot. 913 00:49:04,000 --> 00:49:10,000 Amikor elindítom ezt fogom ezt a szép table view 914 00:49:10,000 --> 00:49:14,000 egy sor mindegyik gyümölcs, és ha én érintse meg 915 00:49:14,000 --> 00:49:16,000 azt mondja nekem, hogy mi történt. 916 00:49:16,000 --> 00:49:21,000 Értelme? 917 00:49:21,000 --> 00:49:24,000 Építsünk kicsit bonyolultabb egy app, 918 00:49:24,000 --> 00:49:28,000 mint kattintva Ön felvette paradicsom. 919 00:49:28,000 --> 00:49:31,000 A szép az egészben az forgatókönyvek 920 00:49:31,000 --> 00:49:35,000 van ez nem csak fog segíteni nekünk tervezés képernyők egyénileg, 921 00:49:35,000 --> 00:49:38,000 ez is segíteni fog nekünk köti össze az egész app, 922 00:49:38,000 --> 00:49:42,000 így a végső app leszünk épület ez a szép sport hírek olvasó, 923 00:49:42,000 --> 00:49:45,000 és ez így megy, hogy több képernyők, és így valóban képviselt 924 00:49:45,000 --> 00:49:48,000 Mindegyik több képernyők a storyboard, 925 00:49:48,000 --> 00:49:52,000 és tudok kicsinyíteni, és látom app egy magas szinten. 926 00:49:52,000 --> 00:49:55,000 >> Annak érdekében, hogy hozzon létre egy új elem belsejében a storyboard 927 00:49:55,000 --> 00:49:59,000 ez tényleg egyszerű belsejében Interface Builder. 928 00:49:59,000 --> 00:50:01,000 Ha azt szeretnénk, hogy egy újabb képernyő e, például, 929 00:50:01,000 --> 00:50:06,000 Én is először kicsinyíteni a pinch zoom, hogy az Apple szeret annyira, 930 00:50:06,000 --> 00:50:09,000 és itt lent, mielőtt keresni egy gombot 931 00:50:09,000 --> 00:50:12,000 és én drag and drop a gomb 932 00:50:12,000 --> 00:50:15,000 ha azt szeretnénk, hogy hozzon létre egy új képernyőt tudok valójában csak fogd és vidd 933 00:50:15,000 --> 00:50:19,000 teljes nézet-vezérlő, így ha vehetem ezt húzza át ide, 934 00:50:19,000 --> 00:50:23,000 hé, van egy másik képernyőre, és így most már ugyanezt a storyboard fájl 935 00:50:23,000 --> 00:50:26,000 Tudom, hogy az összes képernyő belsejében az én app, és én is kicsinyítés 936 00:50:26,000 --> 00:50:28,000 és hogyan hatnak egymásra. 937 00:50:28,000 --> 00:50:32,000 Ezek nem lép kölcsönhatásba még. 938 00:50:32,000 --> 00:50:36,000 A mód, ahogyan ezeket a 2 képernyő interakcióba is határozná meg kapcsolatok. 939 00:50:36,000 --> 00:50:39,000 Ön alapvetően mondani ezt a képernyőt, ha megnyomja a gombot, 940 00:50:39,000 --> 00:50:42,000 Azt akarom, hogy csúszik át az új képernyőn. 941 00:50:42,000 --> 00:50:44,000 Ez azt jelenti, hogy ez a fajta kapcsolat 942 00:50:44,000 --> 00:50:46,000  Az első képernyőn és a második képernyőn. 943 00:50:46,000 --> 00:50:49,000 Itt van alapvetően egy nyíl az adott gombot, hogy a második képernyőn 944 00:50:49,000 --> 00:50:53,000 mondván, hogy ha megnyomja ezt a gombot, hogy ott akarok menni. 945 00:50:53,000 --> 00:50:57,000 Csakúgy, mint mi irányítjuk kattintottak, és vonszolta meghatározni e piacok 946 00:50:57,000 --> 00:51:01,000 megyünk nem ugyanaz a dolog, hogy meghatározza ezeket segues. 947 00:51:01,000 --> 00:51:05,000 >> Meglátjuk példát adott, és mielőtt ténylegesen átmeneti 948 00:51:05,000 --> 00:51:08,000 a képernyőn egy másik iOS szép ahhoz, hogy hívja ezt a módszert 949 00:51:08,000 --> 00:51:11,000 hívott prepareForSegue, és ez az, ahol elkezdhetjük 950 00:51:11,000 --> 00:51:14,000 adatok küldése egy app a másikra. 951 00:51:14,000 --> 00:51:17,000 A példában vagyunk arról, hogy nézd meg fogja alapvetően lehetővé teszi számunkra, 952 00:51:17,000 --> 00:51:20,000 szűrni baseball csapatok által bajnokság és megosztottságot. 953 00:51:20,000 --> 00:51:23,000 Amikor kiválaszt egy bajnoki, például szeretnék átmenet 954 00:51:23,000 --> 00:51:25,000 az én következő képernyő, ahol képes megjeleníteni az összes megosztottság 955 00:51:25,000 --> 00:51:27,000 abban a bajnokságban, illetve a különböző csapatok. 956 00:51:27,000 --> 00:51:31,000 El kell küldeni a képernyőn, amit csapatoknak kell megjeleníteni. 957 00:51:31,000 --> 00:51:35,000 Ehhez fogom, hogy kihasználják ezt a módszert itt. 958 00:51:35,000 --> 00:51:39,000 >> Végül, csak egy véletlen pont iOS. 959 00:51:39,000 --> 00:51:41,000 Ha azt szeretnénk, hogy az adatok tárolására van ez a dolog az úgynevezett alapvető adatokat, 960 00:51:41,000 --> 00:51:44,000 ami valójában milyen bonyolult dolgozni. 961 00:51:44,000 --> 00:51:47,000 Ön is használja az SQL adatok tárolására, 962 00:51:47,000 --> 00:51:51,000 amely újra, szép, de ilyen a bonyolultabb oldalán dolgozni, 963 00:51:51,000 --> 00:51:55,000 hanem iOS is támogatja ezeket a nagyon jó dolog az úgynevezett ingatlan listákat, 964 00:51:55,000 --> 00:52:00,000 és egy ingatlan a lista csak egy fájl, amely képviseli kulcs érték párokat. 965 00:52:00,000 --> 00:52:03,000 Te meg egy listát a kulcsokat, és azt mondod, ez a kulcs lesz egy tömb. 966 00:52:03,000 --> 00:52:06,000 Ez a kulcs lesz egy string, és alapvetően bármit tehetünk 967 00:52:06,000 --> 00:52:10,000 A JSON tudsz belsejében egy ingatlan lista 968 00:52:10,000 --> 00:52:14,000 és így ez nagyon szépen lehetővé teszi számunkra, hogy működjön együtt néhány adat. 969 00:52:14,000 --> 00:52:18,000 Én például ezt Teams.plist amit létre. 970 00:52:18,000 --> 00:52:22,000 Létrehoztam egy új plist fájlt, és tudom bontani. 971 00:52:22,000 --> 00:52:26,000 Ez egy szótár, ez egy szótár, ezek húrok, 972 00:52:26,000 --> 00:52:30,000 és így ez egy szép grafikus ábrázolása egy JSON dokumentum 973 00:52:30,000 --> 00:52:33,000 vagy csak egy sor kulcsfontosságú érték párokat, 974 00:52:33,000 --> 00:52:37,000 és így ez az adat, hogy fogok dolgozni belsejében az én app. 975 00:52:37,000 --> 00:52:40,000 >> Nézzük először gyere ide. Van egy csomó további fájlokat most. 976 00:52:40,000 --> 00:52:44,000 De nézzük először jött ide, hogy a forgatókönyvbe. 977 00:52:44,000 --> 00:52:48,000 A storyboard itt-ha tudok kicsinyíteni- 978 00:52:48,000 --> 00:52:51,000 akkor látjuk, hogy ez az áramlás az én kb. 979 00:52:51,000 --> 00:52:53,000 Én 1. fog kezdeni ezen a képernyőn. 980 00:52:53,000 --> 00:52:55,000 Megyek lebontja ezt a képernyőt, 981 00:52:55,000 --> 00:52:58,000 és megyek lebontja ezt a képernyőt, és mi lehet itt látni, hogy ha valahogy 982 00:52:58,000 --> 00:53:04,000 mozog egyik ilyen körül már ezeket a nyilakat megy innen van, 983 00:53:04,000 --> 00:53:08,000 és ahogyan azt határozza meg, hogy a nyíl volt, ha nagyítani egy kicsit, 984 00:53:08,000 --> 00:53:12,000 és ha jöttem át ezt a nézetet vezérlő, 985 00:53:12,000 --> 00:53:16,000 és itt egy cellába, és azt akarom mondani, hogy ha megérinti a cella 986 00:53:16,000 --> 00:53:18,000 Azt akarom, hogy csúszik át másik képernyőre. 987 00:53:18,000 --> 00:53:21,000 Én egyszerűen tartsa lenyomva a kontroll, 988 00:53:21,000 --> 00:53:26,000 lépjünk át egy kicsit, tartsa lenyomva a vezérlő, húzza a cella felett, és elengedte. 989 00:53:26,000 --> 00:53:30,000 >> És itt azt mondjuk, hogy mi az átmenetet, hogy a használni kívánt? 990 00:53:30,000 --> 00:53:32,000 Szeretné használni, hogy slide dolog, hogy hívják nyomó? 991 00:53:32,000 --> 00:53:34,000 Szeretné, hogy csúszik fel az alján? 992 00:53:34,000 --> 00:53:36,000 Ezt hívják modális. 993 00:53:36,000 --> 00:53:40,000 És ha rákattintok egy ilyen, ez lesz felhívni erre a nyílra nekem, 994 00:53:40,000 --> 00:53:44,000 és ez azt jelenti, hogy én már tényleg kezelni, mi történik, ha megnyomom ezt a gombot grafikusan. 995 00:53:44,000 --> 00:53:48,000 Én nem írtam semmilyen kódot, hogy valóban csúszik az egyik képernyőn a következő egy. 996 00:53:48,000 --> 00:53:51,000 Meghatároztam ezt vizuálisan belül Interface Builder. 997 00:53:51,000 --> 00:53:55,000 Ha kattintson erre a nyílra, láthatjuk, hogy én adtam ezt a dolgot egy nevet. 998 00:53:55,000 --> 00:53:59,000 Hívtam showDivisions, és ez így van, hogy tudok tudom 999 00:53:59,000 --> 00:54:03,000 milyen átmenet van szó fordul elő, és majd meglátjuk, miért csak egy másodperc. 1000 00:54:03,000 --> 00:54:06,000 Így voltam vezetékes A különböző képernyők az én kb. 1001 00:54:06,000 --> 00:54:09,000 Ha ez egy gombot, például, nem pedig egy tábla nézet, 1002 00:54:09,000 --> 00:54:11,000 Tudtam irányítani kattintson a gombra, húzza át a következő képernyőn, 1003 00:54:11,000 --> 00:54:16,000 és ez hogyan tudok csinálni navigációs így. 1004 00:54:16,000 --> 00:54:19,000 >> Igazán gyorsan, ha jön a MasterViewController, 1005 00:54:19,000 --> 00:54:22,000 Ismét, mi egyszerűen csak megy, hogy meghatározzák a listát azokról a dolgokról 1006 00:54:22,000 --> 00:54:26,000 amely megjelenik a tábla nézetben. 1007 00:54:26,000 --> 00:54:29,000 Itt mondom, azt akarom, hogy ezt a plist fájl, 1008 00:54:29,000 --> 00:54:32,000 és azt akarom, hogy töltsön fel egy szótár, 1009 00:54:32,000 --> 00:54:35,000 és ha van, hogy szótár, fogok válaszolni e ugyanazokra a kérdésekre újra. 1010 00:54:35,000 --> 00:54:37,000 Itt a szakaszok száma. 1011 00:54:37,000 --> 00:54:41,000 Az egyik, van egy sor minden bajnoki, és a szöveg minden egyes cella 1012 00:54:41,000 --> 00:54:46,000 kell lennie, vagy az első, az első osztály, a második liga, és így tovább. 1013 00:54:46,000 --> 00:54:51,000 Végül, fogom használni ezt a módszert, hogy csak látta hívott prepareForSegue, 1014 00:54:51,000 --> 00:54:54,000 és ez az a módszer, ami lesz rúgva, amikor rákattintok 1015 00:54:54,000 --> 00:54:57,000 az egyik, és ezért azokat a sorokat aktiválása, hogy az átmenet 1016 00:54:57,000 --> 00:54:59,000 hogy én létre a nyilak. 1017 00:54:59,000 --> 00:55:02,000 Ez azt mondja, hogy én is több 1018 00:55:02,000 --> 00:55:05,000 kapcsolatok a képernyőn egy másik. 1019 00:55:05,000 --> 00:55:08,000 Ha van 2 gomb és az egyes gombot úgy, hogy egy másik képernyőre 1020 00:55:08,000 --> 00:55:10,000 Megyek már 2 segues, 1 az egyes gombot. 1021 00:55:10,000 --> 00:55:14,000 De ez prepareForSegue van, újra lesz újra 1022 00:55:14,000 --> 00:55:17,000 minden egyes különböző kapcsolatok, így ez azt jelenti, hogy szükség van egy út 1023 00:55:17,000 --> 00:55:21,000 azonosítására, ha megnyomja az első gombot, vagy nyomja meg a második gombot. 1024 00:55:21,000 --> 00:55:25,000 >> Emlékszel, amikor adtam, hogy Segue nevet, ez a showDivisions, 1025 00:55:25,000 --> 00:55:29,000 hogy így most már tudom, hogy ez a Segue hogy működésbe lépett. 1026 00:55:29,000 --> 00:55:32,000 Minden, amit akarok, azt akarom mondani, 1027 00:55:32,000 --> 00:55:35,000 Azt akarom, hogy kitaláljuk, mi csak hit, 1028 00:55:35,000 --> 00:55:38,000 és így kap, hogy azt mondhatom, azt akarom, hogy indexPath a kiválasztott sor, 1029 00:55:38,000 --> 00:55:42,000 emlékszik a indexPath csak azt mondja, ha én csak rákattint, 1030 00:55:42,000 --> 00:55:47,000 majd azt akarom mondani, hogy akarom, hogy kitaláljuk, hová megyek. 1031 00:55:47,000 --> 00:55:50,000 Ez destinationViewController, ez a tulajdonság a Segue. 1032 00:55:50,000 --> 00:55:53,000 Ez a képernyő megyek, 1033 00:55:53,000 --> 00:55:56,000 úgy tudom, hogy a képernyőn fogok nevezik DivisionsViewController 1034 00:55:56,000 --> 00:55:59,000 mert hoztam létre az osztályban, 1035 00:55:59,000 --> 00:56:02,000 és most, ha azt mondom d.divisions 1036 00:56:02,000 --> 00:56:06,000 Én most beállításával tulajdonság azon a véleményen adatkezelő fogok menni. 1037 00:56:06,000 --> 00:56:10,000 Így Küldök adatokat a képernyőn egy másik képernyőre. 1038 00:56:10,000 --> 00:56:13,000 >> Csak nézi most ezt DivisionsViewController 1039 00:56:13,000 --> 00:56:16,000 itt látható, hogy a. h fájlban 1040 00:56:16,000 --> 00:56:20,000 van, hogy az ingatlan üzletágak, és ez az, amit én alapvetően benépesítő, 1041 00:56:20,000 --> 00:56:25,000 így van, hogyan tudom, hogy én vagyok megjelenítésére osztályok megfelelő 1042 00:56:25,000 --> 00:56:28,000 a liga, hogy csattant, és újra, 1043 00:56:28,000 --> 00:56:31,000 a tábla tényleges véli, úgy néz ki, nagyjából ugyanaz, csak az üzenetrögzítő 1044 00:56:31,000 --> 00:56:34,000 3 egyszerű kérdésekre, valamint az azonosító 1045 00:56:34,000 --> 00:56:37,000 mi történik, ha léphet a következő képernyőre. 1046 00:56:37,000 --> 00:56:40,000 Csak egy pár más dolog itt. 1047 00:56:40,000 --> 00:56:43,000 Azt veszi észre, a csúcson van, hogy ahelyett, mondván: # include 1048 00:56:43,000 --> 00:56:45,000 Én most azt mondják # importálni. 1049 00:56:45,000 --> 00:56:47,000 Ez csak egy Objective-C dolog. 1050 00:56:47,000 --> 00:56:52,000 Az import alapvetően egy szebb változata többek között, 1051 00:56:52,000 --> 00:56:57,000 és például, tudnunk kell, hogy mi ez az osztály, 1052 00:56:57,000 --> 00:57:00,000 így nem tudok csak mondani DivisionsViewController. 1053 00:57:00,000 --> 00:57:05,000 Ha nem hashtag standardio.c belül mi. C file 1054 00:57:05,000 --> 00:57:07,000 a fordító volt, fogalmam sincs, mit printf volt. 1055 00:57:07,000 --> 00:57:12,000 Hasonlóképpen, ha nem importálja a DivisionsViewController 1056 00:57:12,000 --> 00:57:16,000 a fordító tényleg fogalmam sincs, mi a DivisionsViewController van. 1057 00:57:16,000 --> 00:57:19,000 Csak győződjön meg arról, hogy belül a különböző. M fájlokat, győződjön meg arról, hogy a behozatali 1058 00:57:19,000 --> 00:57:25,000 a megfelelő. h fájlokat, oly módon, hogy a fordító tudja, mi folyik itt. 1059 00:57:25,000 --> 00:57:31,000 >> Végezetül, mit jelent az Apple végül is adatokat jelenítik meg egy web kilátás, 1060 00:57:31,000 --> 00:57:35,000 és így a web nézet egy tárgy, amelynek segítségével beágyaz 1061 00:57:35,000 --> 00:57:37,000 egy kis böngésző belsejében a kb. 1062 00:57:37,000 --> 00:57:40,000 Mindössze annyit kell tennie, hogy az URL-t a böngésző, 1063 00:57:40,000 --> 00:57:43,000 ezért szeretnék menni mlb.mlb.com, 1064 00:57:43,000 --> 00:57:46,000 és ez hogyan lehet hozzáférni a honlap minden egyes csapatnak, 1065 00:57:46,000 --> 00:57:49,000 és így az áthaladó e URL 1066 00:57:49,000 --> 00:57:52,000 A Web View képes megjeleníteni ezt nekem, és én is böngészhet körül, 1067 00:57:52,000 --> 00:58:01,000 és szimulátor használja azt. 1068 00:58:01,000 --> 00:58:03,000 Most ez jött az én plist. 1069 00:58:03,000 --> 00:58:07,000 Ha rákattint erre ezt is jött az én plist, és ezt a csúszó kezelték 1070 00:58:07,000 --> 00:58:09,000 meghatározásával e segues. 1071 00:58:09,000 --> 00:58:12,000 Én rákattint erre, és még egy, 1072 00:58:12,000 --> 00:58:15,000 és most itt van a UIWebView, úgyhogy csak úgy 1073 00:58:15,000 --> 00:58:19,000 itt a honlapon az URL-címet, hogy én csak a beágyazott, 1074 00:58:19,000 --> 00:58:21,000 és nem kell kezelni semmit őrült. 1075 00:58:21,000 --> 00:58:24,000 Ezt hogyan kell megjeleníteni egy internetes oldalon. 1076 00:58:24,000 --> 00:58:27,000 Dolgok, mint ez a vissza gomb itt is adott nekem 1077 00:58:27,000 --> 00:58:33,000 teljesen ingyen, mert már definiált ezeket a kapcsolatokat a segues. 1078 00:58:33,000 --> 00:58:37,000 >> Van még kérdése? Igen. 1079 00:58:37,000 --> 00:58:40,000 [Student] Szóval ha használja alloc, soha nem szabad semmit? 1080 00:58:40,000 --> 00:58:43,000 Pontosan, amikor telefonál, és alloc init nem kell szabadítani azt. 1081 00:58:43,000 --> 00:58:46,000 IOS fogja kezelni az összes e az Ön számára. 1082 00:58:46,000 --> 00:58:51,000 Ez csodálatos, és te nem törés semmilyen szabályt. Igen. 1083 00:58:51,000 --> 00:58:54,000 [Student] Ha volt, hogy több csapat is fér el a képernyőn, 1084 00:58:54,000 --> 00:58:58,000 lenne automatikusan egy scroll lehetőség, vagy az, hogy valami, amit hozzá kell adni? 1085 00:58:58,000 --> 00:59:01,000 Pontosan, ha lenne több csapat, például, ez automatikusan kezeli 1086 00:59:01,000 --> 00:59:04,000 a görgetés nekem, és az összes teljesítmény aggályok 1087 00:59:04,000 --> 00:59:08,000 A hatalmas táblázat is kezeli teljesen értem. 1088 00:59:08,000 --> 00:59:11,000 >> Egyéb kérdés? 1089 00:59:11,000 --> 00:59:13,000 Mindez kód lesz közzétéve. 1090 00:59:13,000 --> 00:59:16,000 Azt a fajta glossed egy kicsit a több kisebb részleteket, 1091 00:59:16,000 --> 00:59:19,000 de a dolgok, mint a beállítás néhány tulajdonságot az interneten nézet 1092 00:59:19,000 --> 00:59:22,000 csak dolog, hogy lehet kapni a böngészést Apple dokumentációja, 1093 00:59:22,000 --> 00:59:24,000 , ami nagyon, nagyon szépen lefektetett. 1094 00:59:24,000 --> 00:59:27,000 Nekik van egy csomó minta alkalmazások és felhasználások példa 1095 00:59:27,000 --> 00:59:34,000 A különböző API-k, így biztosan elolvassa ezeket, ha tudsz. 1096 00:59:34,000 --> 00:59:36,000 Csak néhány hasznos linkeket érdemes egy pillantást. 1097 00:59:36,000 --> 00:59:38,000 Ezek néhány hasznos dokumentációt útmutatókat. 1098 00:59:38,000 --> 00:59:41,000 Az URL-ek hatalmas, így ők rövidíteni. 1099 00:59:41,000 --> 00:59:44,000 Ez az első az egész könyvtár dokumentációt. 1100 00:59:44,000 --> 00:59:46,000 Kevés keresés bárok, így ha elkezdi gépelni gomb 1101 00:59:46,000 --> 00:59:50,000 kezd így az összes információt az összes dolog, amit tehetünk egy gombbal. 1102 00:59:50,000 --> 00:59:53,000 Én is benne a Table View Programming Guide. 1103 00:59:53,000 --> 00:59:56,000 Ez kezeli a táblázat nézetek sokkal részletesebben, 1104 00:59:56,000 --> 01:00:00,000 hogyan kell csinálni a dolgokat, mint a dinamikusan hozzáadni sejtek vagy szerkesztés sejtek vagy távolítsa el őket. 1105 01:00:00,000 --> 01:00:02,000 >> Van sok minta apps az Apple-től, hogy megmutatja, hogyan kell csinálni, hogy a 1106 01:00:02,000 --> 01:00:05,000 és végül, ez utóbbi az egyik a Human Interface iránymutatás 1107 01:00:05,000 --> 01:00:09,000 és ez alapvetően néhány vita UI komponensek, 1108 01:00:09,000 --> 01:00:12,000 dolgok, mint nem, hogy egy gomb, amely a 4 pixel 4 pixellel. 1109 01:00:12,000 --> 01:00:15,000 Ez egy rossz ötlet, és sok más dolog, hogy az Apple azt akarja csinálni 1110 01:00:15,000 --> 01:00:18,000 ösztönzése a jó design. 1111 01:00:18,000 --> 01:00:23,000 >> Bármilyen utolsó kérdés, mielőtt befejeznénk fel? 1112 01:00:23,000 --> 01:00:27,000 Rendben, biztosan nyugodtan haladhat-mi lesz speciális címkék megvitatni. 1113 01:00:27,000 --> 01:00:30,000 Lesz egy iOS egy, így biztosan nyugodtan használják ezt. 1114 01:00:30,000 --> 01:00:34,000 Ha azt szeretnénk, hogy működjön együtt az osztálytársaival a projektek 1115 01:00:34,000 --> 01:00:37,000 vagy segít kitalálni valami random iOS stuff 1116 01:00:37,000 --> 01:00:40,000 nyugodtan e-mailt nekem, és határozottan elolvas az összes kódot online, mert 1117 01:00:40,000 --> 01:00:43,000 Csak az az érdeke, mire ilyen glossed feletti látna 1118 01:00:43,000 --> 01:00:45,000 finomabb részleteket a dolgokat. 1119 01:00:45,000 --> 01:00:47,000 De ha nem, akkor sok szerencsét a iOS projekteket, és remélem, mi 1120 01:00:47,000 --> 01:00:53,000 egy nagy beáramló apps az App Store-ban. 1121 01:00:53,000 --> 01:00:56,000 [CS50.TV]