1 00:00:00,000 --> 00:00:11,420 2 00:00:11,420 --> 00:00:13,590 >> Tianyu LIU: Hej, kako je to ide sve? 3 00:00:13,590 --> 00:00:20,250 I to je iOS App programiranje Objective C seminara. 4 00:00:20,250 --> 00:00:21,520 I moje ime je Tianyu Liu. 5 00:00:21,520 --> 00:00:26,114 Ja sam Lowell junior upravo sada, koncentrirajući se u računalnoj znanosti. 6 00:00:26,114 --> 00:00:28,030 Dakle, u ovom seminaru sam će vas naučiti dečki 7 00:00:28,030 --> 00:00:30,770 malo o tome kako napraviti aplikaciju. 8 00:00:30,770 --> 00:00:33,030 Yay, dobili uzbuđen zbog toga. 9 00:00:33,030 --> 00:00:36,790 >> Dakle, prije nego što čak i početi ronjenje u stvarni programiranje strane, 10 00:00:36,790 --> 00:00:41,840 neka je samo jako brzo govoriti o zašto možda želite izgraditi iOS? 11 00:00:41,840 --> 00:00:43,940 Zašto je iOS tako strašan? 12 00:00:43,940 --> 00:00:47,250 Dakle, prvi problem, prvo Ono što je prilično strašan za nas, 13 00:00:47,250 --> 00:00:51,190 pogotovo što je CS50 student, da je iOS 14 00:00:51,190 --> 00:00:55,860 koristi Cilj C. Pa, tu je Novi jezik se zove Swift, 15 00:00:55,860 --> 00:00:58,260 ali nećemo se koristiti da se u ovom seminaru. 16 00:00:58,260 --> 00:01:01,540 Ako ste zainteresirani za Swift, postoji je neovisna seminar o tome. 17 00:01:01,540 --> 00:01:05,590 Ali Cilj C je u osnovi nadskup C. značenja 18 00:01:05,590 --> 00:01:10,230 da je sve što koristite u C može biti prevedena na Objective C 19 00:01:10,230 --> 00:01:11,630 vrlo jednostavno. 20 00:01:11,630 --> 00:01:15,730 >> Kao što ste mogli vidjeti kasnije, da je doista postoje neke vrlo osnovne sintakse, su 21 00:01:15,730 --> 00:01:19,790 u osnovi isti, C i cilj C. Dakle, 22 00:01:19,790 --> 00:01:22,860 jer ste uzeli CS50 up to daleko, već si 23 00:01:22,860 --> 00:01:26,500 Znaš Objective C, najmanje 40%. 24 00:01:26,500 --> 00:01:30,720 Također, Apple je stvarno robustan API za iOS. 25 00:01:30,720 --> 00:01:33,750 Postoji puno stvarno ludi stvari koje možete učiniti s njom. 26 00:01:33,750 --> 00:01:36,760 Od kojih je netko zapravo stvorio iOS 27 00:01:36,760 --> 00:01:40,600 za kontrolu automobila, koji je prilično zanimljiva. 28 00:01:40,600 --> 00:01:42,610 Vjerojatno helikopter je više uzbudljivo. 29 00:01:42,610 --> 00:01:47,020 No, to je koliko je moćan iOS API može biti. 30 00:01:47,020 --> 00:01:49,340 >> I kao što ste mogli imati shvatio upravo sada, 31 00:01:49,340 --> 00:01:53,000 stack overflow je vjerojatno jedan od najvažniji online resursa 32 00:01:53,000 --> 00:01:54,250 koje su Vam dostupne. 33 00:01:54,250 --> 00:01:58,090 A dobra vijest, za svaku Jedan je problem što možete eventualno 34 00:01:58,090 --> 00:02:01,840 misliti, a izgradnju svoje Konačni projekt u Objective C, 35 00:02:01,840 --> 00:02:05,910 Tu je vjerojatno stack overflow odgovor. 36 00:02:05,910 --> 00:02:07,420 To je samo strašan. 37 00:02:07,420 --> 00:02:12,780 Osim toga, iOS stvarno platforma 38 00:02:12,780 --> 00:02:16,260 gdje možete doći ogromna Publika s malo truda. 39 00:02:16,260 --> 00:02:20,170 To nije kao Android, kojoj sve je prilično rascjepkano. 40 00:02:20,170 --> 00:02:22,540 >> Sve iOS je jedinstven. 41 00:02:22,540 --> 00:02:25,920 I koliko god da napravite Aplikacija za iPhone, 42 00:02:25,920 --> 00:02:31,260 možete vrlo lako port koji ipad, iPad mini, ili različite veličine iPhone. 43 00:02:31,260 --> 00:02:33,050 To su sve jako povoljno. 44 00:02:33,050 --> 00:02:36,430 I to je samo jako dobar za impresivan svoje prijatelje. 45 00:02:36,430 --> 00:02:38,920 Vi samo možete držati iPhone i reći tvoj prijatelj hej, 46 00:02:38,920 --> 00:02:40,250 to je app sam napraviti. 47 00:02:40,250 --> 00:02:43,860 Možete to učiniti za bilo desktop aplikacije, što je lijepo. 48 00:02:43,860 --> 00:02:48,870 >> U redu, sad ćemo zapravo dobiti u jezičnom Cilj C. 49 00:02:48,870 --> 00:02:52,910 Pa zašto ne bismo početi s Neki stvarno osnovna sintaksa. 50 00:02:52,910 --> 00:02:57,410 Kao što sam spomenuo prije Cilj C To je u osnovi nadskup C. 51 00:02:57,410 --> 00:03:01,860 Dakle, puno osnovnoj sintaksi su zapravo isti. 52 00:03:01,860 --> 00:03:06,150 Proglašavanje varijablu i dodajući dvije varijable zajedno 53 00:03:06,150 --> 00:03:09,440 Upravo kao što smo učinili u Mario. 54 00:03:09,440 --> 00:03:11,140 Ništa novo ovdje. 55 00:03:11,140 --> 00:03:17,370 >> Isto tako, stanar za petlju i stanje je isti. 56 00:03:17,370 --> 00:03:22,370 Možete napraviti za petlju baš kao i vi su radili u Mario [nečujan]. 57 00:03:22,370 --> 00:03:26,280 A vi možete učiniti uvjete baš kao što 58 00:03:26,280 --> 00:03:29,240 su radili u svojim prethodnim p setovima. 59 00:03:29,240 --> 00:03:33,400 Međutim, cilj C nije posve C, 60 00:03:33,400 --> 00:03:36,640 i postoji nešto što je vrsta čudno o tome. 61 00:03:36,640 --> 00:03:42,340 >> Prvi se da kada ste radi C programiranje, što obično nazivamo 62 00:03:42,340 --> 00:03:46,310 uključuju i zatim knjižnica ime. 63 00:03:46,310 --> 00:03:49,860 No, u Objective C nazovete taj uvoz. 64 00:03:49,860 --> 00:03:53,100 Uglavnom govoreći funkcionalnost, Samo različitim imenima. 65 00:03:53,100 --> 00:03:55,940 I žice su zapravo malo čudno. 66 00:03:55,940 --> 00:03:58,250 Možete vidjeti da je prva Ono što je vrsta čudno 67 00:03:58,250 --> 00:04:04,190 je da imate prilično weird-- sorry-- imate prilično čudno NS 68 00:04:04,190 --> 00:04:04,960 potpisati ovdje. 69 00:04:04,960 --> 00:04:07,452 70 00:04:07,452 --> 00:04:09,160 I druga stvar to je vrsta čudno 71 00:04:09,160 --> 00:04:14,090 je li na znak prije zapravo izjavljuje string. 72 00:04:14,090 --> 00:04:19,209 Dakle, u znak osnovi znači da niz nije samo niz, 73 00:04:19,209 --> 00:04:20,880 to je zapravo objekt. 74 00:04:20,880 --> 00:04:22,780 Mi ćemo objasniti koja je kasnije tako ne 75 00:04:22,780 --> 00:04:25,800 panika, ako ne razumjeti što to znači. 76 00:04:25,800 --> 00:04:29,980 A tisak na konzoli je malo drugačije, jer u C zovemo printf, 77 00:04:29,980 --> 00:04:33,350 ali u Objective C zovemo [nečujan]. 78 00:04:33,350 --> 00:04:35,640 >> Možda se pitate što je to. 79 00:04:35,640 --> 00:04:38,070 To je u osnovi printf, samo drugačiji jezik. 80 00:04:38,070 --> 00:04:41,370 Točno isti običaj, točno istu funkcionalnost. 81 00:04:41,370 --> 00:04:44,060 Pa ispada da Cilj C zapravo 82 00:04:44,060 --> 00:04:50,040 ima ns prefiks u gotovo sve, svaki osnovni tip podataka, 83 00:04:50,040 --> 00:04:52,690 nsstring, nsarray, nsdictionary. 84 00:04:52,690 --> 00:04:56,340 Razlog tomu je što ns zapravo zalaže za sljedeći korak, 85 00:04:56,340 --> 00:04:59,980 što je tvrtka koja Steve Jobs je osnovana, 86 00:04:59,980 --> 00:05:03,960 što je tvrtka u kojoj Jezik Cilj C je rođen. 87 00:05:03,960 --> 00:05:06,140 Dakle, to je zapravo tradicija. 88 00:05:06,140 --> 00:05:09,010 Znam da je malo čudno, ali to je Apple. 89 00:05:09,010 --> 00:05:16,840 >> Dakle, nešto što je još čudnije nego da je funkcija izjava. 90 00:05:16,840 --> 00:05:22,600 To je vrlo različito od onoga što smo pogledajte u C, jer ovdje je zapravo 91 00:05:22,600 --> 00:05:25,190 ne izgleda kao C više. 92 00:05:25,190 --> 00:05:28,810 Ono što here-- imati po način da to nije točkom, 93 00:05:28,810 --> 00:05:30,690 to je minus. 94 00:05:30,690 --> 00:05:36,440 Imate minus zagradu praznina, a zatim naziv funkcija. 95 00:05:36,440 --> 00:05:38,450 Recimo samo da smo imaju Pozdrav svijetu, a zatim 96 00:05:38,450 --> 00:05:42,820 Vrsta povratak će biti nevažeća jer smo se vratili ništa. 97 00:05:42,820 --> 00:05:44,680 >> Ono što dobiva stvarno čudno je da, kada ste 98 00:05:44,680 --> 00:05:49,580 koji ima više od jednog parametra prolazi u istoj funkciji da 99 00:05:49,580 --> 00:05:53,870 će biti jako čudno kao što je prikazano ovdje. 100 00:05:53,870 --> 00:05:58,230 Imamo ime metoda, pozvao addInt na [nečujan] 101 00:05:58,230 --> 00:06:00,370 a mi prolaze jedan parametar. 102 00:06:00,370 --> 00:06:05,170 No, nakon toga, imamo Više ime metoda poziva s. 103 00:06:05,170 --> 00:06:08,500 I nakon što smo s prolazu Drugi parametar. 104 00:06:08,500 --> 00:06:11,940 To je zapravo malo čudno, No, svi ti funkcija izjave 105 00:06:11,940 --> 00:06:14,770 slijede isti obrazac kao ovo. 106 00:06:14,770 --> 00:06:17,450 >> Imamo minus za početak. 107 00:06:17,450 --> 00:06:21,550 Znak minus bi mogao biti znak plus Ponekad se temelji na kakvoj se metodi 108 00:06:21,550 --> 00:06:22,340 je to. 109 00:06:22,340 --> 00:06:25,000 Postupak je u osnovi drugo ime za funkciju. 110 00:06:25,000 --> 00:06:26,760 A mi ćemo se objasniti da je kasnije, kada 111 00:06:26,760 --> 00:06:30,580 govorimo o objektu orijentirano programiranje. 112 00:06:30,580 --> 00:06:34,300 Najprije odredite povratak upišite unutar zagrada, 113 00:06:34,300 --> 00:06:37,450 nakon čega dolazi ime način. 114 00:06:37,450 --> 00:06:40,310 Ti prolazi jedan parametar. 115 00:06:40,310 --> 00:06:44,750 A ako imate više parametara trebate proširiti naziv metoda 116 00:06:44,750 --> 00:06:46,770 a zapravo napisati nešto više ovdje. 117 00:06:46,770 --> 00:06:48,090 >> To može biti bilo što želite. 118 00:06:48,090 --> 00:06:50,140 U našem slučaju to je s. 119 00:06:50,140 --> 00:06:56,160 No, moglo bi se reći na kraju, ili, ili, ili ABC pun bar, što god želite. 120 00:06:56,160 --> 00:06:59,500 A onda, nakon što si prolazi parametar b. 121 00:06:59,500 --> 00:07:01,750 To je stvarno čudno Konvencija, ali mi smo 122 00:07:01,750 --> 00:07:05,800 će vidjeti zašto je Apple želio to učiniti vrlo brzo. 123 00:07:05,800 --> 00:07:10,530 Pa kako se zovu funkciju? 124 00:07:10,530 --> 00:07:15,520 Pozivanje funkciju u cilj C je različit od C 125 00:07:15,520 --> 00:07:18,170 >> Zapravo, nazivajući funkcija u Objective C 126 00:07:18,170 --> 00:07:21,030 više kao da ste u razgovoru s nekim. 127 00:07:21,030 --> 00:07:27,030 Ovdje imamo sebe, što naziva objekta. 128 00:07:27,030 --> 00:07:33,830 Vi ste zapravo reći objekt sebe reći "Hello World!" 129 00:07:33,830 --> 00:07:36,830 To je, kako se zovu funkciju. 130 00:07:36,830 --> 00:07:41,690 Cilj i naziv metoda u kombinaciji jedni s drugima. 131 00:07:41,690 --> 00:07:49,600 I ovo je mjesto gdje se čudno proširenje za ime metoda zapravo dolazi u igru. 132 00:07:49,600 --> 00:07:52,150 >> Pogledajmo drugi primjer. 133 00:07:52,150 --> 00:07:56,780 Mi jednostavno definira metodu naziva addInt sa bla bla bla. 134 00:07:56,780 --> 00:08:00,066 Dakle, u ovom slučaju, kada zovete da određeni [? Poruka?] to se događa 135 00:08:00,066 --> 00:08:02,035 izgledati samo addInt: 10 s: 2. 136 00:08:02,035 --> 00:08:05,410 137 00:08:05,410 --> 00:08:08,070 To zvuči kao engleski. 138 00:08:08,070 --> 00:08:11,980 Iako funkciji Funkcija izjava je čudno, 139 00:08:11,980 --> 00:08:15,600 točka Objective C-a Način izjava uzorak, 140 00:08:15,600 --> 00:08:18,830 je da kad zovete funkcija ili metoda 141 00:08:18,830 --> 00:08:21,980 to će zvučati kao stvarni engleskom. 142 00:08:21,980 --> 00:08:25,270 Dakle, to je vrlo intuitivno Nakon što ste dobili u nju. 143 00:08:25,270 --> 00:08:28,740 >> Posebno u ovom slučaju, gdje možete osnovi 144 00:08:28,740 --> 00:08:33,010 vidim da je naziv funkcija vrsta sama dokumentiranja. 145 00:08:33,010 --> 00:08:35,390 Ne trebate bilo više objašnjenja vidjeti 146 00:08:35,390 --> 00:08:42,770 što se točno događa, što točno jedan parametar radi. 147 00:08:42,770 --> 00:08:48,470 Koja nadilazi, pričajmo malo Malo o objektu orijentirano programiranje. 148 00:08:48,470 --> 00:08:52,160 Objektno orijentirano programiranje jedan od temeljnih programiranje 149 00:08:52,160 --> 00:08:57,110 tehnike i obrasce koje je koristiti Objective C Objective C 150 00:08:57,110 --> 00:09:03,110 naziva Cilj C, ne C, za stvarno dobar razlog. 151 00:09:03,110 --> 00:09:07,560 >> Dakle, prije nego što smo dobili u Cilj C sintaksu, 152 00:09:07,560 --> 00:09:11,670 Idemo jako brzo pogledati točno ono što je objekt. 153 00:09:11,670 --> 00:09:15,480 Mi Vjerojatno ste učinili nešto kao objekt prije, što 154 00:09:15,480 --> 00:09:19,780 naziva struct kada ste provedbi drvo ili popis povezan 155 00:09:19,780 --> 00:09:25,730 ili [? probati. ?] Dakle, to je osnovi kao STRUCT, 156 00:09:25,730 --> 00:09:28,560 ali to je puno moćniji od toga. 157 00:09:28,560 --> 00:09:33,150 Objekt ima metode i svojstva. 158 00:09:33,150 --> 00:09:35,310 Metode su u osnovi funkcionira. 159 00:09:35,310 --> 00:09:39,480 Uglavnom djeluje da je specifični za određeni objekt. 160 00:09:39,480 --> 00:09:45,440 >> A osobine su u osnovi Polje ste naveli u STRUCT. 161 00:09:45,440 --> 00:09:48,500 Dakle, za svaki objekt imamo neku nekretninu 162 00:09:48,500 --> 00:09:53,160 da ima neke varijable koje specifični za predmet. 163 00:09:53,160 --> 00:09:57,170 I mi imamo neke funkcije koje također su specifični za predmet. 164 00:09:57,170 --> 00:10:01,180 A funkcije nazivaju metode i varijable nazivaju svojstva. 165 00:10:01,180 --> 00:10:03,190 To je samo fancy naziv. 166 00:10:03,190 --> 00:10:10,440 Dok vi zapravo, svaki pogled vidiš, dok otvorite iOS app, 167 00:10:10,440 --> 00:10:17,720 neka je samo reći Twitter ili Facebook, Svaki pojedini pogled vidite je objekt. 168 00:10:17,720 --> 00:10:22,110 Pa čak i cijela aplikacija objekt za početak. 169 00:10:22,110 --> 00:10:25,340 Vrlo zanimljiv koncept. 170 00:10:25,340 --> 00:10:28,480 >> I zašto mi želimo objekt orijentirano programiranje? 171 00:10:28,480 --> 00:10:33,530 Možete zamisliti da kada Program se dobiva prilično komplicirano. 172 00:10:33,530 --> 00:10:36,400 Recimo, kada ste provedbi šahovsku ploču, 173 00:10:36,400 --> 00:10:40,020 logika će biti jako komplicirano. 174 00:10:40,020 --> 00:10:43,280 Imate 36 različitih komada, tako da ako 175 00:10:43,280 --> 00:10:48,370 želite napisati logiku za sve 36 različitih komada u šahu, 176 00:10:48,370 --> 00:10:52,150 da će biti puno različite funkcije i varijable. 177 00:10:52,150 --> 00:10:54,070 To je puno problema. 178 00:10:54,070 --> 00:10:58,980 I vjerojatno idete pisati različite metode i različite funkcije 179 00:10:58,980 --> 00:11:03,950 za svaku od komad točno kontrolirati što im je činiti. 180 00:11:03,950 --> 00:11:08,830 >> Ali ako to ne učinite objektno orijentirano programiranje, sve ove dijelove 181 00:11:08,830 --> 00:11:12,440 mogu se izdvojiti u jedna stvar. 182 00:11:12,440 --> 00:11:16,111 A objekt će imati neke zajedničke svojstva, kao što su Kakve komada 183 00:11:16,111 --> 00:11:16,610 je li? 184 00:11:16,610 --> 00:11:17,740 Koje je boje? 185 00:11:17,740 --> 00:11:19,480 Kako se može kretati? 186 00:11:19,480 --> 00:11:24,660 I na taj način imate jako pojednostavljeno logiku njega. 187 00:11:24,660 --> 00:11:28,480 Dakle, to je samo jako dobar način kako bi komplicirane programe, 188 00:11:28,480 --> 00:11:33,700 i hijerarhijski odnos u okviru programa, vrlo jednostavan. 189 00:11:33,700 --> 00:11:36,800 Kao što smo idući u vidjeti Zato je vrlo brzo, kada 190 00:11:36,800 --> 00:11:39,660 mi zapravo radimo programming-- kad smo zapravo 191 00:11:39,660 --> 00:11:42,830 događaj S šifru programiranje sjednicu kasnije. 192 00:11:42,830 --> 00:11:48,120 >> I uz to, objektno orijentirano programiranje 193 00:11:48,120 --> 00:11:50,030 samo puno zabave. 194 00:11:50,030 --> 00:11:51,990 Imaš dizajnirati vlastiti objekt. 195 00:11:51,990 --> 00:11:56,080 Imaš dizajnirati ono što čini to izgledati po sebi. 196 00:11:56,080 --> 00:11:58,250 Nema pravog odgovora na to. 197 00:11:58,250 --> 00:12:02,940 I to je potpuno zanimljivo. 198 00:12:02,940 --> 00:12:07,270 Tako je u objektno orijentirano programiranje, Dva su temeljna koncepta 199 00:12:07,270 --> 00:12:10,130 će biti klase i primjer. 200 00:12:10,130 --> 00:12:13,570 Klasa je zapravo Obrazac za objekt. 201 00:12:13,570 --> 00:12:18,070 A slučaj je u osnovi jedan specifičan objekt. 202 00:12:18,070 --> 00:12:21,090 >> Recimo samo da radite kolačić. 203 00:12:21,090 --> 00:12:24,800 U tom slučaju, svaki Cookie vi zapravo završiti s 204 00:12:24,800 --> 00:12:27,310 će biti predmet. 205 00:12:27,310 --> 00:12:35,830 No kolačić ploča koristite ispeći sve kolačiće će biti klase. 206 00:12:35,830 --> 00:12:37,880 Klasa je zapravo predložak. 207 00:12:37,880 --> 00:12:46,170 A instanca će biti jedna posebna objekt stvoren iz te klase. 208 00:12:46,170 --> 00:12:49,970 >> I instanca će se stvoriti temelji se na klase deklaraciji, 209 00:12:49,970 --> 00:12:56,760 kao što ćemo vidjeti u kasnijim slajdova. 210 00:12:56,760 --> 00:13:00,010 Tako ćemo zapravo učiniti jako Brzo je primjer [nečujan]. 211 00:13:00,010 --> 00:13:04,280 Recimo da smo progla objekt za mačke. 212 00:13:04,280 --> 00:13:07,930 Cilj bi trebao have-- Mačka klase trebao 213 00:13:07,930 --> 00:13:11,260 imaju neke osobine i metode. 214 00:13:11,260 --> 00:13:17,300 Kakav svojstava trebali su Klasa have-- trebao mačka ima? 215 00:13:17,300 --> 00:13:20,580 >> Na primjer, u boji, dobi i pasmina, oni 216 00:13:20,580 --> 00:13:24,440 će biti varijable koje su specifični za svaku mačku. 217 00:13:24,440 --> 00:13:27,790 A oni su neke stvari koji koristimo za opisivanje mačka. 218 00:13:27,790 --> 00:13:31,880 Kakve metode, ili ono što se može učiniti mačka? 219 00:13:31,880 --> 00:13:37,160 Neki primjeri brzo će biti Chase miš, jedu ribu ili jednostavno mijau. 220 00:13:37,160 --> 00:13:40,900 Ovo je stvarno brzo Primjer mačka klase. 221 00:13:40,900 --> 00:13:46,920 I stvarno posebna Mačka objekt će biti mačka 222 00:13:46,920 --> 00:13:50,930 gdje smo naveli boja, dobi i pasmina. 223 00:13:50,930 --> 00:13:53,790 >> U tom slučaju, naš cilj je više klase nema više. 224 00:13:53,790 --> 00:14:00,010 Mi kopirati predložak iz razreda i ćemo navesti svaku specifičnu informaciju 225 00:14:00,010 --> 00:14:04,510 na taj određeni objekt da je neovisna. 226 00:14:04,510 --> 00:14:09,350 A kad zovete Način unutar objekta, 227 00:14:09,350 --> 00:14:16,640 vi samo nazvati Mijau na objektu, što je mačka koju ste upravo stvorili. 228 00:14:16,640 --> 00:14:19,020 >> Vjerojatno ćete ispisati nešto poput "Pozdrav svijetu! 229 00:14:19,020 --> 00:14:20,000 Mijau ". 230 00:14:20,000 --> 00:14:22,110 Prilično slatka. 231 00:14:22,110 --> 00:14:24,500 U redu, neka je samo dobiti u nekim detaljima 232 00:14:24,500 --> 00:14:30,650 i vidjeti što točno znači da je prevesti kao iOS programiranje. 233 00:14:30,650 --> 00:14:36,500 Tako je u iOS programiranje svakog pojedinog Klasa će se provoditi u dvije datoteke. 234 00:14:36,500 --> 00:14:41,420 Jedna datoteka ovdje, što se zove sučelje. 235 00:14:41,420 --> 00:14:45,300 Još jedna datoteka ovdje, što naziva provedbu. 236 00:14:45,300 --> 00:14:48,890 >> Obično sučelje će imati extension.h 237 00:14:48,890 --> 00:14:51,740 kao što smo vidjeli u C knjižnicama. 238 00:14:51,740 --> 00:14:56,340 I provedba datoteka će imati extension.n. 239 00:14:56,340 --> 00:14:57,260 To je vrsta čudno. 240 00:14:57,260 --> 00:15:01,270 No zapravo znači .n .c, nema Temeljna razlika između onih 241 00:15:01,270 --> 00:15:02,100 dva. 242 00:15:02,100 --> 00:15:06,650 Dakle, u ovom slučaju, možemo vidjeti da smo izjavljujući sučelje, mačka: objekt. 243 00:15:06,650 --> 00:15:10,660 244 00:15:10,660 --> 00:15:13,760 To se zove nasljedstvo. 245 00:15:13,760 --> 00:15:19,170 Mi smo u osnovi nasljeđivanja Mačka klase od objekta klase. 246 00:15:19,170 --> 00:15:24,790 Dakle, svaki objekt i način kako je prethodno definirani u objektnom klasi 247 00:15:24,790 --> 00:15:28,560 će biti automatski definirati u mačka klase, kao dobro. 248 00:15:28,560 --> 00:15:35,900 >> Osim toga, mi definirati boju, pasmina i dobi, tri varijable. 249 00:15:35,900 --> 00:15:39,360 To zapravo izgleda nešto što ste učinili prije. 250 00:15:39,360 --> 00:15:41,770 Izgleda STRUCT. 251 00:15:41,770 --> 00:15:44,950 To je u osnovi sintaksa za struct deklaracije, 252 00:15:44,950 --> 00:15:47,710 a to je potpuno ispravan. 253 00:15:47,710 --> 00:15:51,825 A budući da sam spomenuo prije, Razlika struct 254 00:15:51,825 --> 00:15:53,960 i objekt, jedan od Temeljne razlike 255 00:15:53,960 --> 00:15:59,080 je da objekt ima metodu, dok struct ima samo varijable. 256 00:15:59,080 --> 00:16:03,450 Tako da uz svojstva ili varijable koje smo stvorili za objekt, 257 00:16:03,450 --> 00:16:05,700 ćemo navesti neke metode. 258 00:16:05,700 --> 00:16:09,720 >> Recimo samo da ovdje imamo dvije metode, jedna je Mijau, 259 00:16:09,720 --> 00:16:12,460 još jedan je Chase miš. 260 00:16:12,460 --> 00:16:18,600 Mi vjerojatno želite da se prolazu parametar na temelju naših prethodnih metoda 261 00:16:18,600 --> 00:16:20,440 izjava uzorak. 262 00:16:20,440 --> 00:16:22,160 Vi vjerojatno želite da se prolazi miša. 263 00:16:22,160 --> 00:16:25,180 I vjerojatno ćete željeti Za povratak na bool označavajući 264 00:16:25,180 --> 00:16:30,010 Ako je vaša mačka uspješno uhvati miša ili ne. 265 00:16:30,010 --> 00:16:33,170 >> To je sučelje, ali možemo vidim da je sučelje zapravo 266 00:16:33,170 --> 00:16:35,150 ne činiti ništa. 267 00:16:35,150 --> 00:16:40,800 To samo govori program što exists-- ono što postoji u mačka klasi. 268 00:16:40,800 --> 00:16:43,640 Dakle, da bi za Program za napraviti nešto, 269 00:16:43,640 --> 00:16:46,680 moramo imati provedbe datoteka. 270 00:16:46,680 --> 00:16:51,940 Dakle ovdje, prva stvar koju radimo je Očito smo uvoz sučelje. 271 00:16:51,940 --> 00:16:56,470 Nakon što smo uvesti sučelje, možemo definirati način. 272 00:16:56,470 --> 00:17:00,150 >> Recimo ovdje Mijau Upravo će ispisati 273 00:17:00,150 --> 00:17:01,740 "Hello World!" na konzoli. 274 00:17:01,740 --> 00:17:04,319 275 00:17:04,319 --> 00:17:08,460 I nakon provedbe file, mi smo prilično mnogo učinio. 276 00:17:08,460 --> 00:17:14,530 To je u osnovi klase izjava za jednu klasu. 277 00:17:14,530 --> 00:17:19,970 Tako sada pitanje postaje, kako ti proglasi varijablu? 278 00:17:19,970 --> 00:17:26,880 Način na koji koristite klase za stvaranje objekt u Objective C je ovdje napisano. 279 00:17:26,880 --> 00:17:30,730 >> Najprije odrediti da ovo je mačka pokazivač, 280 00:17:30,730 --> 00:17:38,700 jer svaki objekt u Objective C napokon provodi kao pokazivač. 281 00:17:38,700 --> 00:17:46,210 A ti nazvati razred, zovu ih kao Alloc, koja je u osnovi malloc, 282 00:17:46,210 --> 00:17:51,220 govori operativni sustav koji vam potreban neki memorijski prostor za ovaj objekt. 283 00:17:51,220 --> 00:17:55,780 Nakon toga imate objekt Već i samo ga inicijalizirati. 284 00:17:55,780 --> 00:17:56,780 To je samo konvencija. 285 00:17:56,780 --> 00:17:59,390 286 00:17:59,390 --> 00:18:04,410 Znam da je to je malo čudno, ali to je zapravo kako Apple radi stvari. 287 00:18:04,410 --> 00:18:07,130 >> Dodjela svojstva se zapravo prilično jednostavan. 288 00:18:07,130 --> 00:18:09,250 To je vrlo slično Što radite kada 289 00:18:09,250 --> 00:18:13,780 ti si dodjeljivanje neke specifične Polje unutar STRUCT. 290 00:18:13,780 --> 00:18:16,830 Vi samo morati varijable ime, ime vlasništvu, 291 00:18:16,830 --> 00:18:20,140 i dodijeliti određenu vrijednost na njega. 292 00:18:20,140 --> 00:18:24,120 A pozivanje metoda je vrlo slična. 293 00:18:24,120 --> 00:18:29,080 Poziva metoda u osnovi ono što govorim o 294 00:18:29,080 --> 00:18:32,390 za pozivanje bilo koji način u objektivnom C 295 00:18:32,390 --> 00:18:36,660 >> Ti si prolaze objekt, u ovaj slučaj će to biti myCat, 296 00:18:36,660 --> 00:18:42,490 a ti prolazi ime metoda. 297 00:18:42,490 --> 00:18:47,130 Kao da ste u razgovoru s objekta, myCat, koji bi trebao mijau. 298 00:18:47,130 --> 00:18:48,570 To je prilično zanimljiv. 299 00:18:48,570 --> 00:18:52,010 300 00:18:52,010 --> 00:18:55,680 Nakon toga, jedna više bitno design pattern 301 00:18:55,680 --> 00:18:59,940 da trebamo razgovarati o tome Prije nego uzimajući stvarne S koda. 302 00:18:59,940 --> 00:19:03,300 To design pattern naziva događaj potaknut programiranje. 303 00:19:03,300 --> 00:19:09,660 To je ujedno i jedan od najviše temeljne ideje u iOS programiranje. 304 00:19:09,660 --> 00:19:14,410 >> Dakle, vjerojatno ne zna što je točno je događaj potaknut programiranje, 305 00:19:14,410 --> 00:19:16,990 ali to nije stvarno da je zastrašujuće. 306 00:19:16,990 --> 00:19:20,400 Pa u stvari, imate već učinili prije. 307 00:19:20,400 --> 00:19:24,894 To je jedna od linija koje ste vjerojatno već napisao u posljednjem [nečujan] 308 00:19:24,894 --> 00:19:26,810 od CS50, google.maps.event.addListener (marker, 309 00:19:26,810 --> 00:19:27,810 "Klik", funkcija () {}) :. 310 00:19:27,810 --> 00:19:32,410 311 00:19:32,410 --> 00:19:37,620 Pozivom ovu liniju bitno reći računalo 312 00:19:37,620 --> 00:19:42,650 da, kad god je događaj pod nazivom "Klik" dogodi na igrača, 313 00:19:42,650 --> 00:19:43,630 koristiti tu funkciju. 314 00:19:43,630 --> 00:19:46,910 315 00:19:46,910 --> 00:19:50,950 >> To je vrlo različito od ono što vam je činiti u mario.c. 316 00:19:50,950 --> 00:19:56,670 U mario.c ti samo pokrenite program jednom, to vam daje snagu, 317 00:19:56,670 --> 00:19:58,590 a vi ste učinili. 318 00:19:58,590 --> 00:20:02,590 To su nešto poput jedan metak programa. 319 00:20:02,590 --> 00:20:05,830 Poslovne pogon programi vrlo, vrlo različite. 320 00:20:05,830 --> 00:20:10,230 Zamislimo, ako Facebook je jedna shot programa to nije stvarno dobar. 321 00:20:10,230 --> 00:20:13,750 Vi samo idite na Facebooku jednom i to je učinjeno. 322 00:20:13,750 --> 00:20:16,700 To vam daje neki izlaz i nikad ga dobio natrag. 323 00:20:16,700 --> 00:20:19,380 Vi nikada nije dobio ništa više. 324 00:20:19,380 --> 00:20:23,880 >> Pa evo, pogotovo uzorak koristimo se 325 00:20:23,880 --> 00:20:26,940 Događaj pogon, tako da se svaka funkcija će 326 00:20:26,940 --> 00:20:31,480 biti uhvaćen na temelju onoga što Događaj se dogodilo. 327 00:20:31,480 --> 00:20:34,670 Na primjer, ako se gumb i mi navesti 328 00:20:34,670 --> 00:20:39,870 da kad god se pritisne tipka koja, pozvati funkciju pod nazivom "Hello World!" 329 00:20:39,870 --> 00:20:47,810 Na taj način možemo stvarno upravljanje funkcija logiku 330 00:20:47,810 --> 00:20:50,560 teku u vrlo fleksibilan način. 331 00:20:50,560 --> 00:20:55,840 Korisnik može napraviti ili nazovite funkciju koji je već bio pozvao. 332 00:20:55,840 --> 00:20:59,900 To je u potpunosti temelji na tome što korisnici rade. 333 00:20:59,900 --> 00:21:04,080 >> Dakle, možemo vidjeti da je to zapravo mnogo bolje nego mario.c. 334 00:21:04,080 --> 00:21:07,190 A dobra vijest je da je zapravo nije novi koncept. 335 00:21:07,190 --> 00:21:12,140 Vi dečki već učinili da je u posljednjem problema postaviti. 336 00:21:12,140 --> 00:21:16,640 Tako je u Objective C postoje Tri različita dijagrami 337 00:21:16,640 --> 00:21:19,030 za događaj potaknut programiranje. 338 00:21:19,030 --> 00:21:21,970 Prvi dijagram naziva meta akcije, 339 00:21:21,970 --> 00:21:26,990 gdje se vežu na gumb press s nekim funkciju. 340 00:21:26,990 --> 00:21:31,590 Recimo, kad kliknete Neki gumb, možete nazvati neku funkciju. 341 00:21:31,590 --> 00:21:33,620 To je vrlo jednostavna meta akcije. 342 00:21:33,620 --> 00:21:35,580 >> Drugi je zapravo najteže, 343 00:21:35,580 --> 00:21:38,450 to se zove izaslanstvo na protokolu. 344 00:21:38,450 --> 00:21:41,800 Mi ćemo objasniti koji vrlo detaljno kasnije. 345 00:21:41,800 --> 00:21:44,420 I treći put je obavijest. 346 00:21:44,420 --> 00:21:46,770 To je zapravo nije Vrlo je važno što se tiče 347 00:21:46,770 --> 00:21:50,920 što smo mi u pitanju, jer je slučajno da ćeš koristiti obavijest 348 00:21:50,920 --> 00:21:53,310 U svom završnom projekta je prilično niska. 349 00:21:53,310 --> 00:21:56,440 Tako ćemo preskočiti taj dio. 350 00:21:56,440 --> 00:21:59,460 >> I idemo roniti u delegaciji na protokol. 351 00:21:59,460 --> 00:22:02,380 352 00:22:02,380 --> 00:22:04,470 Pa što je točno protokol? 353 00:22:04,470 --> 00:22:06,450 Ili što točno je izaslanstvo? 354 00:22:06,450 --> 00:22:09,670 Razgovarajmo o protokolu za početak sa. 355 00:22:09,670 --> 00:22:13,360 Protokoli nisu ništa drugo nego događaja. 356 00:22:13,360 --> 00:22:19,230 No, ovi događaji su dati što od strane Apple za početak. 357 00:22:19,230 --> 00:22:22,640 Na primjer, ja nisam posve sigurni koliko vas 358 00:22:22,640 --> 00:22:27,930 Dečki koristiti Appleov izvornik Aplikacija mail ili kontakt, 359 00:22:27,930 --> 00:22:32,180 ali svaki put kada pomaknite stol i pritisnuti određenu stanicu 360 00:22:32,180 --> 00:22:36,130 na stolu, to je događaj. 361 00:22:36,130 --> 00:22:38,330 >> A ako želite napraviti taj događaj po sebi, 362 00:22:38,330 --> 00:22:40,410 to je zapravo malo teško. 363 00:22:40,410 --> 00:22:44,880 Dakle, Apple je s obzirom da je čak i za vas tako da jednostavno možete izravno koristiti 364 00:22:44,880 --> 00:22:49,610 događaj učiniti nešto na svoju ruku. 365 00:22:49,610 --> 00:22:52,980 Protokoli su zapravo jako, jako često koristi 366 00:22:52,980 --> 00:22:58,320 u Objective C. dobro u Činjenica, svaki app 367 00:22:58,320 --> 00:23:00,870 ima nešto uhvaćen app delegata. 368 00:23:00,870 --> 00:23:06,330 Unutar nježna je sve Protokoli za učitavanja aplikacije. 369 00:23:06,330 --> 00:23:12,470 >> Recimo samo da je Događaj za aplikaciju učinio opterećenje. 370 00:23:12,470 --> 00:23:18,200 Dakle, što će se dogoditi nakon što ste stvorio app, nakon što otvorite aplikaciju, 371 00:23:18,200 --> 00:23:22,630 Nakon što zatvorite aplikaciju, ili nakon stavim iPhone na spavanje. 372 00:23:22,630 --> 00:23:27,480 To su svi događaji koje je Već je dao vama. 373 00:23:27,480 --> 00:23:34,730 I u početku unutar tih čestica Tu će biti provedba. 374 00:23:34,730 --> 00:23:39,750 Apple je upravo rekao da je tu funkciju će se dogoditi kada se neki događaj dogodi, 375 00:23:39,750 --> 00:23:44,380 ali ono što učiniti s tim Funkcija je potpuno na vama. 376 00:23:44,380 --> 00:23:49,290 >> Izaslanstvo je u osnovi govori razred 377 00:23:49,290 --> 00:23:53,060 koji bi trebali nositi ove protokole. 378 00:23:53,060 --> 00:23:55,340 To je malo zbunjujuće, ali to će biti 379 00:23:55,340 --> 00:23:59,380 mnogo jasnije kada radimo Na S kodova u akciji. 380 00:23:59,380 --> 00:24:04,760 Delegacija na protokol je zapravo vrlo robustan mehanizam u smislu 381 00:24:04,760 --> 00:24:08,160 da li mi delegaciju na određenu klasu, 382 00:24:08,160 --> 00:24:12,400 možemo biti može nositi sve vrste događaja 383 00:24:12,400 --> 00:24:17,040 korištenjem bilo koje vrste imamo, vrlo povoljno alat. 384 00:24:17,040 --> 00:24:21,530 >> Tako je jedan brzi primjer Izaslanstvo na protokolu 385 00:24:21,530 --> 00:24:24,120 će biti ono što sam upravo govorio. 386 00:24:24,120 --> 00:24:26,720 387 00:24:26,720 --> 00:24:30,890 Ovaj protokol je posebno pozvao tableview [nečujan] odaberite ulogu 388 00:24:30,890 --> 00:24:35,480 u [? Indeks?] [? prošlost. ?] Pa to događaj koji će biti uhvaćen kad vas 389 00:24:35,480 --> 00:24:39,710 zapravo dodirnite specifične stanica u vašem tableview, 390 00:24:39,710 --> 00:24:43,570 recimo samo da je u svom mail ili u aplikaciji Kontakti. 391 00:24:43,570 --> 00:24:48,180 >> Unutar funkcije postoji izvorno radi ništa. 392 00:24:48,180 --> 00:24:51,950 Funkcija ne ništa po defaultu. 393 00:24:51,950 --> 00:24:55,540 No, možete odrediti ono funkcija radi, 394 00:24:55,540 --> 00:24:59,610 s obzirom na ono što želite od vašeg app. 395 00:24:59,610 --> 00:25:01,610 Vrlo zgodan alat. 396 00:25:01,610 --> 00:25:06,840 A uz sve to se, rekao je, ja zapravo 397 00:25:06,840 --> 00:25:11,430 pokriti neke vrlo osnovne sintaksu i Temeljni koncept za Objective C 398 00:25:11,430 --> 00:25:15,860 programiranje, a mi možemo napraviti neke e kôd. 399 00:25:15,860 --> 00:25:17,980 Mnogo više uzbudljivo. 400 00:25:17,980 --> 00:25:21,070 Tako je broj je zapravo malo overwhelming 401 00:25:21,070 --> 00:25:23,330 kada ga otvorite po prvi put. 402 00:25:23,330 --> 00:25:26,640 >> Jedan brzi note, pa ako vas Želite raditi iOS razvoj, 403 00:25:26,640 --> 00:25:29,630 JA visoko preporučiti da imate Mac. 404 00:25:29,630 --> 00:25:33,930 Budući da radi iOS razvoj na Windows je jako, jako teško. 405 00:25:33,930 --> 00:25:37,560 To je izvedivo, ali to je stvarno teško. 406 00:25:37,560 --> 00:25:40,610 I svakako učiniti Ne želim koristiti g uređivanje. 407 00:25:40,610 --> 00:25:47,950 Tako je u kodu imamo nekoliko različitih područja. 408 00:25:47,950 --> 00:25:53,050 Kada prvi put otvorite je broj vidjet ćete područje plovidbe, 409 00:25:53,050 --> 00:25:57,470 koji u osnovi pokazuje sve datoteke koje je u svom trenutnom projektu. 410 00:25:57,470 --> 00:26:03,590 >> Imate Toolbar prostor, koji je je u osnovi upravljanje pogled, 411 00:26:03,590 --> 00:26:08,570 ili neki malo brzi Alati O S kôd sama. 412 00:26:08,570 --> 00:26:11,140 I to je stvarna urednik područje. 413 00:26:11,140 --> 00:26:15,900 Ovo područje je vrlo slična g uredi, ali mnogo bolje od g uredi. 414 00:26:15,900 --> 00:26:21,150 I u ovom pravom područje, nazvao program područje. 415 00:26:21,150 --> 00:26:27,170 Područje postaje jako zgodan kada što stvara sučelje ili navođenjem 416 00:26:27,170 --> 00:26:30,070 neke brze postavke za vašu aplikaciju. 417 00:26:30,070 --> 00:26:34,570 >> I konačna površina ispravljanje pogrešaka. 418 00:26:34,570 --> 00:26:37,970 Ovo područje sadrži konzolu. 419 00:26:37,970 --> 00:26:43,170 Dakle, kad god ti kažeš printf, ili nslog u našem slučaju, 420 00:26:43,170 --> 00:26:47,330 Svi rezultati su će se ispisati ovdje. 421 00:26:47,330 --> 00:26:48,260 U redu? 422 00:26:48,260 --> 00:26:52,090 Mislim da smo jako brzo može napraviti Primjer za iOS programiranje. 423 00:26:52,090 --> 00:26:54,220 I neka je zapravo otvaraju s šifru. 424 00:26:54,220 --> 00:26:57,210 425 00:26:57,210 --> 00:27:01,346 Dakle, svaki put kada se otvori s šifru, to je će se pojaviti nešto. 426 00:27:01,346 --> 00:27:03,220 To će vas pitati Što želite učiniti? 427 00:27:03,220 --> 00:27:06,830 Želite li pokrenuti nešto slučajna, dječje igralište, u osnovi 428 00:27:06,830 --> 00:27:11,250 možete jednostavno testirati kod bez zapravo počinio bilo app. 429 00:27:11,250 --> 00:27:13,020 >> Želite li stvoriti novi projekt? 430 00:27:13,020 --> 00:27:16,660 Ili želite nastaviti radi na postojećem projektu? 431 00:27:16,660 --> 00:27:20,270 U našem slučaju ćemo stvoriti novi projekt. 432 00:27:20,270 --> 00:27:22,980 Dakle, to je jako lijepo, S broj zapravo je već 433 00:27:22,980 --> 00:27:26,820 dati vam neke predloške za stvaranje objekata. 434 00:27:26,820 --> 00:27:32,680 Ako želite napraviti igru, s šifru zapravo ima predložak igra za vas, 435 00:27:32,680 --> 00:27:36,890 ima stranicu na temelju zahtjeva, Kartica aplikacija. 436 00:27:36,890 --> 00:27:39,280 U tom slučaju, idemo učiniti nešto vrlo jednostavno, 437 00:27:39,280 --> 00:27:43,230 a mi ćemo koristiti Jedan pogled na aplikacije. 438 00:27:43,230 --> 00:27:48,270 >> Nakon toga upravo ono što želite nazvati vaš proizvod, a što je vaše ime, 439 00:27:48,270 --> 00:27:52,760 koja je tvoja oznaka, te Koji jezik koji koristite. 440 00:27:52,760 --> 00:27:57,060 Ovdje ne želimo da se provjeriti pomoću osnovnih podataka. 441 00:27:57,060 --> 00:28:00,170 Temeljni podataka je u osnovi databasing iOS. 442 00:28:00,170 --> 00:28:05,360 Ako to ne učinite osnovnih podataka, s kod će se definirati 443 00:28:05,360 --> 00:28:07,710 puno složeniji nastava za vas. 444 00:28:07,710 --> 00:28:12,740 Dakle, da bi sve jednostavno, mi smo Samo će to učiniti bez osnovnih podataka 445 00:28:12,740 --> 00:28:15,290 upravo sada. 446 00:28:15,290 --> 00:28:18,030 >> Problem ćemo biti koristite that-- problema 447 00:28:18,030 --> 00:28:23,770 ćemo biti stvaranje je da smo zapravo žele uvesti Mario iz C 448 00:28:23,770 --> 00:28:25,437 na iOS app. 449 00:28:25,437 --> 00:28:26,645 Tako ćemo nazvati Mario iOS. 450 00:28:26,645 --> 00:28:31,230 451 00:28:31,230 --> 00:28:34,880 Naravno da odredite što vas Želite staviti u svoj projekt. 452 00:28:34,880 --> 00:28:37,870 I tamo idemo. 453 00:28:37,870 --> 00:28:41,390 >> Dakle, to je malo ogroman, a to je zapravo 454 00:28:41,390 --> 00:28:43,540 ono što smo upravo vidjeli na slajdovima. 455 00:28:43,540 --> 00:28:49,710 A prvo područje vidimo sada je u osnovi oblik projekt. 456 00:28:49,710 --> 00:28:53,390 Dakle, sve što želite učiniti Projekt, na kojoj vrsti uređaja, 457 00:28:53,390 --> 00:28:58,810 neka je samo reći kakav uređaj Želite li svoj app da se pojavi na? 458 00:28:58,810 --> 00:29:01,280 Je li iPhone, iPad ili univerzalna? 459 00:29:01,280 --> 00:29:04,660 Dakle uređaja orijentacije, sve ove stvari. 460 00:29:04,660 --> 00:29:08,490 Nije jako važno, ali bi mogao biti, ali to 461 00:29:08,490 --> 00:29:11,050 je mjesto gdje ste postavili Vaš projekt ako stvarno 462 00:29:11,050 --> 00:29:15,180 želimo rasporediti na Apple dućan. 463 00:29:15,180 --> 00:29:20,420 >> U redu, pogledajmo nešto što je u našem kodu. 464 00:29:20,420 --> 00:29:22,360 Idemo kroz datoteke navigator. 465 00:29:22,360 --> 00:29:30,140 A to su sve datoteke koje su već došao s predloška, ​​vrlo lijepo. 466 00:29:30,140 --> 00:29:35,980 Dakle, kad smo kliknite na jednu od njih to je ono što izgleda. 467 00:29:35,980 --> 00:29:38,530 Vrlo slična g urediti. 468 00:29:38,530 --> 00:29:41,340 No, što se može vidjeti da sintakse vjerojatno 469 00:29:41,340 --> 00:29:42,780 malo ljepše. 470 00:29:42,780 --> 00:29:45,610 I to je zapravo mnogo više moćniji od g uređivanje. 471 00:29:45,610 --> 00:29:49,970 A možete automatsko dopunjavanje puno stvari za vas, 472 00:29:49,970 --> 00:29:52,370 kao što ćemo vidjeti vrlo brzo. 473 00:29:52,370 --> 00:29:54,100 >> Ajmo otvoriti za ispravljanje pogrešaka područje, kao dobro. 474 00:29:54,100 --> 00:30:02,790 475 00:30:02,790 --> 00:30:07,000 U redu, što možemo vidjeti, konzola je upravo ovdje. 476 00:30:07,000 --> 00:30:13,840 To je ono što ćemo vidjeti u kojoj ti si u printf ili nsloging nešto. 477 00:30:13,840 --> 00:30:17,155 Dakle, bez dodatnih teškoća, neka je zapravo sastaviti aplikaciju i vidjeti što će se dogoditi. 478 00:30:17,155 --> 00:30:20,000 479 00:30:20,000 --> 00:30:23,410 Jedna bitna značajka za a kod, je da je broj 480 00:30:23,410 --> 00:30:25,850 dolazi s iPhone simulator. 481 00:30:25,850 --> 00:30:29,820 Dakle, ne morate imati iPhone isprobati svoj projekt, 482 00:30:29,820 --> 00:30:34,440 a kod može simulirati da je za ti, kao što možemo vidjeti sada. 483 00:30:34,440 --> 00:30:36,406 >> To je prilično lijepo. 484 00:30:36,406 --> 00:30:38,640 To je uzimajući malo malo vremena da sastavi 485 00:30:38,640 --> 00:30:43,040 a zapravo smo prazna zahtjev, 486 00:30:43,040 --> 00:30:44,640 koji zapravo ne radi ništa. 487 00:30:44,640 --> 00:30:46,175 Ali to izrađuje. 488 00:30:46,175 --> 00:30:47,380 To je prilično strašan. 489 00:30:47,380 --> 00:30:50,200 To je puno bolje nego C, ha? 490 00:30:50,200 --> 00:30:52,130 U redu, onda neka je pokušajte dodati nešto. 491 00:30:52,130 --> 00:30:56,050 492 00:30:56,050 --> 00:31:02,650 Jedna datoteka koja je malo čudno ovdje se zove storyboard. 493 00:31:02,650 --> 00:31:08,020 To je zapravo velika, strašan značajka za e koda. 494 00:31:08,020 --> 00:31:14,170 Budući da je u kodu, možete zaista drag i ispustite elemente na sučelju 495 00:31:14,170 --> 00:31:17,430 a to će se izravno prikazati. 496 00:31:17,430 --> 00:31:18,055 Pokušajmo to. 497 00:31:18,055 --> 00:31:21,230 498 00:31:21,230 --> 00:31:27,236 >> Mi drop naljepnice ovdje, "Hello World !!!" 499 00:31:27,236 --> 00:31:29,740 Možemo centar koji. 500 00:31:29,740 --> 00:31:30,970 Pretty cool. 501 00:31:30,970 --> 00:31:33,915 Sada ćemo pokrenuti ovo zaustavljanje simulacije. 502 00:31:33,915 --> 00:31:36,940 503 00:31:36,940 --> 00:31:38,700 Ovdje imamo "Hello World !!!" 504 00:31:38,700 --> 00:31:40,810 Nismo ni to bilo kodiranje još. 505 00:31:40,810 --> 00:31:42,750 Što ispitati kritički se događa? 506 00:31:42,750 --> 00:31:45,880 To je koliko je moćan Sučelje Graditelj može biti. 507 00:31:45,880 --> 00:31:48,030 Netko je čak rekao da je Vjerojatno možete jednostavno 508 00:31:48,030 --> 00:31:52,800 popuniti aplikaciju bez pisanja Vjerojatno tisuću linija koda 509 00:31:52,800 --> 00:31:54,820 Samo pomoću sučelja Builder. 510 00:31:54,820 --> 00:31:59,680 Ali to vjerojatno ne Najbolji način da to učinite. 511 00:31:59,680 --> 00:32:01,670 >> Sada ćemo zapravo dobiti do kodiranja. 512 00:32:01,670 --> 00:32:04,860 513 00:32:04,860 --> 00:32:08,330 Tako strukturi za datoteke je zapravo jako zanimljivo 514 00:32:08,330 --> 00:32:15,610 jer, kao što se može vidjeti, postoje Nije glavna funkcija nigdje. 515 00:32:15,610 --> 00:32:17,466 Vidi? 516 00:32:17,466 --> 00:32:19,340 Kao što smo već napomenuli, možete vidjeti da je to 517 00:32:19,340 --> 00:32:22,830 je file provedba za određenu klasu. 518 00:32:22,830 --> 00:32:25,690 No, ne postoji glavni nigdje. 519 00:32:25,690 --> 00:32:27,490 Dakle, gdje je glavni? 520 00:32:27,490 --> 00:32:31,970 Zapravo, glavna je, ali Glavni je zapravo skriveno od tebe. 521 00:32:31,970 --> 00:32:34,560 Glavni je ovdje. 522 00:32:34,560 --> 00:32:37,120 To izgleda poznato. 523 00:32:37,120 --> 00:32:41,000 >> Tako je u osnovi ono što iOS radi u glavnom 524 00:32:41,000 --> 00:32:43,540 je da kad god je glavna zove, koja je u osnovi 525 00:32:43,540 --> 00:32:49,000 kad god app je pogubljen, on stvara objekt nazvan AppDelegate. 526 00:32:49,000 --> 00:32:52,980 527 00:32:52,980 --> 00:32:57,350 Kao što sam spomenuo prije, cijela Aplikacija je zapravo cilj sam po sebi. 528 00:32:57,350 --> 00:33:02,270 Tako se na taj način, u osnovi iOS app govori prevodilac 529 00:33:02,270 --> 00:33:05,540 to je u redu, ja ću stvoriti proizvod pod nazivom AppDelegate, 530 00:33:05,540 --> 00:33:07,620 a to će biti moj app. 531 00:33:07,620 --> 00:33:09,640 Dakle, morate ići kroz taj AppDelegate 532 00:33:09,640 --> 00:33:12,040 i vidjeti što to čovjek radi. 533 00:33:12,040 --> 00:33:14,850 Moj posao je učinio za mene. 534 00:33:14,850 --> 00:33:22,070 >> I u AppDelegate možete vidjeti da postoje neke jako čudne funkcije, 535 00:33:22,070 --> 00:33:25,290 Pa zapravo metoda, koja Apple je već vam dao. 536 00:33:25,290 --> 00:33:27,464 Što je ovo? 537 00:33:27,464 --> 00:33:31,010 To su zapravo samo protokoli da sam govorio. 538 00:33:31,010 --> 00:33:35,670 Dakle, to su događaji koji Apple vam je dao za početak. 539 00:33:35,670 --> 00:33:38,050 Ne postoji ništa u nekim funkcija upravo sada, 540 00:33:38,050 --> 00:33:40,820 ali ako želimo inicijalizirati za našu aplikaciju nešto 541 00:33:40,820 --> 00:33:46,140 Prije nego uzimajući u prikaz bilo pogled, činimo to ovdje. 542 00:33:46,140 --> 00:33:51,150 >> Vi samo možete pročitati ime i valjda Događaj je zapravo jako jasna. 543 00:33:51,150 --> 00:33:54,160 544 00:33:54,160 --> 00:33:58,350 Tako je sada glavna je stvorio objekt za AppDelegate. 545 00:33:58,350 --> 00:34:05,220 A što AppDelegate će učiniti se zapravo i krije od tebe. 546 00:34:05,220 --> 00:34:09,250 AppDelegate će početi učitavanja ViewController zaliha. 547 00:34:09,250 --> 00:34:13,170 Tako je u osnovi će početi učitava sve stavove koje imate 548 00:34:13,170 --> 00:34:17,500 i samo uzvratiti pogled temelji na hijerarhiji. 549 00:34:17,500 --> 00:34:21,280 >> Dakle, u ovom slučaju imamo samo jedan pogled, što je ovdje. 550 00:34:21,280 --> 00:34:25,060 Dakle, to je samo prikaz koja će se zvati. 551 00:34:25,060 --> 00:34:28,159 ViewController logika je upravo ovdje. 552 00:34:28,159 --> 00:34:32,159 To je kod koji zapravo kontrolira pogledu smo upravo vidjeli. 553 00:34:32,159 --> 00:34:33,679 U redu, neka je učiniti nešto ovdje. 554 00:34:33,679 --> 00:34:44,030 555 00:34:44,030 --> 00:34:50,560 Dakle viewDidLoad zvuči kao događaj, kada je u stvari to je i delegat, 556 00:34:50,560 --> 00:34:52,500 to je protokol. 557 00:34:52,500 --> 00:34:56,350 >> Dakle, bez obzira na pogled se učitava, sve u funkciji 558 00:34:56,350 --> 00:34:57,920 će se zvati. 559 00:34:57,920 --> 00:35:02,840 U tom slučaju bismo trebali vidjeti "Hello Tianyu! "Ako smo pokrenuti program. 560 00:35:02,840 --> 00:35:09,820 561 00:35:09,820 --> 00:35:12,842 To je uzimajući malo spor sastavljanju storyboard datoteka. 562 00:35:12,842 --> 00:35:15,440 563 00:35:15,440 --> 00:35:18,190 Pa zapravo, vidimo izlaz za njega. 564 00:35:18,190 --> 00:35:20,720 To je prilično cool. 565 00:35:20,720 --> 00:35:22,000 Sada ćemo zapravo učiniti Mario. 566 00:35:22,000 --> 00:35:25,400 567 00:35:25,400 --> 00:35:27,625 Idem definirati djeluju vrlo brzo. 568 00:35:27,625 --> 00:35:31,510 569 00:35:31,510 --> 00:35:54,245 marioWithLevels: Rezultati (int) razini. 570 00:35:54,245 --> 00:36:01,120 571 00:36:01,120 --> 00:36:06,410 >> U redu, to je zapravo super obilježje s kodom auto završetka. 572 00:36:06,410 --> 00:36:10,680 Dakle, kada ste napisali za te upisati ući, to je već odustala od predloška 573 00:36:10,680 --> 00:36:12,325 za tebe, što je prilično cool. 574 00:36:12,325 --> 00:36:50,480 575 00:36:50,480 --> 00:36:52,850 To bi trebalo izgledati jako poznato vama. 576 00:36:52,850 --> 00:36:55,940 577 00:36:55,940 --> 00:36:59,680 Žao nam je, to je moja krivnja. 578 00:36:59,680 --> 00:37:15,790 579 00:37:15,790 --> 00:37:18,120 U redu, super. 580 00:37:18,120 --> 00:37:22,710 To logika bi trebala izgledati jako poznato na vama, osobito samo Mario. 581 00:37:22,710 --> 00:37:26,140 >> No, sada će ispisati na konzola svaki put, 582 00:37:26,140 --> 00:37:29,280 jer želimo da se nekako zadržati Staza je ono što se ispisuje. 583 00:37:29,280 --> 00:37:31,810 Ćemo iskoristiti Rezultat nekako kasnije, 584 00:37:31,810 --> 00:37:35,010 za prikaz ispis iz dovesti do korisnika. 585 00:37:35,010 --> 00:37:37,730 Dakle, umjesto da smo upravo nslogging sve, 586 00:37:37,730 --> 00:37:42,410 koji smo pohranu sve u rezultat funkcija poziva, 587 00:37:42,410 --> 00:37:44,070 ali logika je točno isto. 588 00:37:44,070 --> 00:37:48,030 589 00:37:48,030 --> 00:37:51,800 Nakon što smo ga mi završiti Samo ispisati svoje rezultate. 590 00:37:51,800 --> 00:37:59,330 591 00:37:59,330 --> 00:38:04,970 >> I ovdje umjesto ispisa iz mog Ime, ćemo pozvati funkciju. 592 00:38:04,970 --> 00:38:15,340 593 00:38:15,340 --> 00:38:18,090 Idemo vidjeti što se događa. 594 00:38:18,090 --> 00:38:21,240 Ups, očito. 595 00:38:21,240 --> 00:38:24,320 Imamo lijep Malo piramida ovdje. 596 00:38:24,320 --> 00:38:28,370 To je u osnovi C, mi smo samo manipulaciju, gdje vas poziva funkciju 597 00:38:28,370 --> 00:38:30,010 i kako funkcioniraju izgledati. 598 00:38:30,010 --> 00:38:31,560 Nema ništa drugačije. 599 00:38:31,560 --> 00:38:34,040 No, to je zapravo Nije jako uzbudljivo ovdje, 600 00:38:34,040 --> 00:38:37,500 jer mi ne vidimo ništa od iPhone app. 601 00:38:37,500 --> 00:38:42,120 >> Dakle, ako ste zapravo imaju iPhone app-- Ako ste zapravo Mario iOS pravo 602 00:38:42,120 --> 00:38:45,080 Sada, ne ide vidjeti sve što 603 00:38:45,080 --> 00:38:49,450 ima bilo kakve veze s Mario, jer svi ti izlazi u konzoli 604 00:38:49,450 --> 00:38:51,620 su skriveni od korisnika. 605 00:38:51,620 --> 00:38:53,850 To je ono što vidite, što je "Hello World !!!" 606 00:38:53,850 --> 00:38:55,720 Nije dobro. 607 00:38:55,720 --> 00:39:03,090 Sada ćemo pokušati napraviti korisnički vidjeti što točno smo ispis. 608 00:39:03,090 --> 00:39:06,000 Dakle, mi ne trebaju označiti više. 609 00:39:06,000 --> 00:39:09,800 Pokušajmo shvatiti nešto drugo što bi moglo biti korisno. 610 00:39:09,800 --> 00:39:12,140 >> Tu je zapravo jedna element koji se zove 611 00:39:12,140 --> 00:39:16,460 riječi, koje bi mogle biti vrlo korisno za nas. 612 00:39:16,460 --> 00:39:19,880 To u osnovi prikazuje regiju teksta koji se može uređivati. 613 00:39:19,880 --> 00:39:22,320 Tako da izgleda jako korisno. 614 00:39:22,320 --> 00:39:23,810 Sada ga povucite i ispustite ga. 615 00:39:23,810 --> 00:39:26,880 616 00:39:26,880 --> 00:39:32,670 Wow, imamo prikaz SMS po našem mišljenju, jako sviđa. 617 00:39:32,670 --> 00:39:35,430 To je malo prevelika. 618 00:39:35,430 --> 00:39:38,150 Učinimo to manji. 619 00:39:38,150 --> 00:39:40,290 Stavite ga u sredini. 620 00:39:40,290 --> 00:39:43,760 Neka bude manji, kao dobro. 621 00:39:43,760 --> 00:39:50,110 >> Sada imamo pogled na tekst, koji smo mogli se koristiti za prikaz naše konačni rezultat. 622 00:39:50,110 --> 00:39:52,860 No, sada je definitivno ne ide na posao 623 00:39:52,860 --> 00:39:56,970 jer postoji no-- ViewController smo upravo 624 00:39:56,970 --> 00:40:03,010 definira ne zna da Tu je pogled na tekst vani. 625 00:40:03,010 --> 00:40:06,550 Zato moramo nekako povezati u pogledu teksta smo upravo 626 00:40:06,550 --> 00:40:11,660 stvorena u razredu da već je došao s nama. 627 00:40:11,660 --> 00:40:14,860 >> Način na koji to je zapravo jako čarobno. 628 00:40:14,860 --> 00:40:18,190 Dakle, otvaraju storyboard. 629 00:40:18,190 --> 00:40:22,220 Postoji posebna [nečujan] zove [? Pomoćnik?] [nečujan]. 630 00:40:22,220 --> 00:40:25,190 Kada kliknete da, to je će otvoriti dvije datoteke. 631 00:40:25,190 --> 00:40:29,425 Jedna klasa je i drugi je odgovarajuća pogled na njega. 632 00:40:29,425 --> 00:40:31,920 To je vrlo, vrlo korisno. 633 00:40:31,920 --> 00:40:35,950 I neka je samo prolazi kroz .h datoteci. 634 00:40:35,950 --> 00:40:39,110 Kontrola, to je [nečujan] logika. 635 00:40:39,110 --> 00:40:47,280 Pritisnite Kontrola i drag Tekst Pogled u izjavi. 636 00:40:47,280 --> 00:40:48,780 Ćemo nazvati outputView. 637 00:40:48,780 --> 00:40:52,189 638 00:40:52,189 --> 00:40:53,670 Povezivanje. 639 00:40:53,670 --> 00:40:59,420 Dakle, ovdje smo proglasili novi nekretnina za naše ViewController klase. 640 00:40:59,420 --> 00:41:02,300 I novi objekat je samo prikaz teksta 641 00:41:02,300 --> 00:41:05,000 smo stvorili u zgradi sučelja. 642 00:41:05,000 --> 00:41:07,990 Dakle, na taj način smo mogli pristup svim podacima 643 00:41:07,990 --> 00:41:13,630 i manipulirati sve što je unutra Pogled na izlaz, što je strašan. 644 00:41:13,630 --> 00:41:19,260 >> Dakle, u našem stvarnom koda, neka je učiniti nešto s njom. 645 00:41:19,260 --> 00:41:23,810 Dakle, ovaj put, kada smo kao ispis iz konačnog rezultata za Mario, 646 00:41:23,810 --> 00:41:28,020 mi smo u ne prijave ništa. 647 00:41:28,020 --> 00:41:30,080 Mislim da bi mogao zadržati Izjava prijavom. 648 00:41:30,080 --> 00:41:41,490 Osim toga, mi poslati očitanja smo upravo 649 00:41:41,490 --> 00:41:47,622 stvorena u pogledu izlaz, koji je UI textview smo upravo stvorili. 650 00:41:47,622 --> 00:41:48,746 Sada ćemo vidjeti što će se dogoditi. 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 Imamo piramide u app sada. 654 00:41:59,130 --> 00:42:06,720 >> Tako korisnik može vidjeti naš izlaz, jer smo kopirati izlaz iz našeg koda 655 00:42:06,720 --> 00:42:08,045 našem sučelje. 656 00:42:08,045 --> 00:42:10,950 To je prilično dobro. 657 00:42:10,950 --> 00:42:14,990 To je zapravo nije tako uzbudljivo jer smo can-- 658 00:42:14,990 --> 00:42:18,250 Sve app radi se prikazuje piramidu za tebe, 659 00:42:18,250 --> 00:42:20,520 i postoji ništa što možete učiniti o tome. 660 00:42:20,520 --> 00:42:22,330 To nije osobito uzbudljivo. 661 00:42:22,330 --> 00:42:27,840 Dakle, sada ćemo napraviti gumb koji će jasno poglede. 662 00:42:27,840 --> 00:42:30,290 Čini se da je gumb će biti od pomoći. 663 00:42:30,290 --> 00:42:33,270 Povucite i ispustite. 664 00:42:33,270 --> 00:42:33,900 Jedan gumb. 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 >> Dakle, kad smo kliknite lijevu gumb, pogled treba jasno. 669 00:42:52,052 --> 00:42:53,635 Tu bi trebalo biti ništa na zaslonu. 670 00:42:53,635 --> 00:42:56,970 A kad smo kliknite desni gumb, Mario, 671 00:42:56,970 --> 00:42:59,740 Pogled će se pojaviti ponovno. 672 00:42:59,740 --> 00:43:05,510 Dakle, na taj način također radimo Magic stvari, kontrola i drag 673 00:43:05,510 --> 00:43:08,740 u klasi deklaracije u pomoćnica director-- 674 00:43:08,740 --> 00:43:11,600 u pomoćnica pregledniku. 675 00:43:11,600 --> 00:43:18,620 U ovom slučaju smo se određuje da bi to trebalo biti akcija. 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 >> Dakle, ovdje smo već napravili Akcija pod nazivom clearMario, 679 00:43:26,830 --> 00:43:34,210 što je metoda koja će se zvati kad god smo pritisnuti tipku jasna. 680 00:43:34,210 --> 00:43:41,030 Dakle, u našem zapravo koda, neka je samo staviti izlazni tekst i prikaz izlaza 681 00:43:41,030 --> 00:43:44,620 u ništa, i na taj način ona će se pojaviti da bude jasno. 682 00:43:44,620 --> 00:43:47,500 683 00:43:47,500 --> 00:43:57,230 Osim toga, neka je stvoriti Druga metoda naziva runMario. 684 00:43:57,230 --> 00:44:00,140 685 00:44:00,140 --> 00:44:03,436 Oh sorry, da ne bi trebao biti vlasništvo. 686 00:44:03,436 --> 00:44:12,107 687 00:44:12,107 --> 00:44:13,940 U redu, to bi trebalo se djelovanje kao dobro. 688 00:44:13,940 --> 00:44:25,780 689 00:44:25,780 --> 00:44:34,740 >> A kad je to funkcija zove, samo smo pokrenuti Mario deset. 690 00:44:34,740 --> 00:44:37,620 691 00:44:37,620 --> 00:44:39,780 Nadam se da će biti u redu. 692 00:44:39,780 --> 00:44:41,120 Da li to prevesti? 693 00:44:41,120 --> 00:44:43,920 Da. 694 00:44:43,920 --> 00:44:45,090 Sad imamo pogled. 695 00:44:45,090 --> 00:44:46,560 Imamo izlaz. 696 00:44:46,560 --> 00:44:50,040 I neka je samo vidjeti što se događa. 697 00:44:50,040 --> 00:44:52,590 To je otišao. 698 00:44:52,590 --> 00:44:54,500 To je opet. 699 00:44:54,500 --> 00:44:57,620 Dakle, ovdje smo naveli kakvu funkciju 700 00:44:57,620 --> 00:45:00,400 će se zvati kada ćemo upisati nešto, 701 00:45:00,400 --> 00:45:03,160 kad smo pritisnuti određenu tipku. 702 00:45:03,160 --> 00:45:07,890 To je u osnovi meta akcije shema 703 00:45:07,890 --> 00:45:12,510 za događaj pogon Programiranje u C Objective 704 00:45:12,510 --> 00:45:15,030 >> Osim toga, to nije vrlo uzbudljivo 705 00:45:15,030 --> 00:45:19,810 jer mi zapravo ne može mijenjati Kako visoka piramida će biti, 706 00:45:19,810 --> 00:45:23,640 tako da smo vjerojatno želite nekako dobiti podatke od korisnika 707 00:45:23,640 --> 00:45:29,490 i promijeniti visinu Piramida na temelju onoga što izlaz. 708 00:45:29,490 --> 00:45:32,900 Tako ćemo učiniti. 709 00:45:32,900 --> 00:45:38,720 Dakle, ovaj put, kada mi zovemo runMario, ne samo zvati Mario izravno. 710 00:45:38,720 --> 00:46:06,280 711 00:46:06,280 --> 00:46:07,000 Naslov ovog jednog je. 712 00:46:07,000 --> 00:46:22,180 713 00:46:22,180 --> 00:46:23,700 >> Delegat. 714 00:46:23,700 --> 00:46:25,160 To je vrlo zanimljivo. 715 00:46:25,160 --> 00:46:26,720 Što je delegat? 716 00:46:26,720 --> 00:46:28,950 Ja ću staviti sebe ovdje. 717 00:46:28,950 --> 00:46:31,038 A mi ćemo vidjeti što to znači kasnije. 718 00:46:31,038 --> 00:46:46,380 719 00:46:46,380 --> 00:46:51,120 Dakle, ovdje smo zapravo stvorili specifičan slučaj naziva UI upozorenja 720 00:46:51,120 --> 00:46:52,210 Pogled. 721 00:46:52,210 --> 00:46:54,440 Pogled UI upozorenje u osnovi ono što će 722 00:46:54,440 --> 00:46:58,940 vidim svaki put nešto cura i vas pita za ulaz, 723 00:46:58,940 --> 00:47:03,080 kao što će se dogoditi kada pokušavate kupiti nešto na App Store. 724 00:47:03,080 --> 00:47:14,250 >> Osim toga, nakon što stvoriti ga, mi samo pokazati upozorenja. 725 00:47:14,250 --> 00:47:20,090 726 00:47:20,090 --> 00:47:22,568 U redu, neka je samo brzo test će to raditi ili ne. 727 00:47:22,568 --> 00:47:31,105 728 00:47:31,105 --> 00:47:32,140 To je vrlo cool. 729 00:47:32,140 --> 00:47:55,370 730 00:47:55,370 --> 00:47:59,120 Sada zapravo stvoriti unos za UI upozorenja. 731 00:47:59,120 --> 00:48:01,170 Ovo je način kako ćemo to učiniti. 732 00:48:01,170 --> 00:48:07,490 I mi bi trebali imati ulaz Pogled na oprezu. 733 00:48:07,490 --> 00:48:09,020 Vrlo kul. 734 00:48:09,020 --> 00:48:12,330 Recimo samo 10. 735 00:48:12,330 --> 00:48:14,900 >> To ne radi ništa dobro sada, jer poziv je zapravo 736 00:48:14,900 --> 00:48:17,770 nisu promijenili za izvršenje Mario. 737 00:48:17,770 --> 00:48:23,470 Dakle, to je postalo malo malo čudno, jer kad god 738 00:48:23,470 --> 00:48:30,790 pritisnemo tipku prema dolje, kad god pritisnite gumb u pogledu upozorenja, 739 00:48:30,790 --> 00:48:35,560 nešto treba dogoditi, ali to se ne događa. 740 00:48:35,560 --> 00:48:37,220 Kako smo uhvatiti taj? 741 00:48:37,220 --> 00:48:41,280 Kako znamo da je korisnik odbacio je pogled upozorenja 742 00:48:41,280 --> 00:48:45,630 i već upisali broj, jer je sada ništa se zapravo događa. 743 00:48:45,630 --> 00:48:50,450 >> Pa, možda ste pogodili to pravo, izaslanstva. 744 00:48:50,450 --> 00:48:55,440 Dakle, uz sve ove izjave, 745 00:48:55,440 --> 00:49:03,190 moramo dodati novi izaslanstvo u to se zove UI pogled upozorenja delegata. 746 00:49:03,190 --> 00:49:06,440 Tako da je svaki pojedini Interakcija ili događaj 747 00:49:06,440 --> 00:49:10,190 da ćemo imati s pogledom UI upozorenja 748 00:49:10,190 --> 00:49:14,100 će biti obrađene naš razred, kao dobro. 749 00:49:14,100 --> 00:49:26,297 >> Dakle, osim toga, bit će Dojava gumb View Kliknite na indeksu. 750 00:49:26,297 --> 00:49:34,260 751 00:49:34,260 --> 00:49:37,730 To je postignut. 752 00:49:37,730 --> 00:49:42,020 Dakle, u tom slučaju imamo already-- pa imamo 753 00:49:42,020 --> 00:49:46,210 doznao je protokol koji će nositi slučajevima kada 754 00:49:46,210 --> 00:49:51,320 mi kliknite gumb Gotovo na pogled upozorenja. 755 00:49:51,320 --> 00:49:55,976 Dakle, svaki put smo odbaciti Pogled na oprezu, to bi se trebalo dogoditi. 756 00:49:55,976 --> 00:49:57,350 Dopustite mi da ga testirati vrlo brzo. 757 00:49:57,350 --> 00:50:16,220 758 00:50:16,220 --> 00:50:19,300 Pa zapravo, došli smo do ovdje. 759 00:50:19,300 --> 00:50:22,210 >> Pa evo, što nećemo zapravo dobili je zapravo 760 00:50:22,210 --> 00:50:43,120 dobili the-- Tako želimo izaći Tekst koji smo prethodno 761 00:50:43,120 --> 00:50:45,350 ušao u pogledu upozorenja. 762 00:50:45,350 --> 00:50:48,505 I na temelju teksta, mi smo će prikazati Mario. 763 00:50:48,505 --> 00:50:52,336 764 00:50:52,336 --> 00:50:55,480 To je vrlo brzo se ispostavilo Ako je to stvarno radi ili ne. 765 00:50:55,480 --> 00:50:59,476 Dakle, u tom slučaju, ako se ulaz, recimo, 10, trebamo vidjeti 10. 766 00:50:59,476 --> 00:51:02,740 767 00:51:02,740 --> 00:51:05,210 >> Vrlo dobar, mi smo ovdje broj. 768 00:51:05,210 --> 00:51:06,470 To je prilično dobro. 769 00:51:06,470 --> 00:51:16,840 Sada posljednji korak će be-- Pa Posljednji korak moramo učiniti upravo sada 770 00:51:16,840 --> 00:51:21,100 je samo nazvati Mario s razini temelji se na ulazu 771 00:51:21,100 --> 00:51:23,270 da smo stavili u pogledu upozorenja. 772 00:51:23,270 --> 00:51:26,920 Dakle, moramo pretvoriti ovaj niz u iOS. 773 00:51:26,920 --> 00:51:33,820 774 00:51:33,820 --> 00:51:35,496 Statički overflow je vrlo strašan. 775 00:51:35,496 --> 00:51:44,930 776 00:51:44,930 --> 00:51:51,182 A onda smo jednostavno nazvati sebe marioWithLevels vrijednost. 777 00:51:51,182 --> 00:51:54,550 778 00:51:54,550 --> 00:51:56,284 Da vidimo hoće da zapravo rade ili ne. 779 00:51:56,284 --> 00:51:59,070 780 00:51:59,070 --> 00:52:01,550 >> Već si dao piramidu. 781 00:52:01,550 --> 00:52:04,785 Idemo pokušati promijeniti visinu. 782 00:52:04,785 --> 00:52:06,530 To zapravo radi. 783 00:52:06,530 --> 00:52:07,610 To je prilično cool. 784 00:52:07,610 --> 00:52:10,420 Tako da se sada možete jednostavno ulazna bilo koja vrijednost koju želite. 785 00:52:10,420 --> 00:52:12,440 Recimo samo četiri. 786 00:52:12,440 --> 00:52:14,260 To je prilično strašan. 787 00:52:14,260 --> 00:52:17,090 Dakle, to je u osnovi stvarno brzo primjer 788 00:52:17,090 --> 00:52:23,170 Upute za izradu projekta u kodu i kako se jako brzo žice gore 789 00:52:23,170 --> 00:52:26,220 neki stvarno jednostavne događaje i funkcije. 790 00:52:26,220 --> 00:52:28,840 >> Dakle, izvor ide da se stavi na internetu kasnije. 791 00:52:28,840 --> 00:52:33,400 Dakle, ako ste zainteresirani U tome iOS Mario radi, 792 00:52:33,400 --> 00:52:38,360 Ja ću staviti isti Projekti na web stranici CS50 kasnije. 793 00:52:38,360 --> 00:52:41,260 Mi zapravo smo učinili s ljeto, i prije nego što smo završili 794 00:52:41,260 --> 00:52:45,190 Samo želim vam ukazati dečki neki stvarno strašan sredstva koja 795 00:52:45,190 --> 00:52:47,550 su dostupni na internetu. 796 00:52:47,550 --> 00:52:52,270 >> Očito Apple dokumentacija će biti vrlo korisno. 797 00:52:52,270 --> 00:52:57,630 No, osim toga, ja pogotovo Preporučujemo četiri izvora, kod školske, 798 00:52:57,630 --> 00:53:02,120 Tree House, AppCoda i WWDC videa. 799 00:53:02,120 --> 00:53:07,270 Kod škola i drvo Kuća se Dva online edukaciji web stranice, 800 00:53:07,270 --> 00:53:10,210 koji je posebno usredotočiti o programskog inženjerstva. 801 00:53:10,210 --> 00:53:16,930 Pogotovo za kodova školu, oni imaju jako dobar tutorial na iOS. 802 00:53:16,930 --> 00:53:19,550 >> To je stvarno brzo primjer za to. 803 00:53:19,550 --> 00:53:22,980 Oni su zapravo stvorili stvarno cute-- pogledaj onu malu slatka iPhone 804 00:53:22,980 --> 00:53:24,920 dude tamo, to je prilično strašan. 805 00:53:24,920 --> 00:53:31,010 I način na koji oni objašnjavaju cilj C sintaksa je savršeno jasno. 806 00:53:31,010 --> 00:53:32,230 Tree kuća je ista. 807 00:53:32,230 --> 00:53:34,660 I AppCoda je forum. 808 00:53:34,660 --> 00:53:38,130 To je zapravo blog koji je trčanje je jako iskusan Objective C 809 00:53:38,130 --> 00:53:39,120 programer. 810 00:53:39,120 --> 00:53:43,950 I svi ti tutoriali u AppCoda su prilično kratak i jednostavan za implementaciju, 811 00:53:43,950 --> 00:53:45,390 Preporuča. 812 00:53:45,390 --> 00:53:47,700 >> A ako ste programer, svakako ići provjeriti 813 00:53:47,700 --> 00:53:55,660 Kako se WWDC video u kojem možete naučiti o najnovijim iOS programiranje 814 00:53:55,660 --> 00:53:58,250 tehnike, API i knjižnicama. 815 00:53:58,250 --> 00:54:02,850 Dakle, to je prilično puno to za seminar. 816 00:54:02,850 --> 00:54:03,820 Hvala vam toliko. 817 00:54:03,820 --> 00:54:08,040 I nadam se da se zabavite stvaranje vlastite iOS. 818 00:54:08,040 --> 00:54:09,302