1 00:00:00,000 --> 00:00:11,420 2 00:00:11,420 --> 00:00:13,590 >> Tianyu LIU: Ahoj, ako sa má to ide všetkým? 3 00:00:13,590 --> 00:00:20,250 A to je iOS App programovanie Objective C semináre. 4 00:00:20,250 --> 00:00:21,520 A moje meno je Tianyu Liu. 5 00:00:21,520 --> 00:00:26,114 Som Lowell junior práve teraz, sústrediť sa v informatike. 6 00:00:26,114 --> 00:00:28,030 Takže v tomto seminári som si bude vás naučí ľudí 7 00:00:28,030 --> 00:00:30,770 niečo málo o tom, ako aplikáciu. 8 00:00:30,770 --> 00:00:33,030 Hurá, nadchnúť pre to. 9 00:00:33,030 --> 00:00:36,790 >> Takže ako sme sa dokonca začať potápanie do aktuálneho programového strane, 10 00:00:36,790 --> 00:00:41,840 Proste veľmi rýchlo hovoriť Prečo budete chcieť vytvoriť aplikáciu iOS? 11 00:00:41,840 --> 00:00:43,940 Prečo je iOS tak úžasné? 12 00:00:43,940 --> 00:00:47,250 Takže prvý problém, prvý vec, ktorá je dosť desivý pre nás, 13 00:00:47,250 --> 00:00:51,190 najmä ako CS50 študent, je to, že iOS 14 00:00:51,190 --> 00:00:55,860 používa Cieľ C. No, je tu nový jazyk s názvom Swift, 15 00:00:55,860 --> 00:00:58,260 ale my nebudeme použitie, ktoré v tomto seminári. 16 00:00:58,260 --> 00:01:01,540 Ak máte záujem o Swift, tam je nezávislý seminár o tom. 17 00:01:01,540 --> 00:01:05,590 Ale Objective C je v zásade podmnožinou C. Význam 18 00:01:05,590 --> 00:01:10,230 že všetko, čo používate v C môže byť preložený do Objective C 19 00:01:10,230 --> 00:01:11,630 veľmi ľahko. 20 00:01:11,630 --> 00:01:15,730 >> Ako môžete vidieť neskôr, že skutočne tam sú niektoré veľmi základné syntax, sú 21 00:01:15,730 --> 00:01:19,790 v podstate presne rovnaký, C a Objective C. Tak, 22 00:01:19,790 --> 00:01:22,860 pretože ste vzali CS50 up tak ďaleko, že už 23 00:01:22,860 --> 00:01:26,500 viem Objective C, aspoň 40%. 24 00:01:26,500 --> 00:01:30,720 Tiež, Apple má naozaj robustné API pre iOS. 25 00:01:30,720 --> 00:01:33,750 Existuje veľa naozaj šialené veci, ktoré môžete urobiť s ním. 26 00:01:33,750 --> 00:01:36,760 Jedným z nich je niekto vlastne vytvoril aplikáciu iOS 27 00:01:36,760 --> 00:01:40,600 ich ovládanie vozidiel, ktorá Je celkom zaujímavé. 28 00:01:40,600 --> 00:01:42,610 Pravdepodobne vrtuľník je viac vzrušujúce. 29 00:01:42,610 --> 00:01:47,020 Ale to je, ako silný iOS API môže byť. 30 00:01:47,020 --> 00:01:49,340 >> A ako by sa mohlo mať prišiel práve teraz, 31 00:01:49,340 --> 00:01:53,000 pretečenie zásobníka je pravdepodobne jedným z Najdôležitejšie on-line zdroje 32 00:01:53,000 --> 00:01:54,250 K dispozícii pre vás. 33 00:01:54,250 --> 00:01:58,090 A dobrá správa, pre každého jediný problém, môžete prípadne 34 00:01:58,090 --> 00:02:01,840 myslieť pri vytváraní vašich záverečný projekt v Objective C, 35 00:02:01,840 --> 00:02:05,910 je pravdepodobné, pretečenie zásobníka odpoveď. 36 00:02:05,910 --> 00:02:07,420 Je to proste úžasné. 37 00:02:07,420 --> 00:02:12,780 Okrem toho, iOS je naozaj platforma 38 00:02:12,780 --> 00:02:16,260 kde sa môžete dostať obrovský publikum s malým úsilím. 39 00:02:16,260 --> 00:02:20,170 Nie je to ako Android, kde všetko je celkom roztrieštený. 40 00:02:20,170 --> 00:02:22,540 >> Všetko iOS je jednotný. 41 00:02:22,540 --> 00:02:25,920 A tak dlho, ako si vytvoriť aplikácie pre iPhone, 42 00:02:25,920 --> 00:02:31,260 môžete ľahko port, ktorý na iPad, iPad mini, alebo rôzne veľkosti iPhone. 43 00:02:31,260 --> 00:02:33,050 To všetko sú naozaj pohodlné. 44 00:02:33,050 --> 00:02:36,430 A to je len naozaj dobrý pre imponujúce svojich priateľov. 45 00:02:36,430 --> 00:02:38,920 Stačí si len držať iPhone a povedzte svojmu priateľovi hej, 46 00:02:38,920 --> 00:02:40,250 To je aplikácia, čo robiť. 47 00:02:40,250 --> 00:02:43,860 Môžete to urobiť, že pre akýkoľvek desktopových aplikácií, čo je pekné. 48 00:02:43,860 --> 00:02:48,870 >> Dobre, teraz poďme skutočne dostať do jazyka Objective C. 49 00:02:48,870 --> 00:02:52,910 Tak prečo nie my začíname niektoré naozaj základné syntaxe. 50 00:02:52,910 --> 00:02:57,410 Ako som sa už zmienil skôr Cieľ C Je to v podstate podmnožinou C. 51 00:02:57,410 --> 00:03:01,860 Takže veľa základnej syntaxe vlastne úplne rovnaký. 52 00:03:01,860 --> 00:03:06,150 Deklarácia premennej a pridá dve premenné spolu 53 00:03:06,150 --> 00:03:09,440 je presne tak, ako sme to urobili v Mario. 54 00:03:09,440 --> 00:03:11,140 Nič nové tu. 55 00:03:11,140 --> 00:03:17,370 >> Rovnako tak, nájomník pre sláčiky a stav je tiež rovnaká. 56 00:03:17,370 --> 00:03:22,370 Môžete to urobiť pre sláčiky, rovnako ako vy ktoré robil v Mario [nepočuteľné]. 57 00:03:22,370 --> 00:03:26,280 A vy môžete urobiť podmienky rovnako ako to, čo 58 00:03:26,280 --> 00:03:29,240 robili v predchádzajúcej p sád. 59 00:03:29,240 --> 00:03:33,400 Avšak, Objective C nie je úplne C, 60 00:03:33,400 --> 00:03:36,640 a je tam niečo, čo Je trochu divné o tom. 61 00:03:36,640 --> 00:03:42,340 >> Prvý z nich je, že keď ste robí programovanie C, zvyčajne volanie 62 00:03:42,340 --> 00:03:46,310 patrí a potom názov knižnice. 63 00:03:46,310 --> 00:03:49,860 Ale v Objective C hovoríte, aby dovoz. 64 00:03:49,860 --> 00:03:53,100 V podstate hovorí funkčnosti len rôzne mená. 65 00:03:53,100 --> 00:03:55,940 A reťazce sú vlastne trochu divné. 66 00:03:55,940 --> 00:03:58,250 Môžete vidieť, že prvá vec, ktorá je trochu divný 67 00:03:58,250 --> 00:04:04,190 je to, že máte dosť weird-- sorry-- máte dosť divné NS 68 00:04:04,190 --> 00:04:04,960 Prihláste sa sem. 69 00:04:04,960 --> 00:04:07,452 70 00:04:07,452 --> 00:04:09,160 A druhá vec že je to trochu divné 71 00:04:09,160 --> 00:04:14,090 sa máte na znak pred skutočne deklarovať reťazec. 72 00:04:14,090 --> 00:04:19,209 Takže zavináč v podstate znamená, že reťazec nie je len reťazec, 73 00:04:19,209 --> 00:04:20,880 to je v skutočnosti objekt. 74 00:04:20,880 --> 00:04:22,780 Budeme vysvetľovať že neskôr takže sa nemusíte 75 00:04:22,780 --> 00:04:25,800 panika, ak nemáte pochopiť, čo to znamená. 76 00:04:25,800 --> 00:04:29,980 A tlač na konzole je trochu odlišné, pretože v C nazývame printf, 77 00:04:29,980 --> 00:04:33,350 ale v Objective C, zavolajte [nepočuteľné]. 78 00:04:33,350 --> 00:04:35,640 >> Možno sa čudujete, čo to je. 79 00:04:35,640 --> 00:04:38,070 To je v podstate printf, len iný jazyk. 80 00:04:38,070 --> 00:04:41,370 Presne rovnaké použitie, presne rovnaké funkcie. 81 00:04:41,370 --> 00:04:44,060 No, ukázalo sa, že Objective C vlastne 82 00:04:44,060 --> 00:04:50,040 má ns prefix takmer všetko, každá základná dátový typ, 83 00:04:50,040 --> 00:04:52,690 NSString, nsarray, nsdictionary. 84 00:04:52,690 --> 00:04:56,340 Dôvodom je, že ns vlastne znamená ďalší krok 85 00:04:56,340 --> 00:04:59,980 čo je spoločnosť, ktorá Steve Jobs založil, 86 00:04:59,980 --> 00:05:03,960 čo je spoločnosť, kde Jazyk Objective C je na svete. 87 00:05:03,960 --> 00:05:06,140 Tak to je v podstate tradície. 88 00:05:06,140 --> 00:05:09,010 Ja viem, je to trochu divne, ale je to Apple. 89 00:05:09,010 --> 00:05:16,840 >> Takže niečo, čo je ešte divnejšie než že je deklarácia funkcie. 90 00:05:16,840 --> 00:05:22,600 To je veľmi odlišné od toho, čo sme vidieť v C, pretože tu to vlastne 91 00:05:22,600 --> 00:05:25,190 nevyzerá ako C už. 92 00:05:25,190 --> 00:05:28,810 Čo máte here-- by spôsob, ako to nie je zarážka, 93 00:05:28,810 --> 00:05:30,690 to je znamienko mínus. 94 00:05:30,690 --> 00:05:36,440 Máte znamienka mínus zátvorka void a potom názov funkcie. 95 00:05:36,440 --> 00:05:38,450 Povedzme, že ak budeme majú Hello World, potom 96 00:05:38,450 --> 00:05:42,820 typ návrat bude zrušená preto, že sme nič vrátiť. 97 00:05:42,820 --> 00:05:44,680 >> To, čo sa naozaj divný je, že keď ste 98 00:05:44,680 --> 00:05:49,580 ktoré majú viac ako jeden parameter prechádzať do rovnakej funkcie, ktorá 99 00:05:49,580 --> 00:05:53,870 bude naozaj divné, ako je znázornené tu. 100 00:05:53,870 --> 00:05:58,230 Máme názov metódy, volal AddInto na [nepočuteľné] 101 00:05:58,230 --> 00:06:00,370 a my sme zadali jeden parameter. 102 00:06:00,370 --> 00:06:05,170 Ale po tom, máme Viac meno volanie metódy sa. 103 00:06:05,170 --> 00:06:08,500 A potom, čo sa budeme absolvovaní Druhým parametrom. 104 00:06:08,500 --> 00:06:11,940 To je vlastne trochu divné, Ale všetky tieto funkcie vyhlásenie 105 00:06:11,940 --> 00:06:14,770 sledovať rovnaký priebeh, ako toto. 106 00:06:14,770 --> 00:06:17,450 >> Máme mínus začať. 107 00:06:17,450 --> 00:06:21,550 Znamienko mínus môže byť znamienko plus niekedy zakladajú na tom, aké metódy 108 00:06:21,550 --> 00:06:22,340 to je. 109 00:06:22,340 --> 00:06:25,000 Metóda je v podstate iný názov pre funkciu. 110 00:06:25,000 --> 00:06:26,760 A budeme sa vysvetliť, že neskôr, keď 111 00:06:26,760 --> 00:06:30,580 hovoríme o objekte orientované programovanie. 112 00:06:30,580 --> 00:06:34,300 Najprv určiť návrat typ zátvorkách, 113 00:06:34,300 --> 00:06:37,450 po ktorom prichádza názov metódy. 114 00:06:37,450 --> 00:06:40,310 Tie odovzdávanie jeden parameter. 115 00:06:40,310 --> 00:06:44,750 A ak máte viac parametrov je potrebné rozšíriť názov metódy 116 00:06:44,750 --> 00:06:46,770 a v podstate napísať niečo viac tu. 117 00:06:46,770 --> 00:06:48,090 >> Môže to byť čokoľvek chcete. 118 00:06:48,090 --> 00:06:50,140 V našom prípade je to s. 119 00:06:50,140 --> 00:06:56,160 Ale dalo by sa povedať koniec, alebo alebo alebo abc plný bar, čo chcete. 120 00:06:56,160 --> 00:06:59,500 A potom po tom ste odovzdávanie parametra b. 121 00:06:59,500 --> 00:07:01,750 To je naozaj zvláštne konvencie, ale my sme 122 00:07:01,750 --> 00:07:05,800 uvidia, prečo Apple chcel k tomu, že veľmi rýchlo. 123 00:07:05,800 --> 00:07:10,530 Tak ako sa vám volanie funkcie? 124 00:07:10,530 --> 00:07:15,520 Volanie funkcie v Objective C je tiež odlišné od C. 125 00:07:15,520 --> 00:07:18,170 >> Vlastne, volanie Funkcie v Objective C 126 00:07:18,170 --> 00:07:21,030 je skôr hovoríte s niekým. 127 00:07:21,030 --> 00:07:27,030 Tu máme ja, ktoré sa nazýva objekt. 128 00:07:27,030 --> 00:07:33,830 Vy ste v podstate povedať, námietky seba povedať: "Hello World!" 129 00:07:33,830 --> 00:07:36,830 To je, ako na volanie funkcie. 130 00:07:36,830 --> 00:07:41,690 Objekt a názov metódy v kombinácii s ostatnými. 131 00:07:41,690 --> 00:07:49,600 A to je miesto, kde divný rozšírenie pre názov metódy naozaj príde do hry. 132 00:07:49,600 --> 00:07:52,150 >> Poďme sa pozrieť na druhý príklad. 133 00:07:52,150 --> 00:07:56,780 Práve sme definovali metódu nazvanú AddInto s bla bla bla. 134 00:07:56,780 --> 00:08:00,066 Takže v tomto prípade, kedy voláte že konkrétne [? posolstvo?] to ide 135 00:08:00,066 --> 00:08:02,035 vyzerať ako vlastné AddInto: 10 s: 2. 136 00:08:02,035 --> 00:08:05,410 137 00:08:05,410 --> 00:08:08,070 Znie to ako angličtina. 138 00:08:08,070 --> 00:08:11,980 Aj keď funkcie deklarácia funkcie je divný, 139 00:08:11,980 --> 00:08:15,600 bod Cieľ rokov C metóda vyhlásenia vzor, 140 00:08:15,600 --> 00:08:18,830 je, že keď voláte funkcia alebo metóda 141 00:08:18,830 --> 00:08:21,980 to bude znieť ako skutočný angličtiny. 142 00:08:21,980 --> 00:08:25,270 Takže je to veľmi intuitívne akonáhle sa dostanete do toho. 143 00:08:25,270 --> 00:08:28,740 >> Najmä v tomto prípade, kde si môžete v podstate 144 00:08:28,740 --> 00:08:33,010 vidieť, že názov funkcie je druh dokumentácia sama. 145 00:08:33,010 --> 00:08:35,390 Ty nepotrebuješ viac vysvetlenie vidieť 146 00:08:35,390 --> 00:08:42,770 čo presne sa deje, čo sa presne jeden parameter robí. 147 00:08:42,770 --> 00:08:48,470 Nad rámec, ktorý, poďme hovoriť trochu bit o objektovo orientovaného programovania. 148 00:08:48,470 --> 00:08:52,160 Objektovo orientované programovanie je Jedným zo základných programov 149 00:08:52,160 --> 00:08:57,110 techniky alebo vzory, ktoré je použitý cieľ C. Objective C 150 00:08:57,110 --> 00:09:03,110 sa nazýva cieľ C, nie C, pre naozaj dobrý dôvod. 151 00:09:03,110 --> 00:09:07,560 >> Takže než sa dostaneme do Cieľ syntax C, 152 00:09:07,560 --> 00:09:11,670 Poďme sa pozrieť na naozaj rýchlo čo presne je objekt. 153 00:09:11,670 --> 00:09:15,480 Sme asi urobili niečo ako objekt pred, ktorý 154 00:09:15,480 --> 00:09:19,780 sa nazýva struct, keď ste implementáciu strom alebo prepojený zoznam 155 00:09:19,780 --> 00:09:25,730 alebo [? skúsiť. ?] Takže, to je v podstate ako struct, 156 00:09:25,730 --> 00:09:28,560 ale je to oveľa silnejšie ako to. 157 00:09:28,560 --> 00:09:33,150 Objekt má metódy a vlastnosti. 158 00:09:33,150 --> 00:09:35,310 Metódy sú v podstate funkcie. 159 00:09:35,310 --> 00:09:39,480 V podstate funguje, že špecifické pre určitý objekt. 160 00:09:39,480 --> 00:09:45,440 >> A vlastnosti sú v podstate pole zadáte do struct. 161 00:09:45,440 --> 00:09:48,500 Takže pre každý objekt máme nejaký majetok 162 00:09:48,500 --> 00:09:53,160 že má niektoré premenné, ktoré sú špecifické pre daný objekt. 163 00:09:53,160 --> 00:09:57,170 A máme niektoré funkcie, ktoré sú tiež špecifické pre daný objekt. 164 00:09:57,170 --> 00:10:01,180 A funkcie sú volány metódy a premenné sa nazývajú vlastnosti. 165 00:10:01,180 --> 00:10:03,190 Je to len vymyslené meno. 166 00:10:03,190 --> 00:10:10,440 Kým si skutočnosti, každý názor vidíte, keď otvoríte aplikáciu iOS, 167 00:10:10,440 --> 00:10:17,720 povedzme, že Twitter alebo Facebook, každý pohľad vidíte, je objekt. 168 00:10:17,720 --> 00:10:22,110 A dokonca aj celá aplikácia je objekt začať. 169 00:10:22,110 --> 00:10:25,340 Veľmi zaujímavý koncept. 170 00:10:25,340 --> 00:10:28,480 >> A prečo chceme objekt orientovaného programovania? 171 00:10:28,480 --> 00:10:33,530 Takže si viete predstaviť, že keď Program, je to pomerne zložité. 172 00:10:33,530 --> 00:10:36,400 Povedzme, že keď ste vykonávanie šachovnice, 173 00:10:36,400 --> 00:10:40,020 logika bude je naozaj zložité. 174 00:10:40,020 --> 00:10:43,280 Máte 36 rôznych kúsky, takže ak ste 175 00:10:43,280 --> 00:10:48,370 chcem písať logiku pre všetky 36 rôznych kusov v šachy, 176 00:10:48,370 --> 00:10:52,150 že to bude veľa rôzne funkcie a premenné. 177 00:10:52,150 --> 00:10:54,070 Je to veľa problémov. 178 00:10:54,070 --> 00:10:58,980 A pravdepodobne budete písať iný spôsob alebo rôzne funkcie 179 00:10:58,980 --> 00:11:03,950 pre každý kus presne kontrolovať, čo robia. 180 00:11:03,950 --> 00:11:08,830 >> Ale ak si objektovo orientovaný programovanie, všetky tieto kúsky 181 00:11:08,830 --> 00:11:12,440 možno abstrahovať do jediný objekt. 182 00:11:12,440 --> 00:11:16,111 A objekt bude mať nejaké spoločné vlastnosti, ako je, aký druh dielu 183 00:11:16,111 --> 00:11:16,610 je to? 184 00:11:16,610 --> 00:11:17,740 Akú má farbu? 185 00:11:17,740 --> 00:11:19,480 Ako sa to môže pohybovať? 186 00:11:19,480 --> 00:11:24,660 A týmto spôsobom budete mať veľmi zjednodušená logiku to. 187 00:11:24,660 --> 00:11:28,480 Takže je to len naozaj dobrý spôsob, ako aby zložité programy, 188 00:11:28,480 --> 00:11:33,700 a hierarchický vzťah v rámci programu, veľmi jednoduché. 189 00:11:33,700 --> 00:11:36,800 Ako budeme vidieť Preto veľmi rýchlo, keď 190 00:11:36,800 --> 00:11:39,660 sme skutočne robí programming-- keď sme vlastne 191 00:11:39,660 --> 00:11:42,830 robí S kód programovanie sa neskôr. 192 00:11:42,830 --> 00:11:48,120 >> No okrem toho, objektovo orientované programovanie 193 00:11:48,120 --> 00:11:50,030 je len veľa zábavy. 194 00:11:50,030 --> 00:11:51,990 Musíte vytvoriť vlastný objekt. 195 00:11:51,990 --> 00:11:56,080 Musíš vytvoriť to, čo robí to vyzerá, ako by sami. 196 00:11:56,080 --> 00:11:58,250 Neexistuje žiadna správna odpoveď na to. 197 00:11:58,250 --> 00:12:02,940 A je to úplne zaujímavé. 198 00:12:02,940 --> 00:12:07,270 Takže v objektovo orientovaného programovania, dva základné pojmy 199 00:12:07,270 --> 00:12:10,130 Bude triedy a inštancie. 200 00:12:10,130 --> 00:12:13,570 Trieda je v podstate šablóna pre objekt. 201 00:12:13,570 --> 00:12:18,070 A inštancie je v podstate jeden konkrétny objekt. 202 00:12:18,070 --> 00:12:21,090 >> Povedzme, že robíte cookie. 203 00:12:21,090 --> 00:12:24,800 V tomto prípade, každý cookie skutočne skončiť 204 00:12:24,800 --> 00:12:27,310 bude objekt. 205 00:12:27,310 --> 00:12:35,830 Ale cookie dosku môžete použiť na pečenie všetky cookies bude trieda. 206 00:12:35,830 --> 00:12:37,880 Trieda je v podstate šablóna. 207 00:12:37,880 --> 00:12:46,170 A inštancie bude jeden konkrétny objekt vytvorený z tejto triedy. 208 00:12:46,170 --> 00:12:49,970 >> A inštancie bude vytvorená na základe deklarácie triedy, 209 00:12:49,970 --> 00:12:56,760 ako uvidíme v ďalších snímok. 210 00:12:56,760 --> 00:13:00,010 Tak poďme vlastne robiť naozaj rýchly príklad [nepočuteľné]. 211 00:13:00,010 --> 00:13:04,280 Povedzme, že sme jeho uverejnenia objekt pre mačku. 212 00:13:04,280 --> 00:13:07,930 Objekt by mal have-- trieda mačka by mala 213 00:13:07,930 --> 00:13:11,260 majú niektoré vlastnosti a metódy. 214 00:13:11,260 --> 00:13:17,300 Aké vlastnosti by mal trieda have-- by mačka mať? 215 00:13:17,300 --> 00:13:20,580 >> Napríklad, farba, vek a plemeno, tie 216 00:13:20,580 --> 00:13:24,440 bude premenné, ktoré sú špecifické pre každú mačku. 217 00:13:24,440 --> 00:13:27,790 A to sú niektoré veci ktorý používame na opis mačku. 218 00:13:27,790 --> 00:13:31,880 Aké metódy, alebo čo môže mačka robiť? 219 00:13:31,880 --> 00:13:37,160 Niektoré rýchle príklady boli by chase myš, jesť ryby alebo len mňaukať. 220 00:13:37,160 --> 00:13:40,900 To je naozaj rýchly Príkladom mačacie triedy. 221 00:13:40,900 --> 00:13:46,920 A naozaj špecifický mačka objekt bude mačka 222 00:13:46,920 --> 00:13:50,930 kde určíme farba, vek a plemeno. 223 00:13:50,930 --> 00:13:53,790 >> V tomto prípade, náš objekt už triedy nie je ešte. 224 00:13:53,790 --> 00:14:00,010 My skopírujte šablónu z triedy a určíme každé konkrétne informácie 225 00:14:00,010 --> 00:14:04,510 k tomuto špecifickému predmetu aby bol nezávislý. 226 00:14:04,510 --> 00:14:09,350 A keď voláte Spôsob vnútri objektu, 227 00:14:09,350 --> 00:14:16,640 stačí zavolať mňau na objekte, čo je mačka ste práve vytvorili. 228 00:14:16,640 --> 00:14:19,020 >> Pravdepodobne budete tlačiť niečo ako "Hello World! 229 00:14:19,020 --> 00:14:20,000 Mňau ". 230 00:14:20,000 --> 00:14:22,110 Docela roztomilé. 231 00:14:22,110 --> 00:14:24,500 Dobre, povedzme, dostať sa do nejaké detaily 232 00:14:24,500 --> 00:14:30,650 a zistiť, čo presne to robí preložiť do bytia programovania iOS. 233 00:14:30,650 --> 00:14:36,500 Takže v iOS programovanie každý trieda bude realizovaný v dvoch súboroch. 234 00:14:36,500 --> 00:14:41,420 Jeden súbor je tú, ktorá sa nazýva rozhranie. 235 00:14:41,420 --> 00:14:45,300 Ďalší súbor je tú, ktorá sa nazýva implementácia. 236 00:14:45,300 --> 00:14:48,890 >> Typicky rozhranie bude mať extension.h 237 00:14:48,890 --> 00:14:51,740 ako sme videli v C knižnice. 238 00:14:51,740 --> 00:14:56,340 A implementácia súbor bude mať extension.n. 239 00:14:56,340 --> 00:14:57,260 Je to trochu divné. 240 00:14:57,260 --> 00:15:01,270 Ale n znamená v skutočnosti .c, neexistuje zásadný rozdiel medzi tými 241 00:15:01,270 --> 00:15:02,100 dve. 242 00:15:02,100 --> 00:15:06,650 Takže v tomto prípade môžeme vidieť, že sme deklarovať rozhranie, kat: objekt. 243 00:15:06,650 --> 00:15:10,660 244 00:15:10,660 --> 00:15:13,760 To sa nazýva dedičnosť. 245 00:15:13,760 --> 00:15:19,170 Sme v podstate dedenia mačka triedy z triedy objektov. 246 00:15:19,170 --> 00:15:24,790 Takže každá vlastnosť, a metóda, ktorá bola predtým definované v triede objekte 247 00:15:24,790 --> 00:15:28,560 bude automaticky definované v triede mačky rovnako. 248 00:15:28,560 --> 00:15:35,900 >> Okrem toho, definujeme farbu, plemeno, a vek, tri premenné. 249 00:15:35,900 --> 00:15:39,360 To naozaj vyzerá ako niečo, čo ste urobili predtým. 250 00:15:39,360 --> 00:15:41,770 Vyzerá to, že struct. 251 00:15:41,770 --> 00:15:44,950 Že je v podstate syntaxe o vyhlásení struct, 252 00:15:44,950 --> 00:15:47,710 a že je úplne správny. 253 00:15:47,710 --> 00:15:51,825 A pretože som sa zmienil predtým, rozdiel struct 254 00:15:51,825 --> 00:15:53,960 a predmet, jeden z zásadné rozdiely 255 00:15:53,960 --> 00:15:59,080 je to, že predmet má spôsob, zatiaľ čo struct má iba premenné. 256 00:15:59,080 --> 00:16:03,450 Takže okrem vlastností alebo premenné sme vytvorili pre objekt, 257 00:16:03,450 --> 00:16:05,700 určíme nejakú metódu. 258 00:16:05,700 --> 00:16:09,720 >> Povedzme, že tu máme dve metódy, jedna je mňau, 259 00:16:09,720 --> 00:16:12,460 Ďalším z nich je chase myš. 260 00:16:12,460 --> 00:16:18,600 Pravdepodobne Chceme byť absolvovanie parameter na základe našej predchádzajúcej metódy 261 00:16:18,600 --> 00:16:20,440 vyhlásenie vzor. 262 00:16:20,440 --> 00:16:22,160 Pravdepodobne budete chcieť byť absolvovanie myši. 263 00:16:22,160 --> 00:16:25,180 A pravdepodobne budete chcieť vrátiť bool znamenať 264 00:16:25,180 --> 00:16:30,010 Ak je vaša mačka má úspešne chytil myš, alebo nie. 265 00:16:30,010 --> 00:16:33,170 >> Jedná sa o rozhranie, ale môžeme vidieť, že rozhranie skutočne 266 00:16:33,170 --> 00:16:35,150 nerobí nič. 267 00:16:35,150 --> 00:16:40,800 Je to len povie program, čo exists-- to, čo existuje v triede mačky. 268 00:16:40,800 --> 00:16:43,640 Tak, aby pre Program niečo urobiť, 269 00:16:43,640 --> 00:16:46,680 musíme mať implementácia súborov. 270 00:16:46,680 --> 00:16:51,940 Tak tu je prvá vec, ktorú robíme, je samozrejme dovážame rozhranie. 271 00:16:51,940 --> 00:16:56,470 Potom, čo sme importu rozhranie, definujeme metódu. 272 00:16:56,470 --> 00:17:00,150 >> Povedzme, že tu mňau by len vytlačiť 273 00:17:00,150 --> 00:17:01,740 "Hello World!" na konzolu. 274 00:17:01,740 --> 00:17:04,319 275 00:17:04,319 --> 00:17:08,460 A po vykonaní súbor, sme skoro hotové. 276 00:17:08,460 --> 00:17:14,530 To je v podstate trieda Vyhlásenie o jednu triedu. 277 00:17:14,530 --> 00:17:19,970 Takže teraz vyvstáva otázka, Ako sa vám deklarovať premennú? 278 00:17:19,970 --> 00:17:26,880 Spôsob, akým použiť triedu na vytvorenie Je tu napísané objekt v Objective C. 279 00:17:26,880 --> 00:17:30,730 >> Tie prvé určiť, že to je ukazovateľ mačka, 280 00:17:30,730 --> 00:17:38,700 preto, že každý objekt v Objective C konečne implementovaný ako ukazovateľ. 281 00:17:38,700 --> 00:17:46,210 A hovoríte triedu, volať im ako je Alloc, ktorý je v podstate malloc, 282 00:17:46,210 --> 00:17:51,220 hovorí operačný systém, ktorý vám Potrebujem miesto v pamäti pre tento objekt. 283 00:17:51,220 --> 00:17:55,780 Potom budete mať objekt a už ste práve inicializovať. 284 00:17:55,780 --> 00:17:56,780 To je len konvencie. 285 00:17:56,780 --> 00:17:59,390 286 00:17:59,390 --> 00:18:04,410 Ja viem, že je to je trochu divné, ale To je vlastne, ako Apple robí veci. 287 00:18:04,410 --> 00:18:07,130 >> Priradenie vlastností je vlastne celkom jednoduché. 288 00:18:07,130 --> 00:18:09,250 Je to veľmi podobné Čo robíte, keď 289 00:18:09,250 --> 00:18:13,780 ste priradenie niektoré konkrétne pole vnútri Struct. 290 00:18:13,780 --> 00:18:16,830 Musíte len premennú meno, názov vlastnosti, 291 00:18:16,830 --> 00:18:20,140 a priradiť konkrétnu hodnotu k nemu. 292 00:18:20,140 --> 00:18:24,120 A volanie metódy je veľmi podobná. 293 00:18:24,120 --> 00:18:29,080 Volanie metóda je v podstate o čom hovorím 294 00:18:29,080 --> 00:18:32,390 pre volania do všetkých metódu cieľ C. 295 00:18:32,390 --> 00:18:36,660 >> Tie odovzdávanie objektu, v v tomto prípade to bude myCat, 296 00:18:36,660 --> 00:18:42,490 a vy ste odovzdaním názov metódy. 297 00:18:42,490 --> 00:18:47,130 Ako by hovoríte k objektu, myCat, že by ste mali mňaukať. 298 00:18:47,130 --> 00:18:48,570 Je to celkom zaujímavé. 299 00:18:48,570 --> 00:18:52,010 300 00:18:52,010 --> 00:18:55,680 Po tom, tu je jedna dôležitejšie návrhový vzor 301 00:18:55,680 --> 00:18:59,940 že musíme hovoriť o než sa dostane do skutočného S kód. 302 00:18:59,940 --> 00:19:03,300 Tento návrhový vzor sa nazýva udalosťami riadené programovanie. 303 00:19:03,300 --> 00:19:09,660 To je tiež pravdepodobne jedným z najviac základné myšlienky v programovaní systému iOS. 304 00:19:09,660 --> 00:19:14,410 >> Takže si asi neviete, čo presne je udalosťami riadené programovanie, 305 00:19:14,410 --> 00:19:16,990 ale to nie je naozaj tak desivé. 306 00:19:16,990 --> 00:19:20,400 No v skutočnosti, budete mať Už urobil predtým. 307 00:19:20,400 --> 00:19:24,894 To je jedna z liniek, ktoré ste pravdepodobne už písali v minulom [nepočuteľné] 308 00:19:24,894 --> 00:19:26,810 of CS50, google.maps.event.addListener (značka, 309 00:19:26,810 --> 00:19:27,810 "Click", function () {}):. 310 00:19:27,810 --> 00:19:32,410 311 00:19:32,410 --> 00:19:37,620 Volaním tento riadok ste v podstate hovorí počítač 312 00:19:37,620 --> 00:19:42,650 že vždy, keď volal udalosť "Kliknite na tlačidlo" deje na značku, 313 00:19:42,650 --> 00:19:43,630 použite túto funkciu. 314 00:19:43,630 --> 00:19:46,910 315 00:19:46,910 --> 00:19:50,950 >> To je veľmi odlišné od to, čo robiť v mario.c. 316 00:19:50,950 --> 00:19:56,670 V mario.c stačí spustiť program raz, to vám dáva výstup, 317 00:19:56,670 --> 00:19:58,590 a máte hotovo. 318 00:19:58,590 --> 00:20:02,590 Jedná sa o niečo ako One Shot programy. 319 00:20:02,590 --> 00:20:05,830 Udalosťami riadené programy sú veľmi, veľmi odlišné. 320 00:20:05,830 --> 00:20:10,230 Poďme si predstaviť, ak Facebook je jedna záber programu to nie je naozaj dobrá. 321 00:20:10,230 --> 00:20:13,750 Jednoducho ísť na Facebook raz a je to hotovo. 322 00:20:13,750 --> 00:20:16,700 To vám dáva nejaký výstup a nikdy ho dostal späť. 323 00:20:16,700 --> 00:20:19,380 Ty nikdy nič viac. 324 00:20:19,380 --> 00:20:23,880 >> Tak tu, a to najmä vzor používame je 325 00:20:23,880 --> 00:20:26,940 udalosti riadené, takže každá funkcia bude 326 00:20:26,940 --> 00:20:31,480 byť zachytený na základe toho, čo Akcia sa stalo. 327 00:20:31,480 --> 00:20:34,670 Napríklad, ak máme tlačidlo a určíme 328 00:20:34,670 --> 00:20:39,870 že kedykoľvek sa, že kliknutie na tlačidlo, volanie funkcie s názvom "Hello World!" 329 00:20:39,870 --> 00:20:47,810 Týmto spôsobom môžeme naozaj spravovať funkcie logiku 330 00:20:47,810 --> 00:20:50,560 prietok vo veľmi flexibilne. 331 00:20:50,560 --> 00:20:55,840 Užívateľ si môže robiť, alebo volanie funkcie , Ktorá už bola volaná. 332 00:20:55,840 --> 00:20:59,900 Je to úplne na základe toho, čo používatelia robia. 333 00:20:59,900 --> 00:21:04,080 >> Takže môžeme vidieť, že je to v skutočnosti oveľa lepšie ako mario.c. 334 00:21:04,080 --> 00:21:07,190 A dobrá správa je, že je to v skutočnosti nie je nový koncept. 335 00:21:07,190 --> 00:21:12,140 Vy ste tak už urobili že v poslednej problém nastaviť. 336 00:21:12,140 --> 00:21:16,640 Takže v Objective C existujú tri rôzne diagramy 337 00:21:16,640 --> 00:21:19,030 pre udalosťami riadené programovanie. 338 00:21:19,030 --> 00:21:21,970 Prvý diagram volal cieľ akcie, 339 00:21:21,970 --> 00:21:26,990 kde zviazať tlačidlo lis s nejakou funkciou. 340 00:21:26,990 --> 00:21:31,590 Povedzme, že vždy, keď kliknete na tlačidlo niektoré tlačidlo, volanie nejaké funkcie. 341 00:21:31,590 --> 00:21:33,620 To je veľmi jednoduchý cieľ akcie. 342 00:21:33,620 --> 00:21:35,580 >> Druhý z nich je vlastne najťažšie, 343 00:21:35,580 --> 00:21:38,450 je to len delegácia na protokole. 344 00:21:38,450 --> 00:21:41,800 Budeme vysvetľovať že veľmi podrobne neskôr. 345 00:21:41,800 --> 00:21:44,420 A tretí spôsob je oznámenie. 346 00:21:44,420 --> 00:21:46,770 To je v skutočnosti nie je veľmi dôležité, pretože ak 347 00:21:46,770 --> 00:21:50,920 ako sme znepokojený, pretože šanca že budete používať oznámenia 348 00:21:50,920 --> 00:21:53,310 v konečnom projektu je veľmi nízka. 349 00:21:53,310 --> 00:21:56,440 Takže budeme preskočiť túto časť. 350 00:21:56,440 --> 00:21:59,460 >> A budeme sa potápať v delegácii na protokole. 351 00:21:59,460 --> 00:22:02,380 352 00:22:02,380 --> 00:22:04,470 Takže čo presne je protokol? 353 00:22:04,470 --> 00:22:06,450 Alebo čo presne je delegácie? 354 00:22:06,450 --> 00:22:09,670 Poďme sa baviť o protokol začať. 355 00:22:09,670 --> 00:22:13,360 Protokoly nie sú nič iné ako akcie. 356 00:22:13,360 --> 00:22:19,230 Ale tieto udalosti sú uvedené na vás Apple začať. 357 00:22:19,230 --> 00:22:22,640 Napríklad, ja nie som úplne istý, ako mnohí z vás 358 00:22:22,640 --> 00:22:27,930 chlapci používať Apple originál app mail alebo kontakt, 359 00:22:27,930 --> 00:22:32,180 ale zakaždým, keď sa posuniete stôl a stlačte konkrétnu bunku 360 00:22:32,180 --> 00:22:36,130 na stole, to je udalosť. 361 00:22:36,130 --> 00:22:38,330 >> A ak si chcete urobiť že udalosť sami, 362 00:22:38,330 --> 00:22:40,410 je to vlastne trochu tvrdý. 363 00:22:40,410 --> 00:22:44,880 Takže Apple dal, že aj pre vás takže stačí priamo použiť 364 00:22:44,880 --> 00:22:49,610 udalosť niečo urobiť na vlastnú päsť. 365 00:22:49,610 --> 00:22:52,980 Protokoly sú vlastne naozaj, ale naozaj široko používaný 366 00:22:52,980 --> 00:22:58,320 v Objective C. dobre Skutočnosť, každý app 367 00:22:58,320 --> 00:23:00,870 Má niečo chytil app delegáta. 368 00:23:00,870 --> 00:23:06,330 Vnútri delikátna je všetky protokoly pre načítanie aplikácie. 369 00:23:06,330 --> 00:23:12,470 >> Povedzme, že je tu akcie pre cca urobil zaťaženie. 370 00:23:12,470 --> 00:23:18,200 Takže to, čo by sa malo stať po tom, čo ste vytvoril aplikáciu, po otvorení aplikácie, 371 00:23:18,200 --> 00:23:22,630 Po zatvorení aplikácie, alebo po si dať iPhone do režimu spánku. 372 00:23:22,630 --> 00:23:27,480 To všetko sú udalosti, ktoré má už boli poskytnuté na vás. 373 00:23:27,480 --> 00:23:34,730 A pôvodne vnútri týchto častíc nebude realizácia. 374 00:23:34,730 --> 00:23:39,750 Apple vám práve povedal, že túto funkciu sa stane, keď sa niektorí udalosti dôjde, 375 00:23:39,750 --> 00:23:44,380 ale to, čo robiť s tým Funkcia je úplne na vás. 376 00:23:44,380 --> 00:23:49,290 >> Delegovanie je v podstate hovorí triedu 377 00:23:49,290 --> 00:23:53,060 že by ste mali zvládnuť tieto protokoly. 378 00:23:53,060 --> 00:23:55,340 Je to trochu mätúce, ale to bude 379 00:23:55,340 --> 00:23:59,380 oveľa jasnejšie, keď robíme sa s kódmi v akcii. 380 00:23:59,380 --> 00:24:04,760 Delegácie na protokole je vlastne veľmi robustný mechanizmus v tom zmysle, 381 00:24:04,760 --> 00:24:08,160 že ak budeme robiť delegáciu do určitej triedy, 382 00:24:08,160 --> 00:24:12,400 môžeme v podstate zvládnuť všetky druhy akcií 383 00:24:12,400 --> 00:24:17,040 pomocou ľubovoľného triedy máme, veľmi pohodlný nástroj. 384 00:24:17,040 --> 00:24:21,530 >> Takže jeden rýchly príklad pre delegácie na protokole 385 00:24:21,530 --> 00:24:24,120 bude to, čo som práve hovoril o. 386 00:24:24,120 --> 00:24:26,720 387 00:24:26,720 --> 00:24:30,890 Tento protokol konkrétne sa nazýva TableView [nepočuteľné] vyberte úlohu 388 00:24:30,890 --> 00:24:35,480 V [? index?] [? minulosť. ?] Takže to udalosť, ktorá by sa chytil, keď vás 389 00:24:35,480 --> 00:24:39,710 vlastne kliknite na konkrétnu bunka vo vašom TableView, 390 00:24:39,710 --> 00:24:43,570 povedzme, že vo vašom maile alebo v kontaktoch aplikácie. 391 00:24:43,570 --> 00:24:48,180 >> Vnútri funkcie bol pôvodne robiť nič. 392 00:24:48,180 --> 00:24:51,950 Funkcia nie je robiť nič v predvolenom nastavení. 393 00:24:51,950 --> 00:24:55,540 Ale môžete zadať čo funkcia robí, 394 00:24:55,540 --> 00:24:59,610 vzhľadom k tomu, čo chcete z vašej aplikácie. 395 00:24:59,610 --> 00:25:01,610 Veľmi vhodný nástroj. 396 00:25:01,610 --> 00:25:06,840 A s tým všetkým Ako už bolo povedané, som v podstate 397 00:25:06,840 --> 00:25:11,430 pokrývajú niektoré veľmi základné syntaxe a Základným konceptom pre Objective C 398 00:25:11,430 --> 00:25:15,860 programovanie, a môžeme urobiť nejaké y kód. 399 00:25:15,860 --> 00:25:17,980 Oveľa viac vzrušujúce. 400 00:25:17,980 --> 00:25:21,070 Takže je kód je v skutočnosti trochu ohromujúce 401 00:25:21,070 --> 00:25:23,330 keď ho otvoríte prvýkrát. 402 00:25:23,330 --> 00:25:26,640 >> Jeden rýchly poznámka, takže ak máte Chcete urobiť iOS rozvoja 403 00:25:26,640 --> 00:25:29,630 Veľmi odporúčam máte Mac. 404 00:25:29,630 --> 00:25:33,930 Vzhľadom k tomu, robiť iOS vývoj na Windows je naozaj, naozaj ťažké. 405 00:25:33,930 --> 00:25:37,560 Je to uskutočniteľné, ale je to naozaj ťažké. 406 00:25:37,560 --> 00:25:40,610 A určite robiť nebudete chcieť používať g upraviť. 407 00:25:40,610 --> 00:25:47,950 Takže s kódom máme niekoľko rôznych oblastí. 408 00:25:47,950 --> 00:25:53,050 Pri prvom otvorení sa s code uvidíte navigačné oblasti, 409 00:25:53,050 --> 00:25:57,470 ktorý v podstate vám ukáže všetky súbory, ktoré je v aktuálnom projekte. 410 00:25:57,470 --> 00:26:03,590 >> Máte panel nástrojov priestor, ktorý je v podstate riadiacej názory, 411 00:26:03,590 --> 00:26:08,570 alebo nejaký malý rýchly Nástroje asi s kódom sám. 412 00:26:08,570 --> 00:26:11,140 A to je skutočná editor oblasť. 413 00:26:11,140 --> 00:26:15,900 Táto oblasť je veľmi podobný g editovať, ale oveľa lepšie, než g editovať. 414 00:26:15,900 --> 00:26:21,150 A v tejto pravej časti, je volal úžitková plocha. 415 00:26:21,150 --> 00:26:27,170 Oblasť sa stáva naozaj vhod, keď budete vytvárať rozhrania alebo zadaním 416 00:26:27,170 --> 00:26:30,070 Niektoré rýchle nastavenie pre vašu aplikáciu. 417 00:26:30,070 --> 00:26:34,570 >> A poslednou oblasťou je ladenie. 418 00:26:34,570 --> 00:26:37,970 Táto oblasť obsahuje konzolu. 419 00:26:37,970 --> 00:26:43,170 Takže vždy, keď hovoríte printf, alebo NSLog v našom prípade, 420 00:26:43,170 --> 00:26:47,330 všetky vaše výsledky sú bude vytlačený tu. 421 00:26:47,330 --> 00:26:48,260 V poriadku? 422 00:26:48,260 --> 00:26:52,090 Myslím, že môžeme veľmi rýchlo urobiť Príkladom pre programovanie iOS. 423 00:26:52,090 --> 00:26:54,220 A poďme vlastne otvoriť s kód. 424 00:26:54,220 --> 00:26:57,210 425 00:26:57,210 --> 00:27:01,346 Takže zakaždým, keď otvoria s kód, to je ukážem niečo také. 426 00:27:01,346 --> 00:27:03,220 Bude sa vás opýtať Čo chcete robiť? 427 00:27:03,220 --> 00:27:06,830 Chcete začať niečo náhodný, detské ihrisko, v podstate tie 428 00:27:06,830 --> 00:27:11,250 si len vyskúšať kód bez v skutočnosti sa zaviazať, že akékoľvek aplikácie. 429 00:27:11,250 --> 00:27:13,020 >> Chcete vytvoriť nový projekt? 430 00:27:13,020 --> 00:27:16,660 Alebo chcete, aby aj naďalej práce na existujúcom projekte? 431 00:27:16,660 --> 00:27:20,270 V našom prípade budeme na vytvorenie nového projektu. 432 00:27:20,270 --> 00:27:22,980 Takže je to naozaj pekné, s Kód v skutočnosti už 433 00:27:22,980 --> 00:27:26,820 vám dal nejaké šablóny pre vytváranie objektov. 434 00:27:26,820 --> 00:27:32,680 Ak si chcete urobiť hru, to kód v skutočnosti má herný šablónu pre vás, 435 00:27:32,680 --> 00:27:36,890 má strana na základe žiadosti, Karta aplikácie založené. 436 00:27:36,890 --> 00:27:39,280 V tomto prípade, budeme urobiť niečo veľmi jednoduchého, 437 00:27:39,280 --> 00:27:43,230 a budeme používať jedna žiadosť pohľad. 438 00:27:43,230 --> 00:27:48,270 >> Po tom, čo chcete volať Váš produkt, a to, čo je vaše meno, 439 00:27:48,270 --> 00:27:52,760 Aký je váš identifikátor, a Aký jazyk používate. 440 00:27:52,760 --> 00:27:57,060 Tu sa nechceme skontrolovať pomocou základné údaje. 441 00:27:57,060 --> 00:28:00,170 Jadro dát je v podstate databasing iOS. 442 00:28:00,170 --> 00:28:05,360 Ak tak urobíte základných údajov, s kód bude definovať 443 00:28:05,360 --> 00:28:07,710 oveľa zložitejšie triedy pre vás. 444 00:28:07,710 --> 00:28:12,740 Tak, aby všetko jednoduché, my sme proste robiť bez základných údajov 445 00:28:12,740 --> 00:28:15,290 práve teraz. 446 00:28:15,290 --> 00:28:18,030 >> Problém budeme mať použitie je that-- problému 447 00:28:18,030 --> 00:28:23,770 budeme treba vytvárať je, že sme v podstate chcete importovať Mario z C 448 00:28:23,770 --> 00:28:25,437 do aplikácie iOS. 449 00:28:25,437 --> 00:28:26,645 Tak povedzme, že Mario-iOS. 450 00:28:26,645 --> 00:28:31,230 451 00:28:31,230 --> 00:28:34,880 Samozrejme určíte, čo vás chcú, aby v projekte. 452 00:28:34,880 --> 00:28:37,870 A tam ideme. 453 00:28:37,870 --> 00:28:41,390 >> Tak toto je trochu ohromujúci, ale to je v skutočnosti 454 00:28:41,390 --> 00:28:43,540 to, čo sme práve videli na snímkach. 455 00:28:43,540 --> 00:28:49,710 A prvá oblasť vidíme práve teraz je v podstate nastavenie projektu. 456 00:28:49,710 --> 00:28:53,390 Takže všetko, čo chcete robiť projekt, aký druh zariadenia, 457 00:28:53,390 --> 00:28:58,810 povedzme, že to, čo druh zariadenia Chcete, aby vaše aplikácie sa objaví na? 458 00:28:58,810 --> 00:29:01,280 Je to iPhone, iPad alebo univerzálne? 459 00:29:01,280 --> 00:29:04,660 Takže orientácia zariadenia, všetky tie veci. 460 00:29:04,660 --> 00:29:08,490 Nie je príliš dôležité, ale môže byť, ale toto 461 00:29:08,490 --> 00:29:11,050 je miesto, kde môžete nastaviť Váš projekt, ak ste skutočne 462 00:29:11,050 --> 00:29:15,180 chcú nasadiť do obchodu Apple. 463 00:29:15,180 --> 00:29:20,420 >> Dobre, poďme sa pozrieť na niečo, čo je v našom kóde. 464 00:29:20,420 --> 00:29:22,360 Poďme prejsť súboru navigátora. 465 00:29:22,360 --> 00:29:30,140 A to sú všetky súbory, ktoré už prišiel s šablóny, veľmi pekné. 466 00:29:30,140 --> 00:29:35,980 Takže keď sme sa na jednu z nich to je to, čo to vyzerá. 467 00:29:35,980 --> 00:29:38,530 Veľmi podobné g editovať. 468 00:29:38,530 --> 00:29:41,340 Ale je vidieť, že zvýrazňovanie syntaxe je pravdepodobne 469 00:29:41,340 --> 00:29:42,780 trochu krajší. 470 00:29:42,780 --> 00:29:45,610 A to je v skutočnosti oveľa viac mocnejší než editáciu g. 471 00:29:45,610 --> 00:29:49,970 A môžete auto kompletné veľa vecí pre vás, 472 00:29:49,970 --> 00:29:52,370 ako uvidíme veľmi rýchlo. 473 00:29:52,370 --> 00:29:54,100 >> Poďme otvoriť ladenie oblasť rovnako. 474 00:29:54,100 --> 00:30:02,790 475 00:30:02,790 --> 00:30:07,000 Dobre, ako môžeme vidieť, konzola je tu. 476 00:30:07,000 --> 00:30:13,840 To je to, čo budete vidieť, kde ste v printf alebo nsloging niečo. 477 00:30:13,840 --> 00:30:17,155 Takže bez ďalších okolkov, poďme vlastne zostaviť aplikáciu a uvidíme, čo sa stane. 478 00:30:17,155 --> 00:30:20,000 479 00:30:20,000 --> 00:30:23,410 Jeden zásadný vlastnosť pre s kód, je to, že s kód 480 00:30:23,410 --> 00:30:25,850 prichádza s iPhone simulátore. 481 00:30:25,850 --> 00:30:29,820 Takže nemusíte mať iPhone vyskúšať váš projekt, 482 00:30:29,820 --> 00:30:34,440 s kód môže simulovať, že pre vy, ako môžeme vidieť hneď teraz. 483 00:30:34,440 --> 00:30:36,406 >> Je to celkom pekné. 484 00:30:36,406 --> 00:30:38,640 Je to brať trochu trochu času pri zostavovaní 485 00:30:38,640 --> 00:30:43,040 a v podstate máme prázdny aplikácie, 486 00:30:43,040 --> 00:30:44,640 ktorý vlastne nič nerobí. 487 00:30:44,640 --> 00:30:46,175 Ale to zostavuje. 488 00:30:46,175 --> 00:30:47,380 Je to dosť desivý. 489 00:30:47,380 --> 00:30:50,200 Je to oveľa lepšie, ako C, čo? 490 00:30:50,200 --> 00:30:52,130 Dobre, tak poďme skúste niečo pridať. 491 00:30:52,130 --> 00:30:56,050 492 00:30:56,050 --> 00:31:02,650 Jeden súbor, ktorý je trochu Tu divný sa nazýva scenár. 493 00:31:02,650 --> 00:31:08,020 To je vlastne skvelý, úžasné funkcie pre s kódom. 494 00:31:08,020 --> 00:31:14,170 Vzhľadom k tomu, v s kódom, môžete skutočne drag a pokles prvkov na rozhraní 495 00:31:14,170 --> 00:31:17,430 a to sa priamo zobrazí. 496 00:31:17,430 --> 00:31:18,055 Skúsme to. 497 00:31:18,055 --> 00:31:21,230 498 00:31:21,230 --> 00:31:27,236 >> Máme pokles štítok tu, "Hello World !!!" 499 00:31:27,236 --> 00:31:29,740 Môžeme centrum, ktoré. 500 00:31:29,740 --> 00:31:30,970 Celkom v pohode. 501 00:31:30,970 --> 00:31:33,915 A teraz poďme spustiť túto zastavenie simulácie. 502 00:31:33,915 --> 00:31:36,940 503 00:31:36,940 --> 00:31:38,700 Tu máme "Hello World !!!" 504 00:31:38,700 --> 00:31:40,810 Nemali sme ani robiť ešte žiadne kódovanie. 505 00:31:40,810 --> 00:31:42,750 Čo to sakra deje? 506 00:31:42,750 --> 00:31:45,880 To je, ako silný Interface Builder môže byť. 507 00:31:45,880 --> 00:31:48,030 Niekto dokonca povedal, že Môžete si asi len 508 00:31:48,030 --> 00:31:52,800 dokončiť aplikáciu bez písomného Pravdepodobne tisíc riadkov kódu 509 00:31:52,800 --> 00:31:54,820 iba pomocou rozhrania Builder. 510 00:31:54,820 --> 00:31:59,680 Ale to asi nie je najlepší spôsob, ako to urobiť. 511 00:31:59,680 --> 00:32:01,670 >> Teraz poďme skutočne dostať až na kódovanie. 512 00:32:01,670 --> 00:32:04,860 513 00:32:04,860 --> 00:32:08,330 Takže štruktúry súboru je v skutočnosti naozaj zaujímavé 514 00:32:08,330 --> 00:32:15,610 pretože, ako môžete vidieť, tam nie je hlavnou funkciou kdekoľvek. 515 00:32:15,610 --> 00:32:17,466 Vidíš? 516 00:32:17,466 --> 00:32:19,340 Ako už bolo povedané, môžete vidieť, že to 517 00:32:19,340 --> 00:32:22,830 je súbor implementácia pre konkrétnu triedu. 518 00:32:22,830 --> 00:32:25,690 Ale nie je tam žiadny hlavné nikde. 519 00:32:25,690 --> 00:32:27,490 Takže kde je hlavné? 520 00:32:27,490 --> 00:32:31,970 V skutočnosti je hlavné, ale Hlavné je vlastne skrýva od vás. 521 00:32:31,970 --> 00:32:34,560 Hlavné je tu. 522 00:32:34,560 --> 00:32:37,120 To vyzerá povedome. 523 00:32:37,120 --> 00:32:41,000 >> Takže v podstate to, čo iOS robí vnútri hlavné 524 00:32:41,000 --> 00:32:43,540 je to, že vždy, keď hlavné je s názvom, ktorý je v podstate 525 00:32:43,540 --> 00:32:49,000 vždy, keď je aplikácia spustený, vytvorí objekt s názvom AppDelegate. 526 00:32:49,000 --> 00:32:52,980 527 00:32:52,980 --> 00:32:57,350 Ako som už spomenul predtým, celý aplikácia je vlastne objekt sám o sebe. 528 00:32:57,350 --> 00:33:02,270 Takže týmto spôsobom, v podstate iOS app hovorí kompilátora 529 00:33:02,270 --> 00:33:05,540 to v poriadku, budem vytvárať produkt s názvom AppDelegate, 530 00:33:05,540 --> 00:33:07,620 a to bude moja app. 531 00:33:07,620 --> 00:33:09,640 Takže budete musieť ísť prostredníctvom tohto AppDelegate 532 00:33:09,640 --> 00:33:12,040 a uvidíme, čo ten človek robí. 533 00:33:12,040 --> 00:33:14,850 Moja práca je pre mňa urobil. 534 00:33:14,850 --> 00:33:22,070 >> A v AppDelegate môžete vidieť, že tam sú niektoré naozaj podivné funkcie, 535 00:33:22,070 --> 00:33:25,290 dobre vlastne metódy, ktoré Apple už dal. 536 00:33:25,290 --> 00:33:27,464 Čo je toto? 537 00:33:27,464 --> 00:33:31,010 Sú to vlastne len protokoly že som hovoril. 538 00:33:31,010 --> 00:33:35,670 Tak to sú udalosti, ktoré Apple vám dal začať. 539 00:33:35,670 --> 00:33:38,050 Na tom nie je nič v niektorých funkcie práve teraz, 540 00:33:38,050 --> 00:33:40,820 ale ak chceme inicializovať niečo pre našu aplikáciu 541 00:33:40,820 --> 00:33:46,140 než sa dostane do zobrazením akýkoľvek názor, urobíme tu. 542 00:33:46,140 --> 00:33:51,150 >> Stačí si len prečítať názov a myslím, že akcia je v skutočnosti úplne jasné. 543 00:33:51,150 --> 00:33:54,160 544 00:33:54,160 --> 00:33:58,350 Takže teraz hlavný vytvoril objekt pre AppDelegate. 545 00:33:58,350 --> 00:34:05,220 A čo AppDelegate bude robiť je vlastne tiež skrytý od vás. 546 00:34:05,220 --> 00:34:09,250 AppDelegate sa začnú načítanie zásob ViewController. 547 00:34:09,250 --> 00:34:13,170 Takže je to v podstate začnú naloženie do všetky pohľady, ktoré máte 548 00:34:13,170 --> 00:34:17,500 a len vykresliť názor založený na hierarchii. 549 00:34:17,500 --> 00:34:21,280 >> Takže v tomto prípade máme len jeden názor, ktorý je tu. 550 00:34:21,280 --> 00:34:25,060 Tak to je len názor že to bude hovoriť. 551 00:34:25,060 --> 00:34:28,159 Logika ViewController je tu. 552 00:34:28,159 --> 00:34:32,159 To je kód, ktorý skutočne ovláda názor, sme práve videli. 553 00:34:32,159 --> 00:34:33,679 Dobre, poďme urobiť niečo tu. 554 00:34:33,679 --> 00:34:44,030 555 00:34:44,030 --> 00:34:50,560 Takže viewDidLoad znie ako udalosť, aj keď v skutočnosti je to tiež delegát, 556 00:34:50,560 --> 00:34:52,500 To je tiež protokol. 557 00:34:52,500 --> 00:34:56,350 >> Takže bez ohľadu na názor je načítaný, Všetko vnútri funkcie 558 00:34:56,350 --> 00:34:57,920 sa bude volať. 559 00:34:57,920 --> 00:35:02,840 V tomto prípade by sme mali vidieť "Hello Tianyu! ", Ak sme sa spustiť program. 560 00:35:02,840 --> 00:35:09,820 561 00:35:09,820 --> 00:35:12,842 Začína to byť trochu pomalý zostavovanie scenáre, súborov. 562 00:35:12,842 --> 00:35:15,440 563 00:35:15,440 --> 00:35:18,190 No samozrejme, my vidieť výstup pre neho. 564 00:35:18,190 --> 00:35:20,720 Je to celkom v pohode. 565 00:35:20,720 --> 00:35:22,000 Teraz sa vlastne robiť Mario. 566 00:35:22,000 --> 00:35:25,400 567 00:35:25,400 --> 00:35:27,625 Budem definovať veľmi rýchlo fungovať. 568 00:35:27,625 --> 00:35:31,510 569 00:35:31,510 --> 00:35:54,245 marioWithLevels: výsledky (int) úrovni. 570 00:35:54,245 --> 00:36:01,120 571 00:36:01,120 --> 00:36:06,410 >> Dobre, to je vlastne úžasné znakom s kódom auto dokončenie. 572 00:36:06,410 --> 00:36:10,680 Takže keď budete písať pre a typ vstúpiť, to už vzdal šablóny 573 00:36:10,680 --> 00:36:12,325 pre vás, čo je celkom v pohode. 574 00:36:12,325 --> 00:36:50,480 575 00:36:50,480 --> 00:36:52,850 To by malo vyzerať naozaj poznáte ľudí. 576 00:36:52,850 --> 00:36:55,940 577 00:36:55,940 --> 00:36:59,680 Je nám ľúto, že je to moja chyba. 578 00:36:59,680 --> 00:37:15,790 579 00:37:15,790 --> 00:37:18,120 Dobre, v pohode. 580 00:37:18,120 --> 00:37:22,710 Táto logika by mala vyzerať naozaj povedomý na vami, najmä práve Mario. 581 00:37:22,710 --> 00:37:26,140 >> Ale my sa teraz tlačiť na konzoly zakaždým, 582 00:37:26,140 --> 00:37:29,280 preto, že chceme, aby nejako zachovať track z toho, čo sa tlačí. 583 00:37:29,280 --> 00:37:31,810 Budeme používať Výsledky nejako neskôr, 584 00:37:31,810 --> 00:37:35,010 zobraziť tlače out viesť k užívateľovi. 585 00:37:35,010 --> 00:37:37,730 Takže namiesto toho sme len nslogging všetko, 586 00:37:37,730 --> 00:37:42,410 ktorý sme skladovanie všetko v dôsledku volanie funkcie, 587 00:37:42,410 --> 00:37:44,070 ale logika je úplne rovnaký. 588 00:37:44,070 --> 00:37:48,030 589 00:37:48,030 --> 00:37:51,800 Potom, čo sme ju, skončíme len vytlačiť naše výsledky. 590 00:37:51,800 --> 00:37:59,330 591 00:37:59,330 --> 00:38:04,970 >> A tu miesto tlače na mojej názov, budeme volať funkciu. 592 00:38:04,970 --> 00:38:15,340 593 00:38:15,340 --> 00:38:18,090 Pozrime sa, čo sa stane. 594 00:38:18,090 --> 00:38:21,240 Jejda, samozrejme. 595 00:38:21,240 --> 00:38:24,320 Máme pekný malá pyramída tu. 596 00:38:24,320 --> 00:38:28,370 To je v podstate C, sme len manipuláciu kde volanie funkcie 597 00:38:28,370 --> 00:38:30,010 a ako sa funkcie vyzerať. 598 00:38:30,010 --> 00:38:31,560 Na tom nie je nič iného. 599 00:38:31,560 --> 00:38:34,040 To je však v skutočnosti nie je príliš vzrušujúce tu, 600 00:38:34,040 --> 00:38:37,500 pretože nie sme svedkami niečo z aplikácie pre iPhone. 601 00:38:37,500 --> 00:38:42,120 >> Takže ak ste skutočne iPhone app-- ak ste skutočne Mario iOS právo 602 00:38:42,120 --> 00:38:45,080 teraz, nebudeš vidieť nič, čo by 603 00:38:45,080 --> 00:38:49,450 má čo do činenia s Mariom, pretože všetky tieto výstupy do konzoly 604 00:38:49,450 --> 00:38:51,620 sú skryté od užívateľa. 605 00:38:51,620 --> 00:38:53,850 To je to, čo vidíte, čo je "Hello World !!!" 606 00:38:53,850 --> 00:38:55,720 To nie je dobré. 607 00:38:55,720 --> 00:39:03,090 Teraz sa snaží, aby sa používateľovi zobrazí čo presne sme tlač. 608 00:39:03,090 --> 00:39:06,000 Takže nemusíme označiť ešte. 609 00:39:06,000 --> 00:39:09,800 Skúsme a niečo vymyslíme iné, čo by mohlo byť užitočné. 610 00:39:09,800 --> 00:39:12,140 >> Tam je skutočne jedna prvok, ktorý sa nazýva 611 00:39:12,140 --> 00:39:16,460 textové pole, ktoré by mohli byť veľmi užitočné pre nás. 612 00:39:16,460 --> 00:39:19,880 Je to v podstate zobrazuje oblasť Text, ktorý môže byť upravený. 613 00:39:19,880 --> 00:39:22,320 Takže to vyzerá naozaj užitočné. 614 00:39:22,320 --> 00:39:23,810 Teraz poďme ju pretiahnite a umiestnite ho. 615 00:39:23,810 --> 00:39:26,880 616 00:39:26,880 --> 00:39:32,670 Wow, máme textový výhľad podľa nášho názoru, naozaj fantázie. 617 00:39:32,670 --> 00:39:35,430 To je trochu moc veľký. 618 00:39:35,430 --> 00:39:38,150 Poďme robiť to menšie. 619 00:39:38,150 --> 00:39:40,290 Daj to do centra mesta. 620 00:39:40,290 --> 00:39:43,760 Nech je to menšia rovnako. 621 00:39:43,760 --> 00:39:50,110 >> Teraz máme textový výhľad, ktorý sme mohli byť použité na zobrazenie nášho konečného výsledku. 622 00:39:50,110 --> 00:39:52,860 Ale teraz je to rozhodne nebude chodiť do práce 623 00:39:52,860 --> 00:39:56,970 pretože tam je no-- ViewController sme práve 624 00:39:56,970 --> 00:40:03,010 definované nevie, že je textový pohľad vonku. 625 00:40:03,010 --> 00:40:06,550 Preto musíme nejako prepojiť text názoru sme práve 626 00:40:06,550 --> 00:40:11,660 vytvorený s triedou, ktorá už prišiel s nami. 627 00:40:11,660 --> 00:40:14,860 >> Spôsob, akým to urobiť, je v skutočnosti naozaj čarovné. 628 00:40:14,860 --> 00:40:18,190 Takže otvoriť scenár. 629 00:40:18,190 --> 00:40:22,220 K dispozícii je špeciálny [nepočuteľné] s názvom [? asistent?] [nepočuteľné]. 630 00:40:22,220 --> 00:40:25,190 Po kliknutí na to, že to je chystá otvoriť dva súbory. 631 00:40:25,190 --> 00:40:29,425 Jedným z nich je trieda a druhý je zodpovedajúca pohľad na to. 632 00:40:29,425 --> 00:40:31,920 Je to veľmi, veľmi užitočné. 633 00:40:31,920 --> 00:40:35,950 A poďme práve prechádza súbor .h. 634 00:40:35,950 --> 00:40:39,110 Control, to je [nepočuteľný] logika. 635 00:40:39,110 --> 00:40:47,280 Stlačte Ctrl a pretiahnite Text Pohľad do vyhlásenia. 636 00:40:47,280 --> 00:40:48,780 Budeme hovoriť, že outputView. 637 00:40:48,780 --> 00:40:52,189 638 00:40:52,189 --> 00:40:53,670 Pripojiť. 639 00:40:53,670 --> 00:40:59,420 Takže tu máme vyhlásil nový vlastnosť pre našu ViewController triedu. 640 00:40:59,420 --> 00:41:02,300 A nová vlastnosť je len textový názor 641 00:41:02,300 --> 00:41:05,000 sme vytvorili v budove rozhraní. 642 00:41:05,000 --> 00:41:07,990 Takže týmto spôsobom by sme mohli prístup ku všetkým dátam 643 00:41:07,990 --> 00:41:13,630 a manipulovať všetko, čo je vo vnútri výstup názor, čo je úžasné. 644 00:41:13,630 --> 00:41:19,260 >> Takže v našom skutočnom kóde poďme niečo urobiť s ním. 645 00:41:19,260 --> 00:41:23,810 Takže to doba, kedy sme ako tlač out konečnom výsledku pre Mario, 646 00:41:23,810 --> 00:41:28,020 sme v neprihlasuje nič. 647 00:41:28,020 --> 00:41:30,080 Mám na mysli môžeme udržať vyhlásenie protokolovanie. 648 00:41:30,080 --> 00:41:41,490 Okrem toho, aby sme poslať odpočtu sme práve 649 00:41:41,490 --> 00:41:47,622 vytvorené na výstupnej pohľadu, ktorý je UI TextView sme práve vytvorili. 650 00:41:47,622 --> 00:41:48,746 Teraz sa pozrime, čo sa stane. 651 00:41:48,746 --> 00:41:54,470 652 00:41:54,470 --> 00:41:56,620 Wow. 653 00:41:56,620 --> 00:41:59,130 Máme pyramídu v aplikácii práve teraz. 654 00:41:59,130 --> 00:42:06,720 >> Takže užívateľ môže vidieť našu produkciu z dôvodu sme skopírovali výstup z nášho kódu 655 00:42:06,720 --> 00:42:08,045 do nášho rozhrania. 656 00:42:08,045 --> 00:42:10,950 Je to celkom dobrý. 657 00:42:10,950 --> 00:42:14,990 Je to vlastne nie je tak vzrušujúce, pretože sme can-- 658 00:42:14,990 --> 00:42:18,250 Všetky aplikácie robí, je ukazujúci pyramídu na vás, 659 00:42:18,250 --> 00:42:20,520 a nie je to nič, čo môžete robiť. 660 00:42:20,520 --> 00:42:22,330 Je to nijako zvlášť vzrušujúce. 661 00:42:22,330 --> 00:42:27,840 Takže teraz poďme urobiť tlačidlo že bude jasné názory. 662 00:42:27,840 --> 00:42:30,290 Zdá sa, že tlačidlo bude užitočné. 663 00:42:30,290 --> 00:42:33,270 Drag and drop. 664 00:42:33,270 --> 00:42:33,900 Button jeden. 665 00:42:33,900 --> 00:42:36,730 666 00:42:36,730 --> 00:42:37,320 Button dva. 667 00:42:37,320 --> 00:42:49,170 668 00:42:49,170 --> 00:42:52,052 >> Takže keď sme kliknite ľavým tlačidlo, pohľad by sa mali odstrániť. 669 00:42:52,052 --> 00:42:53,635 Malo by byť nič, čo na obrazovke. 670 00:42:53,635 --> 00:42:56,970 A keď sme potom kliknite na tlačidlo pravým tlačidlom, Mario, 671 00:42:56,970 --> 00:42:59,740 pohľad bude opäť objaviť. 672 00:42:59,740 --> 00:43:05,510 Tak takto urobíme tiež mágia veci, riadenie a ťahať 673 00:43:05,510 --> 00:43:08,740 k deklarácii triedy V asistent director-- 674 00:43:08,740 --> 00:43:11,600 V asistent prehliadač. 675 00:43:11,600 --> 00:43:18,620 V tomto prípade sa zadaním že by mali byť akcie. 676 00:43:18,620 --> 00:43:19,120 clearMario. 677 00:43:19,120 --> 00:43:21,650 678 00:43:21,650 --> 00:43:26,830 >> Tak tu sme už vytvorili akcie s názvom clearMario, 679 00:43:26,830 --> 00:43:34,210 čo je spôsob, ktorý by bol nazývaný vždy, keď stlačíme tlačidlo jasné. 680 00:43:34,210 --> 00:43:41,030 Takže v našom vlastne kód, povedzme dal výstupný text a výstupné názor 681 00:43:41,030 --> 00:43:44,620 do ničoho, a že cesta to bude vyzerať, že je jasné. 682 00:43:44,620 --> 00:43:47,500 683 00:43:47,500 --> 00:43:57,230 Okrem toho, že si vytvoríme iná metóda tzv runMario. 684 00:43:57,230 --> 00:44:00,140 685 00:44:00,140 --> 00:44:03,436 Oh prepáč, že by nemal byť majetok. 686 00:44:03,436 --> 00:44:12,107 687 00:44:12,107 --> 00:44:13,940 Dobre, že by sa akcie tiež. 688 00:44:13,940 --> 00:44:25,780 689 00:44:25,780 --> 00:44:34,740 >> A keď sa táto funkcia je volal, my stačí spustiť Mario desať. 690 00:44:34,740 --> 00:44:37,620 691 00:44:37,620 --> 00:44:39,780 Dúfajme, že to bude v poriadku. 692 00:44:39,780 --> 00:44:41,120 Má to zostaviť? 693 00:44:41,120 --> 00:44:43,920 Áno. 694 00:44:43,920 --> 00:44:45,090 Teraz máme výhľad. 695 00:44:45,090 --> 00:44:46,560 Máme výstup. 696 00:44:46,560 --> 00:44:50,040 A nech to jednoducho vidieť, čo sa stane. 697 00:44:50,040 --> 00:44:52,590 To je preč. 698 00:44:52,590 --> 00:44:54,500 To je zase späť. 699 00:44:54,500 --> 00:44:57,620 Tak tu sme stanovili aké funkcie 700 00:44:57,620 --> 00:45:00,400 sa bude volať, ak napíšeme v niečom, 701 00:45:00,400 --> 00:45:03,160 keď stlačíme konkrétne tlačidlo. 702 00:45:03,160 --> 00:45:07,890 To je v podstate cieľ akcie schéma 703 00:45:07,890 --> 00:45:12,510 pre udalosť riadený programovanie v Objective C 704 00:45:12,510 --> 00:45:15,030 >> Okrem toho, to nie je moc vzrušujúce 705 00:45:15,030 --> 00:45:19,810 preto, že sme si to moc meniť ako vysoko pyramída bude, 706 00:45:19,810 --> 00:45:23,640 tak sme asi chceli nejako získať vstup od užívateľa 707 00:45:23,640 --> 00:45:29,490 a meniť výšku pyramída na základe toho, čo výstupu. 708 00:45:29,490 --> 00:45:32,900 Takže budeme robiť, že. 709 00:45:32,900 --> 00:45:38,720 Takže tentoraz, keď hovoríme runMario, nemáme len zavolať Mário priamo. 710 00:45:38,720 --> 00:46:06,280 711 00:46:06,280 --> 00:46:07,000 Tahle je titul. 712 00:46:07,000 --> 00:46:22,180 713 00:46:22,180 --> 00:46:23,700 >> Delegáta. 714 00:46:23,700 --> 00:46:25,160 To je veľmi zaujímavé. 715 00:46:25,160 --> 00:46:26,720 Čo je to delegát? 716 00:46:26,720 --> 00:46:28,950 Chystám sa dať ja tu. 717 00:46:28,950 --> 00:46:31,038 A budeme vidieť čo to znamená neskôr. 718 00:46:31,038 --> 00:46:46,380 719 00:46:46,380 --> 00:46:51,120 Tak tu sme v podstate vytvorili konkrétny príklad volal upozornenie UI 720 00:46:51,120 --> 00:46:52,210 view. 721 00:46:52,210 --> 00:46:54,440 Pohľad UI výstraha v podstate to, čo bude 722 00:46:54,440 --> 00:46:58,940 pozri Každý, keď niečo popy up a požiada vás o vstup, 723 00:46:58,940 --> 00:47:03,080 ako to, čo sa stane, keď sa snažíte niečo kúpiť na App Store. 724 00:47:03,080 --> 00:47:14,250 >> Okrem toho, že po vás vytvoriť, sme len ukázať záznam. 725 00:47:14,250 --> 00:47:20,090 726 00:47:20,090 --> 00:47:22,568 Dobre, nech to jednoducho rýchlo Test bude, že práca, alebo nie. 727 00:47:22,568 --> 00:47:31,105 728 00:47:31,105 --> 00:47:32,140 To je veľmi cool. 729 00:47:32,140 --> 00:47:55,370 730 00:47:55,370 --> 00:47:59,120 Teraz poďme vlastne vytvoriť vstupné pole pre záznam UI. 731 00:47:59,120 --> 00:48:01,170 To je, ako to urobíme. 732 00:48:01,170 --> 00:48:07,490 A mali by sme mať Vstup výhľad na pohotovosti. 733 00:48:07,490 --> 00:48:09,020 Veľmi cool. 734 00:48:09,020 --> 00:48:12,330 Povedzme, že 10. 735 00:48:12,330 --> 00:48:14,900 >> Nie je to niečo robiť pravý teraz, pretože volania skutočne 736 00:48:14,900 --> 00:48:17,770 nezmenila pre vykonávanie Mario. 737 00:48:17,770 --> 00:48:23,470 Tak sa to stalo trochu trochu divné, pretože vždy, keď 738 00:48:23,470 --> 00:48:30,790 stlačíme tlačidlo nadol, kedykoľvek sme stlačenie tlačidla v zobrazení výstrahy, 739 00:48:30,790 --> 00:48:35,560 sa niečo stalo, ale to sa nestane. 740 00:48:35,560 --> 00:48:37,220 Ako chytiť, že? 741 00:48:37,220 --> 00:48:41,280 Ako vieme, že užívateľ odmietol výhľad upozornenia 742 00:48:41,280 --> 00:48:45,630 a už zadali číslo, pretože teraz sa nič skutočne deje. 743 00:48:45,630 --> 00:48:50,450 >> No, možno ste uhádli to správne, delegácie. 744 00:48:50,450 --> 00:48:55,440 Takže okrem všetkých tieto vyhlásenia, 745 00:48:55,440 --> 00:49:03,190 musíme pridať novú delegáciu na Vyzvala UI zobrazenie v strehu delegáta. 746 00:49:03,190 --> 00:49:06,440 Tak, že každý jednotlivý interakcie alebo udalosť 747 00:49:06,440 --> 00:49:10,190 že budeme mať s výhľadom UI výstrahy 748 00:49:10,190 --> 00:49:14,100 sa bude zaobchádzať podľa našej triedy tiež. 749 00:49:14,100 --> 00:49:26,297 >> Takže okrem toho, bude alert pohľad Kliknite na tlačidlo na indexe. 750 00:49:26,297 --> 00:49:34,260 751 00:49:34,260 --> 00:49:37,730 Toto je dosiahnuté. 752 00:49:37,730 --> 00:49:42,020 Takže v prípade, že máme already-- takže máme 753 00:49:42,020 --> 00:49:46,210 Zistil protokol, ktorý bude spracovávať prípad, kedy 754 00:49:46,210 --> 00:49:51,320 klikneme na tlačidlo Hotovo Na zobrazenie výstrahy. 755 00:49:51,320 --> 00:49:55,976 Takže zakaždým, keď opomenieme Pohľad v strehu, keby k tomu došlo. 756 00:49:55,976 --> 00:49:57,350 Dovoľte mi, aby som vyskúšať veľmi rýchlo. 757 00:49:57,350 --> 00:50:16,220 758 00:50:16,220 --> 00:50:19,300 No naozaj, sme tu dosiahli. 759 00:50:19,300 --> 00:50:22,210 >> Tak tu, budeme čo nie v skutočnosti si je vlastne 760 00:50:22,210 --> 00:50:43,120 dostať the-- Takže chceme dostať von text, ktorý sme predtým 761 00:50:43,120 --> 00:50:45,350 vstúpil v zobrazení výstrahy. 762 00:50:45,350 --> 00:50:48,505 A na základe textu, sme bude zobrazovať Mario. 763 00:50:48,505 --> 00:50:52,336 764 00:50:52,336 --> 00:50:55,480 Jedná sa o veľmi rýchlo ukáže, že ak to naozaj funguje, alebo nie. 765 00:50:55,480 --> 00:50:59,476 Takže v tomto prípade, ak sa vstupné, povedzme, 10, mali by sme vidieť 10. 766 00:50:59,476 --> 00:51:02,740 767 00:51:02,740 --> 00:51:05,210 >> Veľmi dobre, máme číslo tu. 768 00:51:05,210 --> 00:51:06,470 Je to celkom dobrý. 769 00:51:06,470 --> 00:51:16,840 Teraz posledný krok bude be-- tak Posledným krokom musíme urobiť práve teraz 770 00:51:16,840 --> 00:51:21,100 Je len zavolať Mario s level založený na vstupe 771 00:51:21,100 --> 00:51:23,270 že sme dali do zobrazenia výstrahy. 772 00:51:23,270 --> 00:51:26,920 Preto musíme previesť Tento reťazec do iOS. 773 00:51:26,920 --> 00:51:33,820 774 00:51:33,820 --> 00:51:35,496 Statické pretečeniu je veľmi desivý. 775 00:51:35,496 --> 00:51:44,930 776 00:51:44,930 --> 00:51:51,182 A potom stačí zavolať ja marioWithLevels hodnotu. 777 00:51:51,182 --> 00:51:54,550 778 00:51:54,550 --> 00:51:56,284 Poďme sa pozrieť, bude, že v skutočnosti fungovať, alebo nie. 779 00:51:56,284 --> 00:51:59,070 780 00:51:59,070 --> 00:52:01,550 >> Už ste daný pyramídu. 781 00:52:01,550 --> 00:52:04,785 Skúsme zmeniť výšku. 782 00:52:04,785 --> 00:52:06,530 To skutočne funguje. 783 00:52:06,530 --> 00:52:07,610 Je to celkom v pohode. 784 00:52:07,610 --> 00:52:10,420 Takže teraz môžete len Vstupné akýkoľvek hodnota, ktorú chcete. 785 00:52:10,420 --> 00:52:12,440 Povedzme, že štyri. 786 00:52:12,440 --> 00:52:14,260 To je dosť desivý. 787 00:52:14,260 --> 00:52:17,090 Takže to je v podstate Naozaj rýchly príklad 788 00:52:17,090 --> 00:52:23,170 o tom, ako vytvoriť projekt s kódom a ako sa veľmi rýchlo nadpájania 789 00:52:23,170 --> 00:52:26,220 niektoré naozaj jednoduché akcie a funkcie. 790 00:52:26,220 --> 00:52:28,840 >> Takže zdroj bude na uvedenie on-line neskôr. 791 00:52:28,840 --> 00:52:33,400 Takže ak máte záujem v tom, ako iOS Mario funguje, 792 00:52:33,400 --> 00:52:38,360 Chystám sa dať presne rovnaký Projekty na internetových stránkach CS50 neskôr. 793 00:52:38,360 --> 00:52:41,260 Sme v podstate urobil s leto, a ako sme dokončiť 794 00:52:41,260 --> 00:52:45,190 Len som vám chcel upozorniť ľudí na niektoré naozaj úžasné zdroje, ktoré 795 00:52:45,190 --> 00:52:47,550 sú k dispozícii online. 796 00:52:47,550 --> 00:52:52,270 >> Je zrejmé, že dokumentácia Apple bude veľmi užitočné. 797 00:52:52,270 --> 00:52:57,630 Ale okrem toho, ja to najmä Odporúčame štyri zdroje, kód školy, 798 00:52:57,630 --> 00:53:02,120 dom na strome, AppCoda a WWDC videa. 799 00:53:02,120 --> 00:53:07,270 Kód škola a dom na strome sú dve on-line webové stránky vzdelávanie, 800 00:53:07,270 --> 00:53:10,210 ktoré sa špecificky zameriavajú softvérového inžinierstva. 801 00:53:10,210 --> 00:53:16,930 Najmä pre kód školy, ktoré majú naozaj dobrý návod na iOS. 802 00:53:16,930 --> 00:53:19,550 >> To je naozaj rýchly príklad za to. 803 00:53:19,550 --> 00:53:22,980 Sú to vlastne vytvoriť naozaj cute-- pozrite sa na to malé roztomilé iPhone 804 00:53:22,980 --> 00:53:24,920 vole tam, že je to dosť desivý. 805 00:53:24,920 --> 00:53:31,010 A spôsob, akým vysvetliť cieľ Syntax C je úplne jasné. 806 00:53:31,010 --> 00:53:32,230 Strom dom je rovnaký. 807 00:53:32,230 --> 00:53:34,660 A AppCoda je forum. 808 00:53:34,660 --> 00:53:38,130 Je to vlastne blog, ktorý bol spustený by naozaj skúseného Objective C 809 00:53:38,130 --> 00:53:39,120 programátor. 810 00:53:39,120 --> 00:53:43,950 A všetky tie cvičenia v AppCoda sú celkom krátke a ľahko implementovať, 811 00:53:43,950 --> 00:53:45,390 vysoko odporúčané. 812 00:53:45,390 --> 00:53:47,700 >> A ak ste vývojár, rozhodne ísť skontrolovať 813 00:53:47,700 --> 00:53:55,660 ako videá, WWDC, kde si môžete dozvedieť sa o najnovších programovanie iOS 814 00:53:55,660 --> 00:53:58,250 techniky, rozhranie API a knižnice. 815 00:53:58,250 --> 00:54:02,850 Tak to je celkom veľa to na seminári. 816 00:54:02,850 --> 00:54:03,820 Ďakujem moc. 817 00:54:03,820 --> 00:54:08,040 A ja dúfam, že sa baviť vytvoriť si vlastný iOS aplikáciu. 818 00:54:08,040 --> 00:54:09,302