1 00:00:00,000 --> 00:00:11,420 2 00:00:11,420 --> 00:00:13,590 >> Tianyu LIU: Hej, kako je to se dogaja vsem? 3 00:00:13,590 --> 00:00:20,250 In to je iOS App programiranje objektivne c seminarja. 4 00:00:20,250 --> 00:00:21,520 In moje ime je Tianyu Liu. 5 00:00:21,520 --> 00:00:26,114 Sem Lowell junior prav zdaj, usmeriti v računalništvu. 6 00:00:26,114 --> 00:00:28,030 Torej, v tem seminarju sem bo naučil fantje 7 00:00:28,030 --> 00:00:30,770 malo o tem, kako narediti aplikacijo. 8 00:00:30,770 --> 00:00:33,030 Bravo, razburjaj se za to. 9 00:00:33,030 --> 00:00:36,790 >> Torej, preden se sploh začnejo potapljanje v dejanski programsko strani 10 00:00:36,790 --> 00:00:41,840 Dovolite samo res hitro govoriti o Zato boste morda želeli zgraditi iOS aplikacijo? 11 00:00:41,840 --> 00:00:43,940 Zakaj je iOS tako super? 12 00:00:43,940 --> 00:00:47,250 Torej je prvi problem, prvi stvar, ki je precej super za nas, 13 00:00:47,250 --> 00:00:51,190 predvsem kot CS50 študent, je, da je iOS 14 00:00:51,190 --> 00:00:55,860 uporablja Cilj C. No, tam je nov jezik imenovan Swift, 15 00:00:55,860 --> 00:00:58,260 vendar mi ne bo uporabiti, da v tem seminarju. 16 00:00:58,260 --> 00:01:01,540 Če ste zainteresirani za Swift, tam je neodvisna seminar o tem. 17 00:01:01,540 --> 00:01:05,590 Vendar Cilj C je v bistvu nadgradnja C. Pomen 18 00:01:05,590 --> 00:01:10,230 da je vse, kar lahko uporabite v C lahko se prevede v Cilju C 19 00:01:10,230 --> 00:01:11,630 zelo enostavno. 20 00:01:11,630 --> 00:01:15,730 >> Kot ste lahko videli pozneje, da je res obstaja nekaj zelo osnovno sintakso, so 21 00:01:15,730 --> 00:01:19,790 v bistvu popolnoma enako, C in Cilj C. Torej, 22 00:01:19,790 --> 00:01:22,860 Ker ste vzeli CS50 up to sedaj že 23 00:01:22,860 --> 00:01:26,500 vem Cilj C, najmanj 40%. 24 00:01:26,500 --> 00:01:30,720 Tudi Apple ima res robustno API za iOS. 25 00:01:30,720 --> 00:01:33,750 Obstaja veliko res noro stvari, ki jih lahko narediš z njim. 26 00:01:33,750 --> 00:01:36,760 Eden od katerih je nekdo dejansko ustvarila aplikacijo za iOS 27 00:01:36,760 --> 00:01:40,600 za nadzor avtomobilov, je zelo zanimivo. 28 00:01:40,600 --> 00:01:42,610 Verjetno helikopter je bolj razburljivo. 29 00:01:42,610 --> 00:01:47,020 Ampak, to je, kako močan iOS API lahko. 30 00:01:47,020 --> 00:01:49,340 >> In kot ste morda pogruntal zdaj, 31 00:01:49,340 --> 00:01:53,000 stack overflow je verjetno ena izmed najpomembnejše spletne vire 32 00:01:53,000 --> 00:01:54,250 na voljo za vas. 33 00:01:54,250 --> 00:01:58,090 In dobra novica, za vsak en sam problem lahko morda 34 00:01:58,090 --> 00:02:01,840 pomislite pri gradnji vašega Končni projekt v cilju C, 35 00:02:01,840 --> 00:02:05,910 verjetno obstaja kup overflow odgovor. 36 00:02:05,910 --> 00:02:07,420 To je samo super. 37 00:02:07,420 --> 00:02:12,780 Poleg tega, iOS je res platforma 38 00:02:12,780 --> 00:02:16,260 kjer lahko doseže velik občinstvo z malo truda. 39 00:02:16,260 --> 00:02:20,170 To ni všeč Android, kjer vse, kar je precej razdrobljena. 40 00:02:20,170 --> 00:02:22,540 >> Vse, iOS je enotna. 41 00:02:22,540 --> 00:02:25,920 In tako dolgo, kot si ustvarite Aplikacija za iPhone, 42 00:02:25,920 --> 00:02:31,260 lahko zelo enostavno port da iPad, iPad mini ali različnih velikosti iPhone. 43 00:02:31,260 --> 00:02:33,050 To so vse zelo priročno. 44 00:02:33,050 --> 00:02:36,430 In to je samo res dober za navdušujete svoje prijatelje. 45 00:02:36,430 --> 00:02:38,920 Lahko samo držite iPhone in obvestite svojega prijatelja hej, 46 00:02:38,920 --> 00:02:40,250 To je app naredim. 47 00:02:40,250 --> 00:02:43,860 To lahko storite, da se za vsaka namizne aplikacije, ki je lepo. 48 00:02:43,860 --> 00:02:48,870 >> Vse je v redu, zdaj pa si dejansko dobili v jezikovno Cilj C. 49 00:02:48,870 --> 00:02:52,910 Torej, zakaj ne začnemo z nekateri res osnovno sintakso. 50 00:02:52,910 --> 00:02:57,410 Kot sem že omenil, Cilj C To je v bistvu nadgradnja C. 51 00:02:57,410 --> 00:03:01,860 Torej, veliko osnovne sintakse so dejansko popolnoma enak. 52 00:03:01,860 --> 00:03:06,150 Razglasitvi spremenljivko in dodal dve spremenljivki skupaj 53 00:03:06,150 --> 00:03:09,440 je točno tako, kot smo to storili v Mario. 54 00:03:09,440 --> 00:03:11,140 Nič novega tukaj. 55 00:03:11,140 --> 00:03:17,370 >> Podobno podnajemnik za zanko in stanje je tudi enak. 56 00:03:17,370 --> 00:03:22,370 Lahko naredite zanko tako kot tebi so naredili v Mario [neslišno]. 57 00:03:22,370 --> 00:03:26,280 In lahko naredite pogoje tako kot tisto, kar 58 00:03:26,280 --> 00:03:29,240 delal v vaših prejšnjih str nizov. 59 00:03:29,240 --> 00:03:33,400 Vendar Cilj C ni povsem C 60 00:03:33,400 --> 00:03:36,640 in tam je nekaj, je nekako čudno o njej. 61 00:03:36,640 --> 00:03:42,340 >> Prva je, da ko ste početje programiranja C, jih po navadi imenujemo 62 00:03:42,340 --> 00:03:46,310 vključiti in nato ime knjižnice. 63 00:03:46,310 --> 00:03:49,860 Ampak v cilju C pokličete, da se uvoz. 64 00:03:49,860 --> 00:03:53,100 V bistvu pravi, funkcionalnost, le različna imena. 65 00:03:53,100 --> 00:03:55,940 In strune so pravzaprav malo čudno. 66 00:03:55,940 --> 00:03:58,250 Vidite lahko, da je prvi stvar, ki je nekako čudno 67 00:03:58,250 --> 00:04:04,190 je, da imate precej weird-- sorry-- imate precej čudne NS 68 00:04:04,190 --> 00:04:04,960 Tu se prijavite preko. 69 00:04:04,960 --> 00:04:07,452 70 00:04:07,452 --> 00:04:09,160 In druga stvar, da je nekako čudno 71 00:04:09,160 --> 00:04:14,090 se boste morali na znaku pred dejansko razglasitvi niz. 72 00:04:14,090 --> 00:04:19,209 Torej na znak v bistvu pomeni da je niz ni le niz, 73 00:04:19,209 --> 00:04:20,880 je dejansko predmet. 74 00:04:20,880 --> 00:04:22,780 Bomo razložiti ki je kasneje to ne 75 00:04:22,780 --> 00:04:25,800 panika, če ne razumeti, kaj to pomeni. 76 00:04:25,800 --> 00:04:29,980 In tiskanje na konzoli je malo drugačna, ker v C pravimo printf, 77 00:04:29,980 --> 00:04:33,350 ampak v cilju C pravimo [neslišno]. 78 00:04:33,350 --> 00:04:35,640 >> Morda se sprašujete, kaj je to. 79 00:04:35,640 --> 00:04:38,070 To je v bistvu printf, Samo drugačen jezik. 80 00:04:38,070 --> 00:04:41,370 Točno enako uporabo, natanko isto funkcionalnost. 81 00:04:41,370 --> 00:04:44,060 No, izkaže se, da Cilj C dejansko 82 00:04:44,060 --> 00:04:50,040 Ima ns predznak v skoraj Vse, vsak osnovni podatkovni tip, 83 00:04:50,040 --> 00:04:52,690 nsstring, nsarray, nsdictionary. 84 00:04:52,690 --> 00:04:56,340 Razlog je, da ns dejansko stoji za naslednji korak, 85 00:04:56,340 --> 00:04:59,980 ki je podjetje, ki Steve Jobs je ustanovil, 86 00:04:59,980 --> 00:05:03,960 ki je podjetje, če Cilj jezik C je bil rojen. 87 00:05:03,960 --> 00:05:06,140 Torej, to je v bistvu tradicija. 88 00:05:06,140 --> 00:05:09,010 Vem, da je malo čudno, vendar je Apple. 89 00:05:09,010 --> 00:05:16,840 >> Torej nekaj, kar je še bolj čudna kot da je izjava funkcija. 90 00:05:16,840 --> 00:05:22,600 To je zelo drugačen od tistega, kar glej v C, ker sem ga dejansko 91 00:05:22,600 --> 00:05:25,190 ne izgleda kot C anymore. 92 00:05:25,190 --> 00:05:28,810 Kaj vam here-- imajo s Tako to ni zaporedna točka 93 00:05:28,810 --> 00:05:30,690 To je znak minus. 94 00:05:30,690 --> 00:05:36,440 Imate minus znak zaklepaj nična in nato ime funkcije. 95 00:05:36,440 --> 00:05:38,450 Reciva, če smo imajo Hello World, nato pa 96 00:05:38,450 --> 00:05:42,820 Tip donos bi neveljavne ker se vrnemo nič. 97 00:05:42,820 --> 00:05:44,680 >> Kaj dobi res čudno je, da ko ste 98 00:05:44,680 --> 00:05:49,580 ob več kot en parameter poteka v isto funkcijo, da 99 00:05:49,580 --> 00:05:53,870 bo res čudno, kot je prikazano tukaj. 100 00:05:53,870 --> 00:05:58,230 Imamo ime metode, imenovano addInt na [neslišno] 101 00:05:58,230 --> 00:06:00,370 in smo mimo en parameter. 102 00:06:00,370 --> 00:06:05,170 Toda po tem, imamo Več ime metoda klic s. 103 00:06:05,170 --> 00:06:08,500 In potem z bomo mimo drugi parameter. 104 00:06:08,500 --> 00:06:11,940 To je pravzaprav malo čudno, ampak vse te funkcije izjave 105 00:06:11,940 --> 00:06:14,770 sledijo istemu vzorcu kot to. 106 00:06:14,770 --> 00:06:17,450 >> Imamo minus znak za začetek. 107 00:06:17,450 --> 00:06:21,550 Negativni predznak je lahko znak plus včasih temelji na Kakšno metodo 108 00:06:21,550 --> 00:06:22,340 je to. 109 00:06:22,340 --> 00:06:25,000 Postopek je v bistvu drugo ime za funkcijo. 110 00:06:25,000 --> 00:06:26,760 In bomo pojasnjujejo, da kasneje, ko 111 00:06:26,760 --> 00:06:30,580 govorimo o objektu usmerjeno programiranje. 112 00:06:30,580 --> 00:06:34,300 Si najprej določite vrnitev tip znotraj oklepajev, 113 00:06:34,300 --> 00:06:37,450 po katerem prihaja ime metode. 114 00:06:37,450 --> 00:06:40,310 Ste mimo en parameter. 115 00:06:40,310 --> 00:06:44,750 In če imate več parametrov morate razširiti ime metode 116 00:06:44,750 --> 00:06:46,770 in v bistvu napisati nekaj več tukaj. 117 00:06:46,770 --> 00:06:48,090 >> Lahko bi bilo karkoli želite. 118 00:06:48,090 --> 00:06:50,140 V našem primeru je to s. 119 00:06:50,140 --> 00:06:56,160 Vendar bi lahko rekli, konec, ali, ali, ali abc polno bar, kar hočeš. 120 00:06:56,160 --> 00:06:59,500 In potem, ko da ste poteka parametra b. 121 00:06:59,500 --> 00:07:01,750 To je res čudno Konvencija vendar smo 122 00:07:01,750 --> 00:07:05,800 bomo videli, zakaj Apple je želel za to, da zelo hitro. 123 00:07:05,800 --> 00:07:10,530 Torej, kako si funkcijo poklicati? 124 00:07:10,530 --> 00:07:15,520 Kliče funkcijo v Cilj C je prav tako razlikuje od C. 125 00:07:15,520 --> 00:07:18,170 >> Pravzaprav, kliče Funkcija v cilju C 126 00:07:18,170 --> 00:07:21,030 je več, kot da ste v pogovoru z nekom. 127 00:07:21,030 --> 00:07:27,030 Tukaj imamo jaz, ki se imenuje predmet. 128 00:07:27,030 --> 00:07:33,830 Ste v bistvu povedali ugovarja samo reči "Hello World!" 129 00:07:33,830 --> 00:07:36,830 To je, kako klic funkcije. 130 00:07:36,830 --> 00:07:41,690 Objekta in ime metode medsebojno kombinirati. 131 00:07:41,690 --> 00:07:49,600 In to je, če čudno razširitev za ime metode res prihaja v igro. 132 00:07:49,600 --> 00:07:52,150 >> Oglejmo si drugi primer. 133 00:07:52,150 --> 00:07:56,780 Pravkar smo definirali metodo, imenovano addInt z blah blah blah. 134 00:07:56,780 --> 00:08:00,066 Torej, v tem primeru, ko se kliče da specifična [? sporočilo?] to se dogaja 135 00:08:00,066 --> 00:08:02,035 videti kot samostojno addInt: 10 z: 2. 136 00:08:02,035 --> 00:08:05,410 137 00:08:05,410 --> 00:08:08,070 Sliši se kot angleškem jeziku. 138 00:08:08,070 --> 00:08:11,980 Čeprav funkcijo Izjava funkcija je čudno, 139 00:08:11,980 --> 00:08:15,600 točka ih Objective C Vzorec metoda izjavo, 140 00:08:15,600 --> 00:08:18,830 je, da ko se kliče funkcija ali metoda 141 00:08:18,830 --> 00:08:21,980 da bo zvenelo kot dejanski angleščini. 142 00:08:21,980 --> 00:08:25,270 Torej, to je zelo intuitiven ko prideš vanjo. 143 00:08:25,270 --> 00:08:28,740 >> Zlasti v tem primeru, kjer si lahko v bistvu 144 00:08:28,740 --> 00:08:33,010 videti, da je ime funkcije nekako dokumentiranje sama. 145 00:08:33,010 --> 00:08:35,390 Ne boste potrebovali bolj razlaga za prikaz 146 00:08:35,390 --> 00:08:42,770 kaj točno se dogaja, kaj natanko en parameter početje. 147 00:08:42,770 --> 00:08:48,470 Greš po tem, kaj je govoril malo bit okoli objektnega programiranja. 148 00:08:48,470 --> 00:08:52,160 Objektno programiranje je eden od temeljnih programiranja 149 00:08:52,160 --> 00:08:57,110 tehnike ali vzorci, da je Cilj, ki ga C. Cilj C uporablja 150 00:08:57,110 --> 00:09:03,110 se imenuje Cilj C, ne C, za res dober razlog. 151 00:09:03,110 --> 00:09:07,560 >> Torej, preden smo prišli v Cilj C sintaksa, 152 00:09:07,560 --> 00:09:11,670 Oglejmo res hitro poglej kaj točno je predmet. 153 00:09:11,670 --> 00:09:15,480 Verjetno smo naredili nekaj kot predmet prej, ki 154 00:09:15,480 --> 00:09:19,780 se imenuje struct, ko ste izvajanje drevo ali povezani seznam 155 00:09:19,780 --> 00:09:25,730 ali [? poskusiti. ?] Torej, to je v bistvu kot struct, 156 00:09:25,730 --> 00:09:28,560 vendar je veliko močnejša kot to. 157 00:09:28,560 --> 00:09:33,150 Objekt ima metod in lastnosti. 158 00:09:33,150 --> 00:09:35,310 Metode so v bistvu funkcije. 159 00:09:35,310 --> 00:09:39,480 V bistvu deluje, da specifične za določen predmet. 160 00:09:39,480 --> 00:09:45,440 >> In lastnosti so v bistvu Polje podate v struct. 161 00:09:45,440 --> 00:09:48,500 Torej za vsak objekt imamo nekaj premoženja 162 00:09:48,500 --> 00:09:53,160 da je nekaj spremenljivk, ki so specifične za objekt. 163 00:09:53,160 --> 00:09:57,170 In imamo nekaj funkcij, ki jih so tudi specifične za objekt. 164 00:09:57,170 --> 00:10:01,180 In funkcije imenovane metode ter spremenljivke se imenujejo lastnosti. 165 00:10:01,180 --> 00:10:03,190 To je le izmišljeno ime. 166 00:10:03,190 --> 00:10:10,440 Medtem ko vas dejstvo, vsak pogled vidite, ko odprete aplikacijo za iOS, 167 00:10:10,440 --> 00:10:17,720 naj samo povem, Twitter ali Facebook, vsak pogled vidite, je objekt. 168 00:10:17,720 --> 00:10:22,110 In tudi celoten app je objekt za začetek. 169 00:10:22,110 --> 00:10:25,340 Zelo zanimiv koncept. 170 00:10:25,340 --> 00:10:28,480 >> In zakaj ne želimo predmet usmerjeno programiranje? 171 00:10:28,480 --> 00:10:33,530 Torej si lahko predstavljate, da pri vas Program postane precej zapleteno. 172 00:10:33,530 --> 00:10:36,400 Reciva, ko ste izvajanje šahovnici, 173 00:10:36,400 --> 00:10:40,020 logika se bo je res zapletena. 174 00:10:40,020 --> 00:10:43,280 Imaš 36 različnih kosov, tako da, če ste 175 00:10:43,280 --> 00:10:48,370 želite napisati logiko za vse 36 različnih kosov v šahu, 176 00:10:48,370 --> 00:10:52,150 da se dogaja, da je veliko različne funkcije in spremenljivke. 177 00:10:52,150 --> 00:10:54,070 To je veliko težav. 178 00:10:54,070 --> 00:10:58,980 In verjetno boš napisati drugačen način ali različna funkcija 179 00:10:58,980 --> 00:11:03,950 za vsak kosu natančno nadzorovati, kaj počnejo. 180 00:11:03,950 --> 00:11:08,830 >> Ampak, če vam objektno usmerjen programiranje, vse te koščke 181 00:11:08,830 --> 00:11:12,440 lahko odvzete v en sam predmet. 182 00:11:12,440 --> 00:11:16,111 In objekt bo imel nekaj skupnega lastnosti, kot so, kakšen kos 183 00:11:16,111 --> 00:11:16,610 je to? 184 00:11:16,610 --> 00:11:17,740 Kakšne barve je? 185 00:11:17,740 --> 00:11:19,480 Kako se lahko premika? 186 00:11:19,480 --> 00:11:24,660 In na ta način imate močno poenostavljeno logiko nje. 187 00:11:24,660 --> 00:11:28,480 Torej, to je samo res dober način da bi zapletene programe, 188 00:11:28,480 --> 00:11:33,700 in hierarhično razmerje v programu, zelo preprosta. 189 00:11:33,700 --> 00:11:36,800 Kot bomo videli Zato zelo hitro, ko 190 00:11:36,800 --> 00:11:39,660 smo pravzaprav počne programming-- ko smo dejansko 191 00:11:39,660 --> 00:11:42,830 delaš S kodo programiranje sejo kasneje. 192 00:11:42,830 --> 00:11:48,120 >> Ker poleg tega, objektno programiranje 193 00:11:48,120 --> 00:11:50,030 je le veliko zabave. 194 00:11:50,030 --> 00:11:51,990 Imaš, da oblikujete svoje lastne predmet. 195 00:11:51,990 --> 00:11:56,080 Imaš oblikovati kaj bilo videti, kot sami. 196 00:11:56,080 --> 00:11:58,250 Ni pravi odgovor nanj. 197 00:11:58,250 --> 00:12:02,940 In to je povsem zanimiva. 198 00:12:02,940 --> 00:12:07,270 Torej, v objektno programiranje, dve temeljni koncepti 199 00:12:07,270 --> 00:12:10,130 bo razred in primerek. 200 00:12:10,130 --> 00:12:13,570 Razred je v bistvu Predloga za objekt. 201 00:12:13,570 --> 00:12:18,070 In primer je v bistvu en določen predmet. 202 00:12:18,070 --> 00:12:21,090 >> Reciva, da ste kar piškotek. 203 00:12:21,090 --> 00:12:24,800 V tem primeru, vsak Piškotek ste dejansko končajo z 204 00:12:24,800 --> 00:12:27,310 se bo objekt. 205 00:12:27,310 --> 00:12:35,830 Vendar piškotek plošča uporabljate za peko vse piškotke bo razred. 206 00:12:35,830 --> 00:12:37,880 Razred je v bistvu predlogo. 207 00:12:37,880 --> 00:12:46,170 In primer bo ena posebna Objekt je izdelan iz tega razreda. 208 00:12:46,170 --> 00:12:49,970 >> In bo ustvaril primerek na podlagi izjave razreda, 209 00:12:49,970 --> 00:12:56,760 kot bomo videli v naslednjih diapozitivih. 210 00:12:56,760 --> 00:13:00,010 Torej, kaj je dejansko naredil res Hitro primer [neslišno]. 211 00:13:00,010 --> 00:13:04,280 Recimo, da smo o razglasitvi objekt za mačko. 212 00:13:04,280 --> 00:13:07,930 Predmet treba have-- Razred mačka naj 213 00:13:07,930 --> 00:13:11,260 ima nekaj lastnosti in metode. 214 00:13:11,260 --> 00:13:17,300 Kakšno lastnosti morala Razred have-- morala mačka? 215 00:13:17,300 --> 00:13:20,580 >> Na primer, barva, starost in pasma, tisti, 216 00:13:20,580 --> 00:13:24,440 bo spremenljivke, so specifični za vsako mačko. 217 00:13:24,440 --> 00:13:27,790 In tistih, ki so nekaj stvari ki jih uporabljamo za opis mačko. 218 00:13:27,790 --> 00:13:31,880 Kakšno metodo, ali kaj lahko storite mačka? 219 00:13:31,880 --> 00:13:37,160 Nekaj ​​kratkih zgledov bi chase miška, jedo ribe ali samo mijav. 220 00:13:37,160 --> 00:13:40,900 To je res hitro Primer mačke razreda. 221 00:13:40,900 --> 00:13:46,920 In res posebna mačka objekt bo mačka 222 00:13:46,920 --> 00:13:50,930 kjer smo opredeliti barvo, starost in pasma. 223 00:13:50,930 --> 00:13:53,790 >> V tem primeru je naš cilj je več razred več. 224 00:13:53,790 --> 00:14:00,010 Mi kopirati predlogo iz razreda, in moramo opredeliti vsako specifične informacije 225 00:14:00,010 --> 00:14:04,510 v tem specifičnem predmetu da je neodvisen. 226 00:14:04,510 --> 00:14:09,350 In ko se kliče Postopek v notranjosti objekta, 227 00:14:09,350 --> 00:14:16,640 vi samo pokličite mijav na objektu, ki je mačka ste ga pravkar ustvarili. 228 00:14:16,640 --> 00:14:19,020 >> Verjetno vam bo izpisal nekaj podobnega "Zdravo svet! 229 00:14:19,020 --> 00:14:20,000 Mijav. " 230 00:14:20,000 --> 00:14:22,110 Pretty srčkan. 231 00:14:22,110 --> 00:14:24,500 Vse je v redu, kaj je prav se v nekaterih podrobnostih 232 00:14:24,500 --> 00:14:30,650 in videli, kaj počne, da je prevesti v čemer iOS programiranje. 233 00:14:30,650 --> 00:14:36,500 Torej, v iOS programiranje vsak razred se bo izvajal v dveh datotekah. 234 00:14:36,500 --> 00:14:41,420 Ena datoteka je tukaj, ki se imenuje vmesnik. 235 00:14:41,420 --> 00:14:45,300 Še ena datoteka je tukaj, ki se imenuje izvajanja. 236 00:14:45,300 --> 00:14:48,890 >> Značilno vmesnik bodo imeli extension.h 237 00:14:48,890 --> 00:14:51,740 kot smo videli v knjižnicah C. 238 00:14:51,740 --> 00:14:56,340 In izvajanje datoteka dogaja, da imajo extension.n. 239 00:14:56,340 --> 00:14:57,260 To je čudno. 240 00:14:57,260 --> 00:15:01,270 Toda .N pomeni dejansko .c, ni Temeljna razlika med tistimi, 241 00:15:01,270 --> 00:15:02,100 dve. 242 00:15:02,100 --> 00:15:06,650 Torej, v tem primeru lahko vidimo, da smo razglasitvi vmesnika, kat: predmet. 243 00:15:06,650 --> 00:15:10,660 244 00:15:10,660 --> 00:15:13,760 To se imenuje dedovanje. 245 00:15:13,760 --> 00:15:19,170 Mi smo v bistvu podedovali cat razred od razreda objekta. 246 00:15:19,170 --> 00:15:24,790 Torej vsaka lastnina in metoda, ki je bila je definirano prej v razred predmeta 247 00:15:24,790 --> 00:15:28,560 bo samodejno definirano v razredu mačke, kot tudi. 248 00:15:28,560 --> 00:15:35,900 >> Poleg tega, določimo barvo, pasmo in starost, tri spremenljivke. 249 00:15:35,900 --> 00:15:39,360 Da dejansko izgleda kaj ste storili prej. 250 00:15:39,360 --> 00:15:41,770 Izgleda kot struct. 251 00:15:41,770 --> 00:15:44,950 To je v bistvu sintaksa za izjavo struct, 252 00:15:44,950 --> 00:15:47,710 in da je popolnoma pravilna. 253 00:15:47,710 --> 00:15:51,825 In ker sem že prej omenil, Razlika struct 254 00:15:51,825 --> 00:15:53,960 in predmet, eden temeljne razlike 255 00:15:53,960 --> 00:15:59,080 je, da je predmet postopka, medtem ko ima struct le spremenljivke. 256 00:15:59,080 --> 00:16:03,450 Torej poleg lastnosti ali spremenljivke, ki smo jih ustvarili za objekt, 257 00:16:03,450 --> 00:16:05,700 moramo navesti nekaj metodo. 258 00:16:05,700 --> 00:16:09,720 >> Reciva, tukaj imamo dva načina, eden je mijav, 259 00:16:09,720 --> 00:16:12,460 eden bo chase miško. 260 00:16:12,460 --> 00:16:18,600 Verjetno želimo biti poteka parameter, ki temelji na naši prejšnji metodi 261 00:16:18,600 --> 00:16:20,440 Vzorec izjave. 262 00:16:20,440 --> 00:16:22,160 Boste verjetno želeli, da se gre z miško. 263 00:16:22,160 --> 00:16:25,180 In boste verjetno želeli vrniti bool naznaniti 264 00:16:25,180 --> 00:16:30,010 Če ima vaša mačka uspešno ujela miško ali ne. 265 00:16:30,010 --> 00:16:33,170 >> To je vmesnik, vendar smo lahko vidimo, da se vmesnik dejansko 266 00:16:33,170 --> 00:16:35,150 ne naredi ničesar. 267 00:16:35,150 --> 00:16:40,800 To samo pove, kaj program exists-- kar obstaja v razredu kat. 268 00:16:40,800 --> 00:16:43,640 Torej, da bi za Program nekaj narediti, 269 00:16:43,640 --> 00:16:46,680 moramo imeti pri izvajanju datotek. 270 00:16:46,680 --> 00:16:51,940 Torej, tukaj je prva stvar, ki mi je očitno uvažamo vmesnik. 271 00:16:51,940 --> 00:16:56,470 Po uvažamo vmesnik, definiramo metodo. 272 00:16:56,470 --> 00:17:00,150 >> Reciva tukaj mijav bi samo natisnete 273 00:17:00,150 --> 00:17:01,740 "Hello World!" konzolo. 274 00:17:01,740 --> 00:17:04,319 275 00:17:04,319 --> 00:17:08,460 Izvajanjem in po njem Datoteka, smo precej narediti. 276 00:17:08,460 --> 00:17:14,530 To je v bistvu razred Izjava za en razred. 277 00:17:14,530 --> 00:17:19,970 Torej, zdaj vprašanje je, kako si razglasi spremenljivko? 278 00:17:19,970 --> 00:17:26,880 Tako boste uporabili razred za ustvarjanje Objekt v cilju C je napisano tukaj. 279 00:17:26,880 --> 00:17:30,730 >> Morate najprej določiti, da To je mačka kazalec, 280 00:17:30,730 --> 00:17:38,700 saj vsak predmet v cilj C se končno izvaja kot kazalec. 281 00:17:38,700 --> 00:17:46,210 In pokličete razred, jih pokličete kot Aloc, ki je v bistvu malloc, 282 00:17:46,210 --> 00:17:51,220 povedal operacijski sistem, ki vam Potrebujem nekaj pomnilniškega prostora za ta objekt. 283 00:17:51,220 --> 00:17:55,780 Po tem boste morali predmet že in ga le zažene. 284 00:17:55,780 --> 00:17:56,780 To je le konvencija. 285 00:17:56,780 --> 00:17:59,390 286 00:17:59,390 --> 00:18:04,410 Vem, da je malo čudno, vendar To je pravzaprav, kako Apple počne stvari. 287 00:18:04,410 --> 00:18:07,130 >> Dodeljevanje lastnosti je pravzaprav precej enostavna. 288 00:18:07,130 --> 00:18:09,250 To je zelo podoben Kaj počneš, ko 289 00:18:09,250 --> 00:18:13,780 ste dodeljevanje nekatere posebne Polje znotraj struct. 290 00:18:13,780 --> 00:18:16,830 Imate samo spremenljivko ime, ime lastnosti, 291 00:18:16,830 --> 00:18:20,140 in dodelite posebno vrednost. 292 00:18:20,140 --> 00:18:24,120 In kliče metoda je zelo podobna. 293 00:18:24,120 --> 00:18:29,080 Kliče metoda v bistvu tisto, kar sem govoril o 294 00:18:29,080 --> 00:18:32,390 za klice v katero koli metodo, v cilju C. 295 00:18:32,390 --> 00:18:36,660 >> Ste mimo objekta, v V tem primeru pa se dogaja, da myCat, 296 00:18:36,660 --> 00:18:42,490 in si podajali ime metode. 297 00:18:42,490 --> 00:18:47,130 Kot če ste v pogovoru z objekta, myCat, da bi morali mijav. 298 00:18:47,130 --> 00:18:48,570 To je zelo zanimivo. 299 00:18:48,570 --> 00:18:52,010 300 00:18:52,010 --> 00:18:55,680 Po tem, da je ena bolj pomembno oblikovanje vzorec 301 00:18:55,680 --> 00:18:59,940 da moramo govoriti o preden bo dejansko S kodo. 302 00:18:59,940 --> 00:19:03,300 Da oblikovanje vzorec se imenuje dogodku programiranja. 303 00:19:03,300 --> 00:19:09,660 To je verjetno tudi eden izmed najbolj temeljne ideje v iOS programiranja. 304 00:19:09,660 --> 00:19:14,410 >> Tako da vam verjetno ne vedo, kaj točno je ob dogodku programiranje, 305 00:19:14,410 --> 00:19:16,990 vendar pa to ni res, da je grozno. 306 00:19:16,990 --> 00:19:20,400 No, v bistvu, imate že storili doslej. 307 00:19:20,400 --> 00:19:24,894 To je ena od linij, ki ste jih verjetno že napisal v zadnjem [neslišno] 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 S klicem te vrstice ste v bistvu pripoveduje računalnik 312 00:19:37,620 --> 00:19:42,650 da se vsakič, ko se imenuje dogodek "Klik" se zgodi na marker, 313 00:19:42,650 --> 00:19:43,630 uporabite to funkcijo. 314 00:19:43,630 --> 00:19:46,910 315 00:19:46,910 --> 00:19:50,950 >> To je zelo drugačen od kaj si naredil v mario.c. 316 00:19:50,950 --> 00:19:56,670 V mario.c si samo zagnati program enkrat, saj vam daje moč, 317 00:19:56,670 --> 00:19:58,590 in ste končali. 318 00:19:58,590 --> 00:20:02,590 To so nekako kot En strel programi. 319 00:20:02,590 --> 00:20:05,830 Usmerjenih dogodkov programi so zelo, zelo drugačna. 320 00:20:05,830 --> 00:20:10,230 Predstavljajmo si, če je Facebook je ena shot program, to ni ravno dobro. 321 00:20:10,230 --> 00:20:13,750 Greš na Facebooku enkrat je to storjeno. 322 00:20:13,750 --> 00:20:16,700 To vam daje nekaj izhod in nikoli dobil nazaj. 323 00:20:16,700 --> 00:20:19,380 Nikoli ne dobil ničesar več. 324 00:20:19,380 --> 00:20:23,880 >> Torej tukaj, zlasti Vzorec, ki jih uporabljamo, je 325 00:20:23,880 --> 00:20:26,940 dogodku, tako da vsako funkcijo bo 326 00:20:26,940 --> 00:20:31,480 ujele temelji na tisto, Dogodek se je zgodilo. 327 00:20:31,480 --> 00:20:34,670 Na primer, če imamo gumb in mi navesti 328 00:20:34,670 --> 00:20:39,870 da, kadar je ta gumb kliknili, pokličite funkcijo imenovano "Hello World!" 329 00:20:39,870 --> 00:20:47,810 Na ta način smo lahko res upravljanje funkcije logiko 330 00:20:47,810 --> 00:20:50,560 pritekale v zelo prožen način. 331 00:20:50,560 --> 00:20:55,840 Uporabnik lahko storite ali pokličite funkcijo ki je bil že imenovan. 332 00:20:55,840 --> 00:20:59,900 To je v celoti temelji na kaj uporabniki. 333 00:20:59,900 --> 00:21:04,080 >> Tako lahko vidimo, da je to dejansko veliko bolje kot mario.c. 334 00:21:04,080 --> 00:21:07,190 In dobra novica je, da je pravzaprav ni nov koncept. 335 00:21:07,190 --> 00:21:12,140 Vidva sta že storila da v zadnji problem nastaviti. 336 00:21:12,140 --> 00:21:16,640 Torej, v cilju C obstajajo trije različni diagrami 337 00:21:16,640 --> 00:21:19,030 Za dogodku programiranja. 338 00:21:19,030 --> 00:21:21,970 Prvi diagram imenovani ciljni ukrepi, 339 00:21:21,970 --> 00:21:26,990 kjer se vežejo na gumb pritisnite z neko funkcijo. 340 00:21:26,990 --> 00:21:31,590 Reciva, ko boste kliknili nekateri gumb, pokličete nekatere funkcije. 341 00:21:31,590 --> 00:21:33,620 To je zelo preprosta ciljni ukrep. 342 00:21:33,620 --> 00:21:35,580 >> Drugi je dejansko najtežje, 343 00:21:35,580 --> 00:21:38,450 to se imenuje delegacija na protokol. 344 00:21:38,450 --> 00:21:41,800 Bomo razložiti da zelo podrobno kasneje. 345 00:21:41,800 --> 00:21:44,420 In tretji način je obveščanje. 346 00:21:44,420 --> 00:21:46,770 To je dejansko ni Zelo pomembno je, kolikor 347 00:21:46,770 --> 00:21:50,920 kot smo to zadeva, ker je priložnost da boste za uporabo obvestila 348 00:21:50,920 --> 00:21:53,310 v svojem zadnjem projektu je precej nizka. 349 00:21:53,310 --> 00:21:56,440 Torej bomo preskočite ta del. 350 00:21:56,440 --> 00:21:59,460 >> In bomo potapljati v delegacije o protokolu. 351 00:21:59,460 --> 00:22:02,380 352 00:22:02,380 --> 00:22:04,470 Torej, kaj točno je protokol? 353 00:22:04,470 --> 00:22:06,450 Ali pa, kaj točno je delegacija? 354 00:22:06,450 --> 00:22:09,670 Spregovorimo o protokolu za začetek. 355 00:22:09,670 --> 00:22:13,360 Protokoli so nič, ampak dogodkov. 356 00:22:13,360 --> 00:22:19,230 Vendar pa so ti dogodki imeli si ga Apple za začetek. 357 00:22:19,230 --> 00:22:22,640 Na primer, jaz nisem popolnoma prepričani, koliko vas 358 00:22:22,640 --> 00:22:27,930 Fantje uporabljajo Applov izvirnik app mail ali stik, 359 00:22:27,930 --> 00:22:32,180 ampak vsakič, ko se premikate miza in pritisnite posebno celico 360 00:22:32,180 --> 00:22:36,130 na mizo, ki je dogodek. 361 00:22:36,130 --> 00:22:38,330 >> In če hočeš narediti da je dogodek, ki ga sami, 362 00:22:38,330 --> 00:22:40,410 to je pravzaprav malo težko. 363 00:22:40,410 --> 00:22:44,880 Tako je Apple dal, da tudi za vas tako da si lahko samo neposredno uporabo 364 00:22:44,880 --> 00:22:49,610 Dogodek nekaj storiti na svoje. 365 00:22:49,610 --> 00:22:52,980 Protokoli so dejansko res, res pogosto uporablja 366 00:22:52,980 --> 00:22:58,320 v cilju C. dobro Dejstvo, vsak app 367 00:22:58,320 --> 00:23:00,870 Ima nekaj ujeti app delegata. 368 00:23:00,870 --> 00:23:06,330 Znotraj občutljivo je vse protokoli za nakladanje aplikacijo. 369 00:23:06,330 --> 00:23:12,470 >> Reciva, da je dogodek za app naredil obremenitev. 370 00:23:12,470 --> 00:23:18,200 Torej, kaj naj bi se zgodilo po tem, ko ste jih ustvaril app, ko odprete aplikacijo, 371 00:23:18,200 --> 00:23:22,630 Ko zaprete aplikacijo, ali po si dal iPhone spati. 372 00:23:22,630 --> 00:23:27,480 To so dogodki, ki jih ima že dobil s tabo. 373 00:23:27,480 --> 00:23:34,730 In sprva znotraj teh delcev ne bo izvedba. 374 00:23:34,730 --> 00:23:39,750 Apple vam samo povedal, da te funkcije se bo zgodilo, ko se nekaj zgodi dogodek, 375 00:23:39,750 --> 00:23:44,380 ampak kaj si naredil s tem Funkcija je povsem odvisno od vas. 376 00:23:44,380 --> 00:23:49,290 >> Delegacija je v bistvu pripoveduje razred 377 00:23:49,290 --> 00:23:53,060 da bi morali ravnati te protokole. 378 00:23:53,060 --> 00:23:55,340 To je malo zmedeno, vendar pa bo 379 00:23:55,340 --> 00:23:59,380 veliko bolj jasno, ko delamo kode S v ukrepanje. 380 00:23:59,380 --> 00:24:04,760 Delegacija na protokol je dejansko zelo trden mehanizem v smislu 381 00:24:04,760 --> 00:24:08,160 da če bomo delegacijo določenemu razredu, 382 00:24:08,160 --> 00:24:12,400 bomo lahko v bistvu ročaj vse vrste dogodkov 383 00:24:12,400 --> 00:24:17,040 uporabo katerega koli razreda imamo, zelo priročno orodje. 384 00:24:17,040 --> 00:24:21,530 >> Torej en hiter primer za Delegacija na protokolu 385 00:24:21,530 --> 00:24:24,120 bo, kar sem govoril. 386 00:24:24,120 --> 00:24:26,720 387 00:24:26,720 --> 00:24:30,890 Ta protokol je posebej pozval tableview [neslišno] izberite vlogo 388 00:24:30,890 --> 00:24:35,480 na [? Indeks?] [? mimo. ?] Torej, to dogodek, ki bi se ujela, ko vas 389 00:24:35,480 --> 00:24:39,710 dejansko dotaknete specifična celica v vašem tableview, 390 00:24:39,710 --> 00:24:43,570 recimo, na vašo pošto ali v vašem imeniku app. 391 00:24:43,570 --> 00:24:48,180 >> Znotraj funkcije je bilo prvotno nič ne delaš. 392 00:24:48,180 --> 00:24:51,950 Funkcija ne storiti ničesar privzeto. 393 00:24:51,950 --> 00:24:55,540 Vendar pa lahko določite kaj funkcija počne, 394 00:24:55,540 --> 00:24:59,610 dati kaj hočeš od vašega app. 395 00:24:59,610 --> 00:25:01,610 Zelo priročno orodje. 396 00:25:01,610 --> 00:25:06,840 In z vsem, kar je rekel, sem v bistvu 397 00:25:06,840 --> 00:25:11,430 zajema nekaj zelo osnovno sintakso in temeljni koncept za Cilj C 398 00:25:11,430 --> 00:25:15,860 programiranje, in ne moremo narediti nekaj -e kodo. 399 00:25:15,860 --> 00:25:17,980 Veliko bolj razburljivo. 400 00:25:17,980 --> 00:25:21,070 Torej je oznaka dejansko malo prepričljivo 401 00:25:21,070 --> 00:25:23,330 ko ga odprete prvič. 402 00:25:23,330 --> 00:25:26,640 >> En hiter note, tako da, če vas želite storiti razvoja iOS, 403 00:25:26,640 --> 00:25:29,630 Priporočam imate Mac. 404 00:25:29,630 --> 00:25:33,930 Ker gre razvoj na iOS Windows je zelo, zelo težko. 405 00:25:33,930 --> 00:25:37,560 To je izvedljivo, ampak to je res težko. 406 00:25:37,560 --> 00:25:40,610 In si je vsekakor storiti ne želite uporabiti g urejanje. 407 00:25:40,610 --> 00:25:47,950 Torej, v ih kodo imamo več različnih področij. 408 00:25:47,950 --> 00:25:53,050 Ko prvič odprli s kodo boste videli navigacijsko območje, 409 00:25:53,050 --> 00:25:57,470 ki v bistvu vam pokaže vse datoteke, ki je v trenutnem projektu. 410 00:25:57,470 --> 00:26:03,590 >> Imate območje orodne vrstice, ki je v bistvu upravljanje poglede, 411 00:26:03,590 --> 00:26:08,570 ali nekaj malo hitro Orodja za približno ih same kode. 412 00:26:08,570 --> 00:26:11,140 In to je dejansko urednik območje. 413 00:26:11,140 --> 00:26:15,900 To območje je zelo podobna g uredi, vendar veliko bolje kot g uredi. 414 00:26:15,900 --> 00:26:21,150 In v tem pravem območju, je imenovano območje pripomoček. 415 00:26:21,150 --> 00:26:27,170 Območje postane res prav, ko ste ustvarjanje vmesnika ali z navedbo 416 00:26:27,170 --> 00:26:30,070 nekaj hitrih postavitve za vašo aplikacijo. 417 00:26:30,070 --> 00:26:34,570 >> In končno območje razhroščevanje. 418 00:26:34,570 --> 00:26:37,970 To področje vsebuje konzolo. 419 00:26:37,970 --> 00:26:43,170 Torej, ko ste rekli, printf, ali nslog v našem primeru, 420 00:26:43,170 --> 00:26:47,330 vsi vaši rezultati dogaja se tukaj natisne. 421 00:26:47,330 --> 00:26:48,260 Vse v redu? 422 00:26:48,260 --> 00:26:52,090 Mislim, da smo lahko res hitro narediti Primer za iOS programiranje. 423 00:26:52,090 --> 00:26:54,220 In kaj je pravzaprav odpirajo s kodo. 424 00:26:54,220 --> 00:26:57,210 425 00:26:57,210 --> 00:27:01,346 Torej, vsakič, ko boste odprli s kodo, je dogaja, da pokažejo nekaj takega. 426 00:27:01,346 --> 00:27:03,220 To se dogaja, da vas prosim, Kaj želite narediti? 427 00:27:03,220 --> 00:27:06,830 Ali želite, da začnete nekaj naključno, otroško igrišče, v bistvu ste 428 00:27:06,830 --> 00:27:11,250 Lahko samo preizkusiti kodo brez dejansko stori katero koli aplikacijo. 429 00:27:11,250 --> 00:27:13,020 >> Ali želite ustvariti nov projekt? 430 00:27:13,020 --> 00:27:16,660 Ali želite nadaljevati delajo na obstoječem projektu? 431 00:27:16,660 --> 00:27:20,270 V našem primeru bomo ustvariti nov projekt. 432 00:27:20,270 --> 00:27:22,980 Torej, to je res lepo, S Koda dejansko ima že 433 00:27:22,980 --> 00:27:26,820 dal nekaj predlog za ustvarjanje predmetov. 434 00:27:26,820 --> 00:27:32,680 Če želite narediti igro, s kodo dejansko ima predlogo igra za vas, 435 00:27:32,680 --> 00:27:36,890 ima stran temelječih aplikacij, Kartica aplikacija. 436 00:27:36,890 --> 00:27:39,280 V tem primeru bomo narediti nekaj zelo preprostega, 437 00:27:39,280 --> 00:27:43,230 in da bomo uporabili en sam pogled aplikacija. 438 00:27:43,230 --> 00:27:48,270 >> Po tem, kaj želite poklicati vaš izdelek, in kako ti je ime, 439 00:27:48,270 --> 00:27:52,760 kaj je tvoj identifikator, in kateri jezik uporabljate. 440 00:27:52,760 --> 00:27:57,060 Tukaj ne želimo, da se preveriti uporabo osnovnih podatkov. 441 00:27:57,060 --> 00:28:00,170 Core Data je v bistvu databasing iOS. 442 00:28:00,170 --> 00:28:05,360 Če boste to storili Core Data, s Koda se bo opredeliti 443 00:28:05,360 --> 00:28:07,710 veliko bolj zapletene razredi za vas. 444 00:28:07,710 --> 00:28:12,740 Tako, da je vse enostavno, smo le, da bo naredil brez osnovnih podatkov 445 00:28:12,740 --> 00:28:15,290 zdaj. 446 00:28:15,290 --> 00:28:18,030 >> Problem bomo biti uporabljate, that-- problema 447 00:28:18,030 --> 00:28:23,770 bomo ustvarili je, da smo v bistvu želite uvoziti Mario od C 448 00:28:23,770 --> 00:28:25,437 na iOS app. 449 00:28:25,437 --> 00:28:26,645 Torej, recimo, da je Mario-iOS. 450 00:28:26,645 --> 00:28:31,230 451 00:28:31,230 --> 00:28:34,880 Seveda lahko določite, kaj vas želeli postaviti v vašem projektu. 452 00:28:34,880 --> 00:28:37,870 In tam gremo. 453 00:28:37,870 --> 00:28:41,390 >> Tako da je to malo velika, vendar je to v resnici 454 00:28:41,390 --> 00:28:43,540 kar smo pravkar videli na diapozitivih. 455 00:28:43,540 --> 00:28:49,710 In prvo področje vidimo zdaj je v bistvu konfiguracija projekta. 456 00:28:49,710 --> 00:28:53,390 Torej vse, kar želite storiti Projekt, kakšno napravo, 457 00:28:53,390 --> 00:28:58,810 naj samo povem, kakšno napravo hočeš vaš app, da se pojavi na? 458 00:28:58,810 --> 00:29:01,280 Ali je iPhone, iPad ali univerzalno? 459 00:29:01,280 --> 00:29:04,660 Torej usmerjenost naprave, vse te stvari. 460 00:29:04,660 --> 00:29:08,490 Ni zelo pomembna, vendar bi lahko, vendar je to 461 00:29:08,490 --> 00:29:11,050 je kraj, kjer se ustanovi vaš projekt, če ste dejansko 462 00:29:11,050 --> 00:29:15,180 želijo napotiti v trgovini Apple. 463 00:29:15,180 --> 00:29:20,420 >> Vse je v redu, si oglejmo nekaj, kar je v naši kode. 464 00:29:20,420 --> 00:29:22,360 Gremo skozi datotečni navigator. 465 00:29:22,360 --> 00:29:30,140 In to so vse datoteke, ki so že prišel s predlogo, zelo lepo. 466 00:29:30,140 --> 00:29:35,980 Torej, ko smo kliknite enega od njih To je tisto, kar izgleda. 467 00:29:35,980 --> 00:29:38,530 Zelo podoben g uredi. 468 00:29:38,530 --> 00:29:41,340 Vendar pa lahko vidite, da sintaksa poudarjanje je verjetno 469 00:29:41,340 --> 00:29:42,780 malo lepše. 470 00:29:42,780 --> 00:29:45,610 In to je v resnici veliko več močnejši od g urejanje. 471 00:29:45,610 --> 00:29:49,970 In lahko avto popolna Veliko stvari za vas, 472 00:29:49,970 --> 00:29:52,370 saj bomo zelo hitro videli. 473 00:29:52,370 --> 00:29:54,100 >> Odprimo območje debugging kot dobro. 474 00:29:54,100 --> 00:30:02,790 475 00:30:02,790 --> 00:30:07,000 Vse je v redu, kot smo lahko videli, konzola je tukaj. 476 00:30:07,000 --> 00:30:13,840 To je tisto, kar boste videli, kje ste v printf ali nsloging nekaj. 477 00:30:13,840 --> 00:30:17,155 Torej, brez odlašanja, kaj je dejansko zbere aplikacijo in videli, kaj se bo zgodilo. 478 00:30:17,155 --> 00:30:20,000 479 00:30:20,000 --> 00:30:23,410 Ena bistvena lastnost za s kodo, je, da je koda 480 00:30:23,410 --> 00:30:25,850 prihaja z iPhone simulator. 481 00:30:25,850 --> 00:30:29,820 Torej vam ni treba imeti iPhone, da poskusite svoj projekt, 482 00:30:29,820 --> 00:30:34,440 s kodo lahko simulira, da je za vi, kot smo lahko videli prav zdaj. 483 00:30:34,440 --> 00:30:36,406 >> To je zelo lepo. 484 00:30:36,406 --> 00:30:38,640 To je ob nekoliko malo časa za pripravo 485 00:30:38,640 --> 00:30:43,040 in v bistvu smo prazna aplikacija, 486 00:30:43,040 --> 00:30:44,640 ki dejansko ne naredi ničesar. 487 00:30:44,640 --> 00:30:46,175 Ampak to pripravlja. 488 00:30:46,175 --> 00:30:47,380 Res je super. 489 00:30:47,380 --> 00:30:50,200 To je veliko bolje kot C, huh? 490 00:30:50,200 --> 00:30:52,130 Vse je v redu, potem pa poskusite dodati nekaj. 491 00:30:52,130 --> 00:30:56,050 492 00:30:56,050 --> 00:31:02,650 Ena datoteka, ki je malo čudno, tukaj se imenuje storyboard. 493 00:31:02,650 --> 00:31:08,020 To je pravzaprav velika, super lastnost za -e kode. 494 00:31:08,020 --> 00:31:14,170 Ker v ih kodo, lahko dejansko drag si in spustite elemente na vmesniku 495 00:31:14,170 --> 00:31:17,430 in bo neposredno prikazal. 496 00:31:17,430 --> 00:31:18,055 Poskusimo, da. 497 00:31:18,055 --> 00:31:21,230 498 00:31:21,230 --> 00:31:27,236 >> Mi padec etiketo tukaj, "Hello World !!!" 499 00:31:27,236 --> 00:31:29,740 Mi lahko center, ki. 500 00:31:29,740 --> 00:31:30,970 Precej kul. 501 00:31:30,970 --> 00:31:33,915 Zdaj pa zagnati to simulacijo stop. 502 00:31:33,915 --> 00:31:36,940 503 00:31:36,940 --> 00:31:38,700 Tukaj imamo "Hello World !!!" 504 00:31:38,700 --> 00:31:40,810 Mi sploh ni naredil nobenega kodiranja še. 505 00:31:40,810 --> 00:31:42,750 Kaj za vraga se dogaja? 506 00:31:42,750 --> 00:31:45,880 To je, kako močan Interface Builder lahko. 507 00:31:45,880 --> 00:31:48,030 Nekdo je celo rekel, da je lahko verjetno samo 508 00:31:48,030 --> 00:31:52,800 dokončati aplikacijo brez pisanja Verjetno tisoč vrstic kode 509 00:31:52,800 --> 00:31:54,820 samo s pomočjo Builder vmesnika. 510 00:31:54,820 --> 00:31:59,680 Vendar to verjetno ne Najboljši način, da to storite. 511 00:31:59,680 --> 00:32:01,670 >> Zdaj pa dejansko priti do kodiranja. 512 00:32:01,670 --> 00:32:04,860 513 00:32:04,860 --> 00:32:08,330 Tako strukture za datoteke je pravzaprav res zanimivo 514 00:32:08,330 --> 00:32:15,610 ker, kot lahko vidite, obstaja ni glavna funkcija kjerkoli. 515 00:32:15,610 --> 00:32:17,466 Oglejte? 516 00:32:17,466 --> 00:32:19,340 Kot smo že omenili, lahko vidite, da je to 517 00:32:19,340 --> 00:32:22,830 je datoteka izvedba za določen razred. 518 00:32:22,830 --> 00:32:25,690 Vendar ni glavna kjerkoli. 519 00:32:25,690 --> 00:32:27,490 Torej, kje je glavni? 520 00:32:27,490 --> 00:32:31,970 Pravzaprav je glavni, vendar Glavni je pravzaprav skriva od vas. 521 00:32:31,970 --> 00:32:34,560 Glavno je tukaj. 522 00:32:34,560 --> 00:32:37,120 Da izgleda znano. 523 00:32:37,120 --> 00:32:41,000 >> Torej v bistvu, kaj iOS počne znotraj glavnega 524 00:32:41,000 --> 00:32:43,540 je, da se vsakič, ko je glavna imenovan, ki je v bistvu 525 00:32:43,540 --> 00:32:49,000 kadar se app izvedeno, ustvari predmet, ki se imenuje AppDelegate. 526 00:32:49,000 --> 00:32:52,980 527 00:32:52,980 --> 00:32:57,350 Kot sem že omenil, celotna app je pravzaprav predmet sam po sebi. 528 00:32:57,350 --> 00:33:02,270 Torej, na ta način, v bistvu iOS app je povedal prevajalnik 529 00:33:02,270 --> 00:33:05,540 da je OK, grem, da ustvarite izdelek se imenuje AppDelegate, 530 00:33:05,540 --> 00:33:07,620 in da se bo moj app. 531 00:33:07,620 --> 00:33:09,640 Tako da boste morali iti skozi to AppDelegate 532 00:33:09,640 --> 00:33:12,040 in glej, kaj ta tip počne. 533 00:33:12,040 --> 00:33:14,850 Moja naloga je naredil zame. 534 00:33:14,850 --> 00:33:22,070 >> In v AppDelegate lahko vidite, da obstaja nekaj res čudne funkcije, 535 00:33:22,070 --> 00:33:25,290 tudi dejansko metode, ki Apple vas je že dal. 536 00:33:25,290 --> 00:33:27,464 Kaj je to? 537 00:33:27,464 --> 00:33:31,010 To so pravzaprav le protokoli da sem govoril. 538 00:33:31,010 --> 00:33:35,670 To so dogodki, ki Apple vas je dal na začetek. 539 00:33:35,670 --> 00:33:38,050 Nič ni v nekaterih funkcij, prav zdaj, 540 00:33:38,050 --> 00:33:40,820 ampak, če želimo, da bi začeli nekaj za naše app 541 00:33:40,820 --> 00:33:46,140 preden bo v prikazovanje vsaka pogled, to storimo tu. 542 00:33:46,140 --> 00:33:51,150 >> Lahko samo prebrali imena in mislim, Dogodek je dejansko res jasno. 543 00:33:51,150 --> 00:33:54,160 544 00:33:54,160 --> 00:33:58,350 Torej, zdaj glavna je ustvaril objekt za AppDelegate. 545 00:33:58,350 --> 00:34:05,220 In kaj se dogaja AppDelegate storiti se dejansko skriva tudi od vas. 546 00:34:05,220 --> 00:34:09,250 AppDelegate se bo začela nalaganju ViewController parka. 547 00:34:09,250 --> 00:34:13,170 Torej, to je v bistvu šlo za začetek nakladanja vse poglede, ki jih imate 548 00:34:13,170 --> 00:34:17,500 in šele postane pogled ki temelji na hierarhiji. 549 00:34:17,500 --> 00:34:21,280 >> Torej v tem primeru imamo samo en pogled, ki je tukaj. 550 00:34:21,280 --> 00:34:25,060 Tako, da je le pogled da se dogaja, da se imenuje. 551 00:34:25,060 --> 00:34:28,159 ViewController Logika je tukaj. 552 00:34:28,159 --> 00:34:32,159 To je koda, ki dejansko Nadzor stališče smo pravkar videli. 553 00:34:32,159 --> 00:34:33,679 Vse je v redu, kaj je tu kaj storiti. 554 00:34:33,679 --> 00:34:44,030 555 00:34:44,030 --> 00:34:50,560 Torej viewDidLoad zveni kot dogodka, ko v resnici je to tudi delegat, 556 00:34:50,560 --> 00:34:52,500 To je tudi protokol. 557 00:34:52,500 --> 00:34:56,350 >> Torej, karkoli se pogled naložen, Vse znotraj funkcije 558 00:34:56,350 --> 00:34:57,920 se bo imenoval. 559 00:34:57,920 --> 00:35:02,840 V tem primeru bi morali videti "Hello Tianyu! "Če zaženete program. 560 00:35:02,840 --> 00:35:09,820 561 00:35:09,820 --> 00:35:12,842 To je že malo počasen sestavljanje storyboard datotek. 562 00:35:12,842 --> 00:35:15,440 563 00:35:15,440 --> 00:35:18,190 No, res, ne vidimo izhoda za njo. 564 00:35:18,190 --> 00:35:20,720 To je zelo kul. 565 00:35:20,720 --> 00:35:22,000 Zdaj pa dejansko storiti Mario. 566 00:35:22,000 --> 00:35:25,400 567 00:35:25,400 --> 00:35:27,625 Grem opredeliti Zelo hitro delovanje. 568 00:35:27,625 --> 00:35:31,510 569 00:35:31,510 --> 00:35:54,245 marioWithLevels: rezultati (int) ravni. 570 00:35:54,245 --> 00:36:01,120 571 00:36:01,120 --> 00:36:06,410 >> V redu, to je pravzaprav super Značilnost s kodo samodejno dokončanje. 572 00:36:06,410 --> 00:36:10,680 Torej, ko pišete za in tip vstopiti, je že obupal predlogo 573 00:36:10,680 --> 00:36:12,325 za vas, kar je precej kul. 574 00:36:12,325 --> 00:36:50,480 575 00:36:50,480 --> 00:36:52,850 Da je treba pogledati resnici seznanjeni, da vas. 576 00:36:52,850 --> 00:36:55,940 577 00:36:55,940 --> 00:36:59,680 Žal mi je, da je moja krivda. 578 00:36:59,680 --> 00:37:15,790 579 00:37:15,790 --> 00:37:18,120 Vse je v redu, v redu. 580 00:37:18,120 --> 00:37:22,710 Da logika bi morala videti res pozna za vaju, predvsem samo Mario. 581 00:37:22,710 --> 00:37:26,140 >> Vendar bomo zdaj izpisal na konzola vsak čas, 582 00:37:26,140 --> 00:37:29,280 ker želimo, da nekako obdržati tir, kar smo se tiskanje. 583 00:37:29,280 --> 00:37:31,810 Bomo uporabili Rezultati nekako kasneje, 584 00:37:31,810 --> 00:37:35,010 prikazati tisk iz posledico uporabniku. 585 00:37:35,010 --> 00:37:37,730 Torej, namesto, da smo pravkar nslogging vse, 586 00:37:37,730 --> 00:37:42,410 ki smo shranjevanje vse v rezultat klic funkcije, 587 00:37:42,410 --> 00:37:44,070 vendar logika je povsem enako. 588 00:37:44,070 --> 00:37:48,030 589 00:37:48,030 --> 00:37:51,800 Ko smo ga, končamo samo tiskanje naše rezultate. 590 00:37:51,800 --> 00:37:59,330 591 00:37:59,330 --> 00:38:04,970 >> In tu namesto tiskanje my Ime, bomo pokličete funkcijo. 592 00:38:04,970 --> 00:38:15,340 593 00:38:15,340 --> 00:38:18,090 Poglejmo, kaj se zgodi. 594 00:38:18,090 --> 00:38:21,240 Ups, očitno. 595 00:38:21,240 --> 00:38:24,320 Imamo lepo malo piramida tukaj. 596 00:38:24,320 --> 00:38:28,370 To je v bistvu C, smo pravkar manipulacijo, kadar pokličete funkcijo 597 00:38:28,370 --> 00:38:30,010 in kako funkcija izgledal. 598 00:38:30,010 --> 00:38:31,560 Ni nič drugačen. 599 00:38:31,560 --> 00:38:34,040 Toda to je dejansko ni zelo razburljivo igro, 600 00:38:34,040 --> 00:38:37,500 ker nismo videli karkoli od iPhone app. 601 00:38:37,500 --> 00:38:42,120 >> Torej, če ste dejansko imajo iPhone app-- če ste dejansko imajo Mario iOS pravico 602 00:38:42,120 --> 00:38:45,080 zdaj, ne boš šel da vidim ničesar, kar 603 00:38:45,080 --> 00:38:49,450 ima to kaj opraviti z Mario, ker vsi ti izhodi v konzoli 604 00:38:49,450 --> 00:38:51,620 skrita od uporabnika. 605 00:38:51,620 --> 00:38:53,850 To je tisto, kar vidiš, ki je "Hello World !!!" 606 00:38:53,850 --> 00:38:55,720 Ni dobro. 607 00:38:55,720 --> 00:39:03,090 Zdaj pa poskusite narediti uporabnik vidi kaj bomo tiskanje. 608 00:39:03,090 --> 00:39:06,000 Tako da nam ni treba več označevati. 609 00:39:06,000 --> 00:39:09,800 Poskusimo in ugotoviti, kaj drugega, kar bi lahko bilo koristno. 610 00:39:09,800 --> 00:39:12,140 >> Tam je dejansko ena Element, ki se imenuje 611 00:39:12,140 --> 00:39:16,460 polje besedilo, ki bi lahko bi bilo zelo koristno za nas. 612 00:39:16,460 --> 00:39:19,880 To je v bistvu prikazuje regijo besedila, ki ga je mogoče urejati. 613 00:39:19,880 --> 00:39:22,320 Tako, da izgleda res koristno. 614 00:39:22,320 --> 00:39:23,810 Zdaj pa ga povlecite in ga spustite. 615 00:39:23,810 --> 00:39:26,880 616 00:39:26,880 --> 00:39:32,670 Wow, imamo pogled besedilno po našem mnenju, res fancy. 617 00:39:32,670 --> 00:39:35,430 To je malo prevelika. 618 00:39:35,430 --> 00:39:38,150 Naj bo manjši. 619 00:39:38,150 --> 00:39:40,290 Ga v centru. 620 00:39:40,290 --> 00:39:43,760 Naj bo manjši, kot dobro. 621 00:39:43,760 --> 00:39:50,110 >> Zdaj imamo pogled besedila, ki smo ga lahko se uporablja za prikaz našega končnega rezultata. 622 00:39:50,110 --> 00:39:52,860 Ampak zdaj je zagotovo ne bo šlo 623 00:39:52,860 --> 00:39:56,970 ker je no-- ViewController smo pravkar 624 00:39:56,970 --> 00:40:03,010 opredeljena ne ve, da je pogled na tekst tam. 625 00:40:03,010 --> 00:40:06,550 Zato moramo nekako povezati pogled besedila smo pravkar 626 00:40:06,550 --> 00:40:11,660 ustvarjena z razredom, ki je že z nami. 627 00:40:11,660 --> 00:40:14,860 >> Tako delamo, da je dejansko res čarobno. 628 00:40:14,860 --> 00:40:18,190 Tako odpirajo storyboard. 629 00:40:18,190 --> 00:40:22,220 Obstaja posebna [neslišno] imenovanega [? pomočnik?] [neslišno]. 630 00:40:22,220 --> 00:40:25,190 Ko kliknete, da je to bo odprla dve datoteki. 631 00:40:25,190 --> 00:40:29,425 Ena je razred in druga je ustrezen pogled na to. 632 00:40:29,425 --> 00:40:31,920 To je zelo, zelo koristno. 633 00:40:31,920 --> 00:40:35,950 In kaj je samo gre skozi datoteke .h. 634 00:40:35,950 --> 00:40:39,110 Control, to je [neslišno] logika. 635 00:40:39,110 --> 00:40:47,280 Press Control in povlecite Besedilo pogled v izjavi. 636 00:40:47,280 --> 00:40:48,780 Mi bomo za klic, da outputView. 637 00:40:48,780 --> 00:40:52,189 638 00:40:52,189 --> 00:40:53,670 Povezavo. 639 00:40:53,670 --> 00:40:59,420 Torej, tukaj smo razglasila novo premoženje za našo ViewController razredu. 640 00:40:59,420 --> 00:41:02,300 In nove nepremičnine je le pogled besedila 641 00:41:02,300 --> 00:41:05,000 smo ustvarili v stavbi vmesnika. 642 00:41:05,000 --> 00:41:07,990 Torej, na ta način smo lahko dostop do vseh podatkov 643 00:41:07,990 --> 00:41:13,630 in manipulirati vse, kar je v notranjosti pogled na izhod, kar je super. 644 00:41:13,630 --> 00:41:19,260 >> Torej v našem dejanskem kodo, kaj je naredil z njim nekaj. 645 00:41:19,260 --> 00:41:23,810 Tako da je ta čas, ko smo kot tiskanje od končnega rezultata za Mario, 646 00:41:23,810 --> 00:41:28,020 smo v prijavi ni ničesar. 647 00:41:28,020 --> 00:41:30,080 Mislim, da bi lahko naprej Izjava sečnje. 648 00:41:30,080 --> 00:41:41,490 Poleg tega, da smo pošljite odčitavanje smo pravkar 649 00:41:41,490 --> 00:41:47,622 ustvarjen z namenom proizvodnje, ki je UI textview smo pravkar ustvarili. 650 00:41:47,622 --> 00:41:48,746 Zdaj pa poglejmo, kaj se bo zgodilo. 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 piramido v app zdaj. 654 00:41:59,130 --> 00:42:06,720 >> Tako lahko uporabnik vidi naše proizvodnje, saj smo kopirali izhod iz naše kodo 655 00:42:06,720 --> 00:42:08,045 za naše vmesnik. 656 00:42:08,045 --> 00:42:10,950 To je zelo dobro. 657 00:42:10,950 --> 00:42:14,990 To ni to, da je dejansko zanimivo, ker smo can-- 658 00:42:14,990 --> 00:42:18,250 Vse app početja prikazuje piramido za vas, 659 00:42:18,250 --> 00:42:20,520 in tam je ne morete storiti ničesar o tem. 660 00:42:20,520 --> 00:42:22,330 To ni posebej vznemirljivo. 661 00:42:22,330 --> 00:42:27,840 Tako da zdaj naredimo gumb da bo jasno poglede. 662 00:42:27,840 --> 00:42:30,290 Zdi se, da bo gumb za pomoč. 663 00:42:30,290 --> 00:42:33,270 Povleci in spusti. 664 00:42:33,270 --> 00:42:33,900 En gumb. 665 00:42:33,900 --> 00:42:36,730 666 00:42:36,730 --> 00:42:37,320 Gumb za dva. 667 00:42:37,320 --> 00:42:49,170 668 00:42:49,170 --> 00:42:52,052 >> Torej, ko smo kliknite levo gumb, bi pogled jasno. 669 00:42:52,052 --> 00:42:53,635 Ni treba nič na zaslonu. 670 00:42:53,635 --> 00:42:56,970 In ko smo kliknite desno tipko, Mario, 671 00:42:56,970 --> 00:42:59,740 Pogled se bo ponovno pojavljajo. 672 00:42:59,740 --> 00:43:05,510 Na ta način moramo tudi storiti magic stvari, nadzor in povlecite 673 00:43:05,510 --> 00:43:08,740 na deklaraciji razreda v pomočnika director-- 674 00:43:08,740 --> 00:43:11,600 v pomočnika gledalca. 675 00:43:11,600 --> 00:43:18,620 V tem primeru smo podrobno da je treba, da je bilo dejanje. 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 >> Torej, tukaj smo že ustvarili tožba imenuje clearMario, 679 00:43:26,830 --> 00:43:34,210 ki je postopek, da bi se imenuje vsakič, ko pritisnemo gumb jasna. 680 00:43:34,210 --> 00:43:41,030 Torej v našem dejansko kodo, kaj je samo dal izhodno besedilo in pogled na izhodno 681 00:43:41,030 --> 00:43:44,620 v nič, in na ta način se bo pojavil biti jasna. 682 00:43:44,620 --> 00:43:47,500 683 00:43:47,500 --> 00:43:57,230 Poleg tega, pa si ustvarite druga metoda, imenovana runMario. 684 00:43:57,230 --> 00:44:00,140 685 00:44:00,140 --> 00:44:03,436 Oh žal, da ne bi smela biti lastnost. 686 00:44:03,436 --> 00:44:12,107 687 00:44:12,107 --> 00:44:13,940 Vse je v redu, da bi morala biti ukrep, kot dobro. 688 00:44:13,940 --> 00:44:25,780 689 00:44:25,780 --> 00:44:34,740 >> In ko je ta funkcija imenovani, smo samo teči Mario deset. 690 00:44:34,740 --> 00:44:37,620 691 00:44:37,620 --> 00:44:39,780 Upajmo, da bo v redu. 692 00:44:39,780 --> 00:44:41,120 Ali prevedite? 693 00:44:41,120 --> 00:44:43,920 Da. 694 00:44:43,920 --> 00:44:45,090 Zdaj imamo pogled. 695 00:44:45,090 --> 00:44:46,560 Imamo izhod. 696 00:44:46,560 --> 00:44:50,040 In kaj je samo videti, kaj se dogaja. 697 00:44:50,040 --> 00:44:52,590 Da je odšel. 698 00:44:52,590 --> 00:44:54,500 To je spet nazaj. 699 00:44:54,500 --> 00:44:57,620 Torej, tukaj smo določena kakšno funkcijo 700 00:44:57,620 --> 00:45:00,400 se bo imenoval, ko vpišemo v nekaj, 701 00:45:00,400 --> 00:45:03,160 ko smo s pritiskom na poseben gumb. 702 00:45:03,160 --> 00:45:07,890 To je v bistvu Shema ciljni ukrepi 703 00:45:07,890 --> 00:45:12,510 za dogodek pogon programiranje v cilju C. 704 00:45:12,510 --> 00:45:15,030 >> Poleg tega, to ni zelo razburljivo 705 00:45:15,030 --> 00:45:19,810 ker pa ne moremo spremeniti kako visoko se bo piramida je, 706 00:45:19,810 --> 00:45:23,640 tako da bomo verjetno želeli, da nekako dobili vložek uporabnika 707 00:45:23,640 --> 00:45:29,490 in spremenite višino piramida, ki temelji na tisto, kar izhoda. 708 00:45:29,490 --> 00:45:32,900 Tako da bomo za to. 709 00:45:32,900 --> 00:45:38,720 Tako da je ta čas, ko pravimo runMario, ne samo poklicati neposredno Mario. 710 00:45:38,720 --> 00:46:06,280 711 00:46:06,280 --> 00:46:07,000 Naslov Tale 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 zelo zanimivo. 715 00:46:25,160 --> 00:46:26,720 Kaj je delegat? 716 00:46:26,720 --> 00:46:28,950 Bom dal jaz tukaj. 717 00:46:28,950 --> 00:46:31,038 In bomo videli kaj to pomeni kasneje. 718 00:46:31,038 --> 00:46:46,380 719 00:46:46,380 --> 00:46:51,120 Torej, tukaj smo v bistvu ustvarila poseben primer imenuje opozorilo UI 720 00:46:51,120 --> 00:46:52,210 pogled. 721 00:46:52,210 --> 00:46:54,440 Pogled alert UI je v bistvu tisto, kar bo 722 00:46:54,440 --> 00:46:58,940 glej vsakič, ko nekaj pops up in vas vpraša za vnos, 723 00:46:58,940 --> 00:47:03,080 kot kaj se bo zgodilo, ko ste poskušali kupiti nekaj na App Store. 724 00:47:03,080 --> 00:47:14,250 >> Poleg tega, ko vas jo ustvarite, smo samo pokazati opozorilo. 725 00:47:14,250 --> 00:47:20,090 726 00:47:20,090 --> 00:47:22,568 Vse je v redu, kaj je samo hitro Test bo to delo ali ne. 727 00:47:22,568 --> 00:47:31,105 728 00:47:31,105 --> 00:47:32,140 To je zelo kul. 729 00:47:32,140 --> 00:47:55,370 730 00:47:55,370 --> 00:47:59,120 Zdaj pa dejansko ustvarjajo vnosno polje za razpis UI. 731 00:47:59,120 --> 00:48:01,170 To je, kako bomo to naredili. 732 00:48:01,170 --> 00:48:07,490 In bi morali imeti input pogled za razpis. 733 00:48:07,490 --> 00:48:09,020 Zelo kul. 734 00:48:09,020 --> 00:48:12,330 Reciva 10. 735 00:48:12,330 --> 00:48:14,900 >> To ni nič narediti prav Zdaj, ker klic dejansko 736 00:48:14,900 --> 00:48:17,770 ni spremenila za izvajanje mario. 737 00:48:17,770 --> 00:48:23,470 Torej je to postalo malo malo čudno, ker vsakič, ko 738 00:48:23,470 --> 00:48:30,790 pritisnemo gumb navzdol, ko smo pritisnite gumb na opozorilnem mnenju 739 00:48:30,790 --> 00:48:35,560 nekaj, kar bi se moralo zgoditi, vendar se to ne zgodi. 740 00:48:35,560 --> 00:48:37,220 Kako smo se ujeli, da je? 741 00:48:37,220 --> 00:48:41,280 Kako vemo, da je uporabnik je zavrnilo opozorilni pogled 742 00:48:41,280 --> 00:48:45,630 in že vnesli številko, saj zdaj nič ne dejansko dogaja. 743 00:48:45,630 --> 00:48:50,450 >> No, ste morda uganili prav, delegacija. 744 00:48:50,450 --> 00:48:55,440 Torej poleg vseh te izjave, 745 00:48:55,440 --> 00:49:03,190 moramo dodati novo delegacijo je pozval UI ogled pozorni delegata. 746 00:49:03,190 --> 00:49:06,440 Tako, da vsak Interakcija ali dogodek 747 00:49:06,440 --> 00:49:10,190 da bomo imeli z namenom opozarjanja UI 748 00:49:10,190 --> 00:49:14,100 se dogaja, da je treba ravnati naš razred, kot dobro. 749 00:49:14,100 --> 00:49:26,297 >> Torej, poleg tega, da ne bo Opozarjanje na gumb pogled kliknite na indeks. 750 00:49:26,297 --> 00:49:34,260 751 00:49:34,260 --> 00:49:37,730 To se doseže. 752 00:49:37,730 --> 00:49:42,020 Torej, v primeru, da imamo already-- tako da imamo 753 00:49:42,020 --> 00:49:46,210 ugotovil, protokol, bo izvajala dogodek, ko 754 00:49:46,210 --> 00:49:51,320 kliknemo na gumb Končano za opozarjanje pogled. 755 00:49:51,320 --> 00:49:55,976 Torej, vsakič, ko zavrže Pogled pozorni, naj bi se to zgodilo. 756 00:49:55,976 --> 00:49:57,350 Naj samo preizkusiti zelo hitro. 757 00:49:57,350 --> 00:50:16,220 758 00:50:16,220 --> 00:50:19,300 No res, da smo prišli do sem. 759 00:50:19,300 --> 00:50:22,210 >> Torej, tukaj, kaj ne bomo dejansko dobili, je dejansko 760 00:50:22,210 --> 00:50:43,120 dobili the-- Tako želimo priti ven besedilo, ki ga imamo pred 761 00:50:43,120 --> 00:50:45,350 vpisana v opozorilnem pogled. 762 00:50:45,350 --> 00:50:48,505 In temelji na besedilu, smo gre za prikaz Mario. 763 00:50:48,505 --> 00:50:52,336 764 00:50:52,336 --> 00:50:55,480 To zelo hitro izkaže če to dejansko deluje ali ne. 765 00:50:55,480 --> 00:50:59,476 Torej, v tem primeru, če bomo vhod, recimo, 10, bi morali videti 10. 766 00:50:59,476 --> 00:51:02,740 767 00:51:02,740 --> 00:51:05,210 >> Zelo dobro, imamo številko tukaj. 768 00:51:05,210 --> 00:51:06,470 To je zelo dobro. 769 00:51:06,470 --> 00:51:16,840 Zdaj bo zadnji korak be-- Torej Zadnji korak moramo storiti zdaj 770 00:51:16,840 --> 00:51:21,100 je le poklicati Mario z stopnja temelji na vnosu 771 00:51:21,100 --> 00:51:23,270 da smo dal v pogled opozarjanja. 772 00:51:23,270 --> 00:51:26,920 Zato moramo spremeniti ta niz v iOS. 773 00:51:26,920 --> 00:51:33,820 774 00:51:33,820 --> 00:51:35,496 Statična overflow je zelo super. 775 00:51:35,496 --> 00:51:44,930 776 00:51:44,930 --> 00:51:51,182 In potem smo le klic samozaposlene marioWithLevels vrednost. 777 00:51:51,182 --> 00:51:54,550 778 00:51:54,550 --> 00:51:56,284 Poglejmo bo, da dejansko delo ali ne. 779 00:51:56,284 --> 00:51:59,070 780 00:51:59,070 --> 00:52:01,550 >> Mi smo že dal piramido. 781 00:52:01,550 --> 00:52:04,785 Poskusimo, da spremenite višino. 782 00:52:04,785 --> 00:52:06,530 To dejansko deluje. 783 00:52:06,530 --> 00:52:07,610 To je zelo kul. 784 00:52:07,610 --> 00:52:10,420 Tako da zdaj si lahko samo input vsaka vrednost, ki jo želite. 785 00:52:10,420 --> 00:52:12,440 Reciva, štiri. 786 00:52:12,440 --> 00:52:14,260 To je super. 787 00:52:14,260 --> 00:52:17,090 Torej je to v bistvu res hitro primer 788 00:52:17,090 --> 00:52:23,170 kako ustvariti projekt v ih kodo in kako, da bo res hitro Priklop 789 00:52:23,170 --> 00:52:26,220 nekaj zelo preprostih dogodkov in funkcije. 790 00:52:26,220 --> 00:52:28,840 >> Tako je vir dogaja da se na spletu kasneje. 791 00:52:28,840 --> 00:52:33,400 Torej, če ste zainteresirani kako iOS Mario deluje, 792 00:52:33,400 --> 00:52:38,360 Bom dal točno enako Projekti na spletni strani CS50 kasneje. 793 00:52:38,360 --> 00:52:41,260 Mi smo v bistvu končali s poletje, in preden končamo 794 00:52:41,260 --> 00:52:45,190 Rad bi vas opozoriti, da fantje nekaj res super viri, 795 00:52:45,190 --> 00:52:47,550 so na voljo na spletu. 796 00:52:47,550 --> 00:52:52,270 >> Očitno dokumentacija Apple se dogaja, da bi bilo zelo koristno. 797 00:52:52,270 --> 00:52:57,630 Toda poleg tega sem še posebej Priporočamo, štiri vire, koda šolske, 798 00:52:57,630 --> 00:53:02,120 tree house, AppCoda in WWDC videos. 799 00:53:02,120 --> 00:53:07,270 Šola kodo in drevo hiše so dve spletne strani na spletu, ki izobražujejo, 800 00:53:07,270 --> 00:53:10,210 ki posebej osredotočiti na področju programske opreme. 801 00:53:10,210 --> 00:53:16,930 Predvsem za oznako šole, imajo res dober tutorial na iOS. 802 00:53:16,930 --> 00:53:19,550 >> To je zelo hiter primer za to. 803 00:53:19,550 --> 00:53:22,980 Dejansko ustvarjajo zares cute-- poglej to malo srčkan iPhone 804 00:53:22,980 --> 00:53:24,920 dude tja, to je super. 805 00:53:24,920 --> 00:53:31,010 In način, kako razložiti Cilj C sintaksa je popolnoma jasno. 806 00:53:31,010 --> 00:53:32,230 Tree Hiša je isto. 807 00:53:32,230 --> 00:53:34,660 In AppCoda je forum. 808 00:53:34,660 --> 00:53:38,130 To je pravzaprav blog, ki je vodila jo res doživeli Cilj C 809 00:53:38,130 --> 00:53:39,120 programer. 810 00:53:39,120 --> 00:53:43,950 In vse tiste vaje v AppCoda so zelo kratek in preprost za uporabo, 811 00:53:43,950 --> 00:53:45,390 zelo priporočljivo. 812 00:53:45,390 --> 00:53:47,700 >> In če ste razvijalec, vsekakor iti preveriti 813 00:53:47,700 --> 00:53:55,660 kako se WWDC videoposnetke, kjer si lahko seznanili z najnovejšo iOS programiranje 814 00:53:55,660 --> 00:53:58,250 tehnike, API in knjižnice. 815 00:53:58,250 --> 00:54:02,850 Tako da je precej je za seminar. 816 00:54:02,850 --> 00:54:03,820 Najlepša hvala. 817 00:54:03,820 --> 00:54:08,040 In upam, da boste zabavali ustvarja svojo iOS aplikacijo. 818 00:54:08,040 --> 00:54:09,302