1 00:00:00,000 --> 00:00:07,880 2 00:00:07,880 --> 00:00:09,800 >> RHED SHI: Welcome to sien CS50 seminaar - 3 00:00:09,800 --> 00:00:11,630 Inleiding tot IOS. 4 00:00:11,630 --> 00:00:13,290 Baie dankie aan almal vir die komende. 5 00:00:13,290 --> 00:00:16,610 Ek hoop dat jy net so opgewonde as ek oor IOS. 6 00:00:16,610 --> 00:00:22,300 Verlede jaar het ek CS50 as 'n stage, en ek basies geleer IOS vir my 7 00:00:22,300 --> 00:00:23,490 finale projek. 8 00:00:23,490 --> 00:00:26,350 En dit was 'n bietjie - 9 00:00:26,350 --> 00:00:30,530 Wel, dit was nie maklik nie, maar daar is baie ondersteuning tutoriale aanlyn. 10 00:00:30,530 --> 00:00:33,760 En ek hoop regtig dat hierdie seminaar, sal ek gee julle 'n kop 11 00:00:33,760 --> 00:00:36,750 begin op IOS-ontwikkeling 12 00:00:36,750 --> 00:00:40,490 >> So, in terme van IOS-ontwikkeling, Daar is twee belangrike dinge wat ons 13 00:00:40,490 --> 00:00:42,090 vandag wil dek. 14 00:00:42,090 --> 00:00:43,290 Eerstens, die taal - 15 00:00:43,290 --> 00:00:46,650 die taal gaan wees in Objective-C. Ons sal eintlik hoor 16 00:00:46,650 --> 00:00:47,750 iets wat regtig opwindend. 17 00:00:47,750 --> 00:00:51,500 So, kan jy aansluit by die hele Apple gemeenskap van ontwikkelaars en die bou van 'n paar 18 00:00:51,500 --> 00:00:52,940 regtig awesome apps. 19 00:00:52,940 --> 00:00:58,670 >> Ook, IOS 7 is 'n pragtige, hopelik, sommige van julle. 20 00:00:58,670 --> 00:01:01,130 Maar dit is omstrede, ek weet. 21 00:01:01,130 --> 00:01:05,349 En veral, wat ek wil doen, is om gids jy deur Objective-C en ook 22 00:01:05,349 --> 00:01:10,650 Xcode, wat is die geïntegreerde ontwikkeling omgewing wat jy sal wees 23 00:01:10,650 --> 00:01:13,460 werk in vir IOS. 24 00:01:13,460 --> 00:01:19,140 >> En ja, net 'n woord op Objective-C. Kortom, dit is presies dieselfde as C, 25 00:01:19,140 --> 00:01:22,790 maar met 'n baie ander dinge. 26 00:01:22,790 --> 00:01:27,710 En so, meer streng is, is dit eintlik 'n super-stel C. So enigiets wat jy 27 00:01:27,710 --> 00:01:32,280 kan doen in C nou, wat basies graag pset 0 tot 6, moet jy 28 00:01:32,280 --> 00:01:34,170 kan doen in Objective-C. 29 00:01:34,170 --> 00:01:38,620 >> So, moenie bang wees oor hierdie nuwe voel nie taal wat jy gaan om te leer. 30 00:01:38,620 --> 00:01:42,120 Jy het alreeds gedek 'n baie dit, want jy het alles gedoen C afgelope 31 00:01:42,120 --> 00:01:45,880 semester, behalwe nou jy gaan 'n baie meer om te werk met te hê. 32 00:01:45,880 --> 00:01:49,270 En ek gaan net jou deur 'n te lei paar voorbeelde n paar uit te lig 33 00:01:49,270 --> 00:01:53,920 van die belangrikste verskille wat ek gevind het was werklik belangrik wanneer ek geleer 34 00:01:53,920 --> 00:01:57,180 Objective-C verlede jaar. 35 00:01:57,180 --> 00:02:00,910 >> Wel, eintlik, wel, die ander punt is, Objective-C is, natuurlik, 36 00:02:00,910 --> 00:02:02,200 objekgeoriënteerde. 37 00:02:02,200 --> 00:02:06,340 En ons sal 'n bietjie te bespreek oor wat dit beteken later. 38 00:02:06,340 --> 00:02:11,340 Eintlik is dit is soos hoe jy gewerk het met structs in die afgelope pset, met 39 00:02:11,340 --> 00:02:13,360 nodes en soortgelyke ander dinge soos dat. 40 00:02:13,360 --> 00:02:17,110 Behalwe, in Objective-C, alles is 'n voorwerp, en jy gaan wees 41 00:02:17,110 --> 00:02:20,720 slaag om verwysings na voorwerpe eerder as om die waardes self. 42 00:02:20,720 --> 00:02:25,050 So, dit is net iets wat belangrik is in gedagte te hou. 43 00:02:25,050 --> 00:02:29,140 >> So, hoekom nie begin ons met 'n paar verskille in sintaks tussen C en 44 00:02:29,140 --> 00:02:30,540 Objective-C? 45 00:02:30,540 --> 00:02:38,310 Ek wil die # beklemtoon sluit, moet jy weet, standaard io.h in C en C + +, met 46 00:02:38,310 --> 00:02:44,030 die doelstelling-C-weergawe van dit wat is # invoer, en dan 'n soort van 47 00:02:44,030 --> 00:02:44,790 kop-lêer. 48 00:02:44,790 --> 00:02:48,165 In hierdie geval, sou dit wees UIKit, jy weet, streep UIKit.h. 49 00:02:48,165 --> 00:02:53,560 Dit kan ook wees, jy weet, MKMapview aan u streep MKMapview.h as jy wil 50 00:02:53,560 --> 00:02:56,370 te doen, soos 'n kaart binnekant van jou jeug. 51 00:02:56,370 --> 00:02:57,110 Soortgelyke dinge soos dat. 52 00:02:57,110 --> 00:03:01,250 >> So, die belangrikste ding is, sluit het nou verander in te voer. 53 00:03:01,250 --> 00:03:04,340 Maar die idee is nog steeds. 54 00:03:04,340 --> 00:03:10,460 Jy gaan word die invoer van 'n soort van kop-lêer in jou program. 55 00:03:10,460 --> 00:03:14,550 >> Ek wil ook die verskil te beklemtoon tussen printf en NSLog. 56 00:03:14,550 --> 00:03:19,760 Maar, soos ons vroeër gesê het, Objective-C is 'n streng super-stel 57 00:03:19,760 --> 00:03:22,800 C, wat beteken dat printf bestaan in Objective-C, ook. 58 00:03:22,800 --> 00:03:24,340 Maar, die meeste mense gebruik dit nie. 59 00:03:24,340 --> 00:03:28,245 Die meeste mense gebruik dit NSLog omdat dit gee jou 'n tyd stempel, en ons sal sien 60 00:03:28,245 --> 00:03:29,780 dit in aksie later. 61 00:03:29,780 --> 00:03:33,560 Maar, dit is oor die algemeen 'n meer bruikbare manier om uit te druk veranderlikes. 62 00:03:33,560 --> 00:03:38,220 >> En ek wil ook dat na vore te bring NSLog neem in presies dieselfde 63 00:03:38,220 --> 00:03:41,650 plekhouer waardes as printf doen - 64 00:03:41,650 --> 00:03:45,900 sodat% d is vir 'n int, % F is oor 'n float. 65 00:03:45,900 --> 00:03:49,750 Ek wil egter nie na vore te bring hierdie laaste een - 66 00:03:49,750 --> 00:03:52,960 NSLog% op teken - 67 00:03:52,960 --> 00:03:55,390 dit is 'n plekhouer vir 'n voorwerp. 68 00:03:55,390 --> 00:04:01,160 En as ek vroeër gesê het, Objective-C handel pretty much meestal in voorwerpe, 69 00:04:01,160 --> 00:04:05,020 en so dit sal kom in die gebruik wanneer jy wil uit te druk, miskien, miskien 'n 70 00:04:05,020 --> 00:04:08,390 NSArray, of NSDictionary, of 'n NSString. 71 00:04:08,390 --> 00:04:13,750 >> So ook, kennis dat, in ons NSLog verklaring, ons het 'n op-teken 72 00:04:13,750 --> 00:04:15,380 van die kwotasie - 73 00:04:15,380 --> 00:04:20,769 dit is dat snare aan te dui, nou, in Objective-C is voorwerpe. 74 00:04:20,769 --> 00:04:23,310 Hulle is nie meer net kar sterre. 75 00:04:23,310 --> 00:04:25,530 Hulle is voorwerpe en is so behandel. 76 00:04:25,530 --> 00:04:28,690 >> So, dit is regtig belangrik dat wanneer jy NSLog gebruik neem dit in 'n S 77 00:04:28,690 --> 00:04:32,580 string, wat beteken dat jy sal moet 'n by in te sluit in die voorkant van jou 78 00:04:32,580 --> 00:04:34,270 aanhalingstekens. 79 00:04:34,270 --> 00:04:38,290 En dit is hoekom jy sien, hier, in al my funksie oproepe na hierdie NSLog, ek 80 00:04:38,290 --> 00:04:42,400 'n by in die voorkant van die aanhalings, selfs al die% d en die% f's is 81 00:04:42,400 --> 00:04:45,200 almal dieselfde van C. 82 00:04:45,200 --> 00:04:47,930 >> Enige vrae so ver? 83 00:04:47,930 --> 00:04:50,920 Ek sal probeer om te gaan deur middel van hierdie so vinnig dat ons meer tyd om te werk 84 00:04:50,920 --> 00:04:55,210 met Xcode en Objective-C, so dat julle meer kan kry 85 00:04:55,210 --> 00:04:57,630 vertroud met dit. 86 00:04:57,630 --> 00:05:01,900 >> Volgende, ek wil iets uit te lig konseptueel belangrik. 87 00:05:01,900 --> 00:05:05,130 So, in C, die meeste dinge funksies. 88 00:05:05,130 --> 00:05:06,280 Ons maak 'n funksie oproep. 89 00:05:06,280 --> 00:05:10,190 Ons verklaar funksies op hierdie manier, met return eerste, dan die 90 00:05:10,190 --> 00:05:13,570 funksie naam, hakies, en dan watter argumente en die tipe 91 00:05:13,570 --> 00:05:15,590 hierdie argumente wat ons wil om te slaag in 92 00:05:15,590 --> 00:05:19,970 En objektiewe-C, want alles is 'n voorwerp of klas - 93 00:05:19,970 --> 00:05:23,970 sodat die klas en voorwerp is twee terme wat meestal sinoniem met mekaar, 94 00:05:23,970 --> 00:05:28,270 sodat Ek hulle uitruilbaar gebruik Dwarsdeur die seminaar. 95 00:05:28,270 --> 00:05:34,090 >> Maar, sal jy sien dat ons metodes in Objective-C eerder as funksies. 96 00:05:34,090 --> 00:05:36,390 En metodes behoort aan voorwerpe. 97 00:05:36,390 --> 00:05:38,950 So net so, miskien neem byvoorbeeld, knoop - 98 00:05:38,950 --> 00:05:40,250 ons soort [onhoorbaar] 99 00:05:40,250 --> 00:05:44,390 knoop van pset 6 of 5 - 100 00:05:44,390 --> 00:05:49,590 ons het die woord, eiendom, of die volgende knoop wyser. 101 00:05:49,590 --> 00:05:53,880 Metodes is eenvoudig funksies binne van 'n soort struktuur. 102 00:05:53,880 --> 00:05:57,510 >> So, in hierdie geval, sou die struktuur die voorwerp, en dan die metode is 103 00:05:57,510 --> 00:05:59,260 iets wat behoort aan 'n voorwerp. 104 00:05:59,260 --> 00:06:02,650 En dit is hoe jy sou verklaar, soort van 'n metode. 105 00:06:02,650 --> 00:06:07,990 Jy sal met, weer, die terugkeer begin type - so, het ek probeer om in te kleur 106 00:06:07,990 --> 00:06:12,990 kode om die sleutel woorde hier sodat julle kan sien die, ten minste, opmaak 107 00:06:12,990 --> 00:06:17,650 ooreenkomste tussen funksie verklarings en metode verklarings. 108 00:06:17,650 --> 00:06:21,990 So, jy begin met, jy weet, 'n terugkeer type - in hierdie geval, dit is 'n skikking, of 109 00:06:21,990 --> 00:06:23,910 'n NSArray wyser - 110 00:06:23,910 --> 00:06:26,710 en dan moet jy hierdie metode. 111 00:06:26,710 --> 00:06:30,900 En dan, wat is interessant hier is dat in plaas van hakies, ons 112 00:06:30,900 --> 00:06:32,900 het hierdie dubbelpunte. 113 00:06:32,900 --> 00:06:38,450 En dan, in die voorkant van ons argumente, ons sit weer in hakies die tipe 114 00:06:38,450 --> 00:06:39,370 van ons argument. 115 00:06:39,370 --> 00:06:43,160 >> So, nou ek probeer om die vergelyking tussen, jy weet, N en 116 00:06:43,160 --> 00:06:45,450 groot aantal, omdat hulle beide soos ints. 117 00:06:45,450 --> 00:06:49,580 En dan, die ander een is 'n NSUInteger tipe. 118 00:06:49,580 --> 00:06:56,390 En dan, met Objective-C, wanneer jy wil verskeie argumente in te hê 119 00:06:56,390 --> 00:07:00,030 jou metode klousule, jy, soort van, skei hulle uit soort van soos hierdie - 120 00:07:00,030 --> 00:07:03,790 Ek is nie heeltemal seker hoe om dit te beskryf, maar dit is 'n goeie voorbeeld van hoe jy 121 00:07:03,790 --> 00:07:06,530 kan verskeie argumente het daar in. 122 00:07:06,530 --> 00:07:10,360 >> Jy kan natuurlik, net totaal ignoreer die andArray kolon NSArray 123 00:07:10,360 --> 00:07:13,240 skikking as jy net 'n metode wou wat neem in een argument. 124 00:07:13,240 --> 00:07:13,677 Ja, die vraag. 125 00:07:13,677 --> 00:07:18,701 >> Publiek: Is beide NSUInteger en NSArray argumente wat in geneem kan word 126 00:07:18,701 --> 00:07:21,530 binne die NSArray? 127 00:07:21,530 --> 00:07:22,060 >> RHED SHI: Ja. 128 00:07:22,060 --> 00:07:23,400 So, laat ek verduidelik. 129 00:07:23,400 --> 00:07:23,790 So, ja. 130 00:07:23,790 --> 00:07:30,260 So, die vraag is, is NSUInteger en NSArray * soorte van die argumente, 131 00:07:30,260 --> 00:07:31,570 en dat die inligting korrek is. 132 00:07:31,570 --> 00:07:35,700 So, jy wil altyd om te spesifiseer wat die tipe van jou argument is. 133 00:07:35,700 --> 00:07:41,570 En hier, ek probeer om jou te voer sommige van die sintaksis en woordeskat van 134 00:07:41,570 --> 00:07:45,910 Objective-C, so dit is die werklike tipes dat jy doen het met. 135 00:07:45,910 --> 00:07:48,970 >> En as jy sien, skikkings is nie meer nie, soort van, 136 00:07:48,970 --> 00:07:50,780 eenvoudige bracket dinge. 137 00:07:50,780 --> 00:07:52,060 Hulle is voorwerpe. 138 00:07:52,060 --> 00:07:56,700 Hoewel, as ons gaan op na die volgende skuif, kan ons sien dat ons kan 139 00:07:56,700 --> 00:08:02,510 hard-kode 'n NSArray in Objective-C met bloot 'n simbool op die voorkant van 140 00:08:02,510 --> 00:08:04,190 die hakies. 141 00:08:04,190 --> 00:08:08,650 Ek is nie eintlik seker of Ek sintakties hard-gekodeerde 'n skikking 142 00:08:08,650 --> 00:08:16,020 korrek vir die C-weergawe, maar dit is veronderstel is om te wees in 'n C skikking. 143 00:08:16,020 --> 00:08:19,760 >> So, dit is hoe jy wil, jy weet, miskien die funksies of die gebruik van die 144 00:08:19,760 --> 00:08:21,990 metodes wat ons vroeër geskep het. 145 00:08:21,990 --> 00:08:22,250 Reg? 146 00:08:22,250 --> 00:08:25,340 So, dit is waar ons verklaar ons funksie en ons metode. 147 00:08:25,340 --> 00:08:28,020 En nou is ons wil om dit te gebruik in ons program, en dit is 148 00:08:28,020 --> 00:08:29,450 hoe ons dit sou doen. 149 00:08:29,450 --> 00:08:32,400 So, in C, sou jy het, jy weet, miskien, 'n Bool b, en jy stel dit na 150 00:08:32,400 --> 00:08:36,549 gelyk is aan die funksie, en dan jy slaag in die argumente. 151 00:08:36,549 --> 00:08:39,190 >> In Objective-C, is dit redelik baie dieselfde ding. 152 00:08:39,190 --> 00:08:43,370 Jy het NSArray * my_array, en dit is gaan gelyk - nou, die enigste 153 00:08:43,370 --> 00:08:47,460 verskil hier is die voorwerp ding, wat ek in geel uitgelig is en 154 00:08:47,460 --> 00:08:51,180 soos jy kan sien, in C, is daar geen ander geel woord. 155 00:08:51,180 --> 00:08:54,170 En dit is omdat metodes behoort met 'n sekere voorwerp. 156 00:08:54,170 --> 00:08:59,800 So dit is waarom ek 'n voorwerp te hê dat, soort van, noem hierdie metode op 157 00:08:59,800 --> 00:09:04,360 die getal nul, en dan die NSArray a, b, c, d. 158 00:09:04,360 --> 00:09:05,350 Enige vrae oor wat? 159 00:09:05,350 --> 00:09:12,190 >> Ons sal hierdie konsepte in aksie sien redelik gou as ons gaan in 'n demo. 160 00:09:12,190 --> 00:09:13,400 OK. 161 00:09:13,400 --> 00:09:17,170 Nou, ek wil 'n bietjie te kort praat oor Xcode 5, wat is die 162 00:09:17,170 --> 00:09:21,160 geïntegreerde ontwikkeling omgewing dat jy moet werk met. 163 00:09:21,160 --> 00:09:26,160 Ek weet baie van julle, of 'n paar van julle, het nie Macs, wat 'n probleem 164 00:09:26,160 --> 00:09:30,490 omdat Xcode is nie beskikbaar nie vir Windows en PC. 165 00:09:30,490 --> 00:09:32,785 Moet my nie vra hoekom nie, maar waarskynlik - 166 00:09:32,785 --> 00:09:33,730 ja, korporatiewe. 167 00:09:33,730 --> 00:09:35,290 Wat ook al. 168 00:09:35,290 --> 00:09:39,360 Maar in elk geval, so ek is jammer as sommige van het jy 'n soort van af te laai 169 00:09:39,360 --> 00:09:43,000 virtuele masjien vir Mac in Om Xcode 5 te voer. 170 00:09:43,000 --> 00:09:46,460 Maar dit is 'n mooi nifty sagteware te gebruik. 171 00:09:46,460 --> 00:09:51,280 >> En so, voordat ons duik in enige soort van demo, ek wil net vir jou 'n om te wys 172 00:09:51,280 --> 00:09:55,700 prentjie van wat Xcode lyk soos in jou venster, en dan ook praat oor 173 00:09:55,700 --> 00:09:57,670 wat die hele ruimte is. 174 00:09:57,670 --> 00:10:01,600 So, dit is soort van soos om te leer hoe om te gebruik Microsoft Word, behalwe as jy wil 175 00:10:01,600 --> 00:10:04,675 raak vertroud met al die verskillende dinge wat 176 00:10:04,675 --> 00:10:06,250 gaan hier aan. 177 00:10:06,250 --> 00:10:11,160 >> So die eerste, ek wil hê jy moet daarop om die nutsbalk aan die bokant. 178 00:10:11,160 --> 00:10:14,450 Jy sal sien dat, by die top, jy die lêer se naam het - 179 00:10:14,450 --> 00:10:18,100 of eintlik, jou projek naam en dan jou lêer naam. 180 00:10:18,100 --> 00:10:20,940 Neem kennis van die spel en die stop knoppies. 181 00:10:20,940 --> 00:10:24,210 Dit is die een wat jy sal wees gebruik om jou artikels te loop op die 182 00:10:24,210 --> 00:10:25,600 simulator - 183 00:10:25,600 --> 00:10:26,550 die IOS simulator. 184 00:10:26,550 --> 00:10:29,940 Dit kom outomaties met Xcode 5, sodat jy nie hoef te bekommer oor 185 00:10:29,940 --> 00:10:32,070 laai 'n soort van simulator. 186 00:10:32,070 --> 00:10:34,700 Jy druk net speel en dan loop dit jou artikels. 187 00:10:34,700 --> 00:10:39,230 En jy kan speel met jou, en Jy sal sien hoe dit werk later. 188 00:10:39,230 --> 00:10:42,690 >> En dan, in die sentrum, natuurlik, is waar al jou pragtige kode is 189 00:10:42,690 --> 00:10:44,240 gaan om te gaan. 190 00:10:44,240 --> 00:10:48,340 En dan, op die linkerkant, sal jy hierdie, soort van, gids - 191 00:10:48,340 --> 00:10:50,340 navigasie - 192 00:10:50,340 --> 00:10:53,970 en dan sal jy ook sien dat, saam met ikoon in die gids, daar is 'n 193 00:10:53,970 --> 00:10:57,680 n klomp van die ander ikone daar wat later nuttig sal wees. 194 00:10:57,680 --> 00:11:04,710 >> En dan, aan die regterkant is 'n program area waar jy kan werk met 195 00:11:04,710 --> 00:11:09,620 sommige van die voorwerpe en spesifiseer, jy weet wat die kleur moet wees, wat 196 00:11:09,620 --> 00:11:12,040 van die skrif moet wees, ensovoorts. 197 00:11:12,040 --> 00:11:15,890 Alhoewel, alles wat jy doen in die nut gebied is, kan jy 198 00:11:15,890 --> 00:11:17,480 doen in die kode so goed. 199 00:11:17,480 --> 00:11:21,630 En so gaan ek deur middel van twee voorbeelde van die gebruik van, eenvoudig, geen kode op 200 00:11:21,630 --> 00:11:23,730 almal - of baie lae-kode - 201 00:11:23,730 --> 00:11:28,290 verse al-kode, net sodat julle weet wat jy kan en nie kan doen in 202 00:11:28,290 --> 00:11:29,260 Xcode en Objective-C. 203 00:11:29,260 --> 00:11:32,770 >> En dan, uiteindelik, op die bodem, jy het die debug gebied. 204 00:11:32,770 --> 00:11:37,270 So, jy hoef nie meer GDB uit te voer, ensovoorts, op jou programme. 205 00:11:37,270 --> 00:11:39,180 Dit doen dit outomaties vir jou. 206 00:11:39,180 --> 00:11:42,880 En jy kan ook druk dinge in hierdie gebied. 207 00:11:42,880 --> 00:11:46,790 So eintlik, later, ons gaan deur mario.c, as jy ouens onthou 208 00:11:46,790 --> 00:11:49,000 dat, in die Xcode. 209 00:11:49,000 --> 00:11:50,360 Sodat pret moet wees. 210 00:11:50,360 --> 00:11:55,870 >> En dan, net om dit terug te bring na Objective-C, ek wil uit te lig wat 211 00:11:55,870 --> 00:11:57,440 wat jy kan doen met if-stellings. 212 00:11:57,440 --> 00:12:03,160 So, jy weet, want Objective-C is 'n superset van C, alles wat jy doen is, 213 00:12:03,160 --> 00:12:06,890 letterlik, dieselfde as C. Jy moet net ligte verskille. 214 00:12:06,890 --> 00:12:10,810 So, sal jy die vorm Kennisgewing vir 'n as verklaring is nog steeds dieselfde - jy het 215 00:12:10,810 --> 00:12:14,280 As en dan moet jy hakies met 'n voorwaarde binnekant van dit en dan 216 00:12:14,280 --> 00:12:17,150 krulhakies vir alles wat jy wil doen binnekant van daar. 217 00:12:17,150 --> 00:12:21,680 >> Maar ek wou dit skuif op te sit hier, net om te illustreer dat, 218 00:12:21,680 --> 00:12:25,680 omdat ons te doen het met voorwerpe nou, ons sal hierdie dinge te gebruik 219 00:12:25,680 --> 00:12:31,240 genoem wil hê, is gelyk aan string, wat is, toevallig, 'n metode van 'n 220 00:12:31,240 --> 00:12:33,710 string of 'n NSString voorwerp. 221 00:12:33,710 --> 00:12:38,600 So, woord, in hierdie geval, is 'n NSString beswaar, en dit het 'n metode genoem is 222 00:12:38,600 --> 00:12:44,150 gelyk aan string, en dan is ons verby in 'n harde-gekodeerde string te sien 223 00:12:44,150 --> 00:12:48,110 of diegene gelyk aan mekaar. 224 00:12:48,110 --> 00:12:51,580 >> Enige vrae so ver? 225 00:12:51,580 --> 00:12:52,440 OK. 226 00:12:52,440 --> 00:12:56,190 En, ek wil om te gaan 'n verklaring vir ook. 227 00:12:56,190 --> 00:13:01,420 >> So, byvoorbeeld, as ons wou loop oor die lengte van 'n string in C, hierdie 228 00:13:01,420 --> 00:13:03,710 moet aan jou bekend wees. 229 00:13:03,710 --> 00:13:07,840 En in Objective-C, wil ek om dit te beklemtoon, soort van, 230 00:13:07,840 --> 00:13:09,235 metode genoem telling. 231 00:13:09,235 --> 00:13:13,260 232 00:13:13,260 --> 00:13:15,550 Wel, eintlik, laat my net neem dit terug. 233 00:13:15,550 --> 00:13:17,200 Telling is 'n metode van skikking. 234 00:13:17,200 --> 00:13:21,070 Dit is egter meer spesifiek 'n eiendom van die skikking, wat is die rede waarom jy 235 00:13:21,070 --> 00:13:22,380 kan gebruik om die dot-notasie. 236 00:13:22,380 --> 00:13:25,870 Maar ek wil nie te kry in te veel van hierdie konseptuele dinge, wil ek net 237 00:13:25,870 --> 00:13:30,140 om jou te wys hoe dinge sou lyk soos in Objective-C versus C. 238 00:13:30,140 --> 00:13:35,400 >> En ook, wil ek daarop wys dat selfs al het ek het al met behulp NSUInteger 239 00:13:35,400 --> 00:13:39,860 in die voorkant van al my i's in Objective-C, jy kan ook gebruik int, want int is 240 00:13:39,860 --> 00:13:42,290 heeltemal geldig in Objective-C, ook. 241 00:13:42,290 --> 00:13:42,475 Ja? 242 00:13:42,475 --> 00:13:44,350 >> Publiek: Is dit net stilistiese, of is - 243 00:13:44,350 --> 00:13:44,760 >> RHED SHI: Ja. 244 00:13:44,760 --> 00:13:46,060 So, as jy sal sien - 245 00:13:46,060 --> 00:13:49,390 so, die vraag is, is dat net 'n stilistiese kwessie. 246 00:13:49,390 --> 00:13:54,820 As jy sien, ek het 'n, soort van, ster asterisk ding af aan die onderkant, en 247 00:13:54,820 --> 00:13:59,870 die skakel neem jou na 'n Stapeloorvloei vorm, waar iemand verduidelik 248 00:13:59,870 --> 00:14:03,640 die verskil tussen 'n int in NSInteger en 'n NSUInteger. 249 00:14:03,640 --> 00:14:05,540 En so, kan jy daaroor later lees. 250 00:14:05,540 --> 00:14:07,640 Hierdie skyfies sal wees, natuurlik, aan u beskikbaar. 251 00:14:07,640 --> 00:14:10,300 252 00:14:10,300 --> 00:14:11,280 >> Kom ons kyk. 253 00:14:11,280 --> 00:14:12,150 OK, awesome. 254 00:14:12,150 --> 00:14:15,410 So, dit is ook ingesluit in die skyfie want ek het gedink dit was 'n groot 255 00:14:15,410 --> 00:14:19,370 webwerf wat stel jou doelstelling-C sintaksis. 256 00:14:19,370 --> 00:14:24,410 So, eintlik, waarom nie ons skuif na Chrome en check hierdie webwerf? 257 00:14:24,410 --> 00:14:30,650 258 00:14:30,650 --> 00:14:31,300 >> Right. 259 00:14:31,300 --> 00:14:36,670 So, wat ek wil om te wys ouens hier is om hierdie beeld. 260 00:14:36,670 --> 00:14:41,630 So, dit is, soort van, gaan wees wat jy gaan om te sien binnekant van enige 261 00:14:41,630 --> 00:14:42,890 Xcode lêer. 262 00:14:42,890 --> 00:14:47,400 263 00:14:47,400 --> 00:14:51,430 Eintlik is die rede waarom ons nie net 'n oomblik, soort van, neem hierdie in 264 00:14:51,430 --> 00:14:53,470 >> So, hierdie boek - 265 00:14:53,470 --> 00:14:55,880 dit is die voorwerp wat ons te doen het met. 266 00:14:55,880 --> 00:14:59,680 En dan, dit is natuurlik gaan wees geërf het van 'n ander voorwerp, maar 267 00:14:59,680 --> 00:15:01,810 jy hoef nie te bekommer oor dat. 268 00:15:01,810 --> 00:15:04,430 En dan is dit dalk het sommige lid veranderlikes. 269 00:15:04,430 --> 00:15:09,160 >> Die belangrikste ding wat ek wil om te wys is die geval metodes, hier. 270 00:15:09,160 --> 00:15:12,670 So, is byvoorbeeld metodes aangedui deur die minus teken. 271 00:15:12,670 --> 00:15:15,550 En dan, as jy sien, ons is reeds begin om die paradigma te sien 272 00:15:15,550 --> 00:15:17,670 vir metode verklaring, reg? 273 00:15:17,670 --> 00:15:22,670 Die opbrengs tipe, die metode naam, en dan is die tipe van die argument, en 274 00:15:22,670 --> 00:15:24,660 dan is die naam van die argument. 275 00:15:24,660 --> 00:15:29,090 En dit minus teken beteken dat dit 'n byvoorbeeld metode, wat beteken dat 276 00:15:29,090 --> 00:15:32,270 hierdie metodes is slegs beskikbaar vir voorwerpe wat aangehaal. 277 00:15:32,270 --> 00:15:35,050 278 00:15:35,050 --> 00:15:39,100 >> Om dit te kontrasteer, metodes met 'n plus teken in die voorkant van hulle is die klas 279 00:15:39,100 --> 00:15:43,640 metodes, wat beteken dat jy kan bel hierdie metodes, selfs as jy nie het nie 280 00:15:43,640 --> 00:15:45,970 'n voorwerp geskep het nie. 281 00:15:45,970 --> 00:15:51,600 So, vir 'n duidelike voorbeeld, NSString is 'n klas. 282 00:15:51,600 --> 00:15:55,850 En jy kan bel, byvoorbeeld, klas metodes op NSString - 283 00:15:55,850 --> 00:15:58,660 die werklike, soos, woord NSString. 284 00:15:58,660 --> 00:16:02,050 >> Maar, ten einde dit te gebruik metodes, wat jy eintlik 285 00:16:02,050 --> 00:16:03,460 'n string te skep. 286 00:16:03,460 --> 00:16:08,980 Byvoorbeeld, NSString ster string gelyk by aanhalingstekens, hallo wêreld. 287 00:16:08,980 --> 00:16:10,910 En dan, kan jy hierdie metodes gebruik - 288 00:16:10,910 --> 00:16:11,990 byvoorbeeld metodes - 289 00:16:11,990 --> 00:16:14,790 op daardie Hello World string. 290 00:16:14,790 --> 00:16:17,825 So, wat is die verskil tussen byvoorbeeld metodes en klas metodes. 291 00:16:17,825 --> 00:16:20,390 292 00:16:20,390 --> 00:16:21,930 >> En ons het net hierdie deel gedek. 293 00:16:21,930 --> 00:16:25,300 294 00:16:25,300 --> 00:16:33,750 Eienskappe is 'n ander ding wat binnekant van voorwerpe, basies. 295 00:16:33,750 --> 00:16:37,530 En jy verklaar hulle met die eiendom op navraag. 296 00:16:37,530 --> 00:16:39,940 Jy het hierdie opsies, hier, dat ek later sal verduidelik wanneer 297 00:16:39,940 --> 00:16:43,110 Ons gaan in 'n demo. 298 00:16:43,110 --> 00:16:43,660 Ja? 299 00:16:43,660 --> 00:16:43,950 Hi. 300 00:16:43,950 --> 00:16:45,440 >> Publiek: Kan jy zoom in, asseblief? 301 00:16:45,440 --> 00:16:46,130 >> RHED SHI: O ja. 302 00:16:46,130 --> 00:16:46,560 Jammer. 303 00:16:46,560 --> 00:16:49,140 >> Publiek: Dankie. 304 00:16:49,140 --> 00:16:50,005 >> RHED SHI: Dit moet 'n baie beter wees. 305 00:16:50,005 --> 00:16:51,240 >> Publiek: Ja. 306 00:16:51,240 --> 00:16:53,940 Dankie. 307 00:16:53,940 --> 00:16:56,815 >> RHED SHI: Ja, herinner my gerus indien Ek vergeet om te vergroot of zoom uit. 308 00:16:56,815 --> 00:17:00,590 309 00:17:00,590 --> 00:17:03,570 So, dit is al wat ek wou om te wys vir - 310 00:17:03,570 --> 00:17:05,970 whoa, dit is 'n baie - 311 00:17:05,970 --> 00:17:06,790 vir hierdie webwerf. 312 00:17:06,790 --> 00:17:12,210 So, laat ons terug na ons skyfies gaan. 313 00:17:12,210 --> 00:17:17,819 >> Eintlik, nou, laat ons neem 'n oomblik om te duik in 'n demo. 314 00:17:17,819 --> 00:17:25,490 So, sal ons begin met 'n nuwe Xcode projek. 315 00:17:25,490 --> 00:17:33,040 Dus, as jy oopmaak Xcode op al jou masjiene, moet dit jy 'n paar 316 00:17:33,040 --> 00:17:36,720 bladsy waar dit sê, soos, óf oop 'n bestaande projek of 'n nuwe 317 00:17:36,720 --> 00:17:39,230 projek, en jy moet klik op 'n nuwe projek. 318 00:17:39,230 --> 00:17:41,477 En dan moet dit neem jy na hierdie skerm. 319 00:17:41,477 --> 00:17:41,593 Ja? 320 00:17:41,593 --> 00:17:44,279 >> Publiek: As ons nie 'n Mac, ons net soort van ontspan? 321 00:17:44,279 --> 00:17:46,870 >> RHED SHI: Of kyk op met iemand, ja. 322 00:17:46,870 --> 00:17:47,740 Ja. 323 00:17:47,740 --> 00:17:50,660 Jy kan ontspan ook. 324 00:17:50,660 --> 00:17:51,570 OK. 325 00:17:51,570 --> 00:17:55,410 >> Dus, wat ons gaan doen eers, nou, is, eintlik, gaan ons doen om 'n 326 00:17:55,410 --> 00:17:56,600 enkele uitsig aansoek. 327 00:17:56,600 --> 00:18:01,340 So, as jy sal sien, wat is 'n groot oor Xcode en Apple ondersteuning vir 328 00:18:01,340 --> 00:18:05,690 ontwikkelaars is dat jy het 'n baie templates om te werk met reeds. 329 00:18:05,690 --> 00:18:09,210 Jy kan, byvoorbeeld, maak 'n meester-detail aansoek. 330 00:18:09,210 --> 00:18:10,920 Jy kan 'n spel - 331 00:18:10,920 --> 00:18:13,860 en eintlik, gaan ek nie in games, omdat speletjies is 'n ander storie 332 00:18:13,860 --> 00:18:15,320 vir IOS-ontwikkeling. 333 00:18:15,320 --> 00:18:18,930 En hulle is soort van skei, so ek sal nie daarop ingaan nie. 334 00:18:18,930 --> 00:18:22,580 >> Dan moet jy bladsy-gebaseerde aansoeke. 335 00:18:22,580 --> 00:18:24,010 Jy het 'n blad aansoek - 336 00:18:24,010 --> 00:18:29,350 Dus, net soos, byvoorbeeld, die Bank van Amerika waarskynlik, soos 'n blad artikels. 337 00:18:29,350 --> 00:18:32,140 Dit is die een waar jy die knoppies aan die onderkant. 338 00:18:32,140 --> 00:18:34,750 En dan, jy het 'n Sprite Kit spel. 339 00:18:34,750 --> 00:18:38,670 >> Of jy kan werk van nuuts af, wat is wat ons later sal doen. 340 00:18:38,670 --> 00:18:42,470 Maar laat ons eers begin met 'n enkele uitsig aansoek. 341 00:18:42,470 --> 00:18:48,590 Dan sal dit vra vir 'n produk se naam, en ons kan net doen toets. 342 00:18:48,590 --> 00:18:50,190 Organisasie se naam - 343 00:18:50,190 --> 00:18:54,140 so, die organisasie se naam, maatskappy identifiseerder - 344 00:18:54,140 --> 00:18:58,100 dit is belangrik as jy gaan jou artikels te plaas op die app store. 345 00:18:58,100 --> 00:19:01,110 346 00:19:01,110 --> 00:19:05,116 Anders as dit, is jou kode gaan absoluut fyn loop sonder hierdie. 347 00:19:05,116 --> 00:19:09,940 >> Dit gaan belangrik wees as jy wil - so, per se, soos, sit jou artikels 348 00:19:09,940 --> 00:19:14,080 op jou selfoon of iets, en toets dit uit, jy weet, in die werklike lewe - 349 00:19:14,080 --> 00:19:15,360 hierdie belangrike sal wees. 350 00:19:15,360 --> 00:19:20,110 Dit is geneig om gewoonlik geassosieer word met 'n soort van 'n ontwikkelaar rekening 351 00:19:20,110 --> 00:19:20,970 met Apple. 352 00:19:20,970 --> 00:19:24,740 >> En so, ek weet, waarskynlik, 'n lot van julle sal nie enige ontwikkelaar rekeninge. 353 00:19:24,740 --> 00:19:26,460 Ek weet dat die universiteit het een. 354 00:19:26,460 --> 00:19:27,630 Ek dink CS een. 355 00:19:27,630 --> 00:19:32,770 Maar, kan jy my e-pos en ek sal probeer dat om uit te vind vir jou. 356 00:19:32,770 --> 00:19:38,210 Maar nou, ek het net sit in sommige bevat dinge hier. 357 00:19:38,210 --> 00:19:41,250 >> En jy kan, natuurlik, hier, kies of jy wil om dit te wees uitsluitlik in 358 00:19:41,250 --> 00:19:44,410 iPhone, iPad in, of albei - 359 00:19:44,410 --> 00:19:46,630 universele toepassing. 360 00:19:46,630 --> 00:19:56,170 So, vir nou, laat ons doen universele, net beide kante van die platform om te sien. 361 00:19:56,170 --> 00:19:57,120 >> Kom ons kyk. 362 00:19:57,120 --> 00:20:01,510 So, op die oomblik, ek gaan om te red dit in 'n soort van die gids. 363 00:20:01,510 --> 00:20:04,500 Maak nie saak waar nie - jy kan altyd later skuif. 364 00:20:04,500 --> 00:20:09,380 En nou, is ons gebring ons Xcode projek. 365 00:20:09,380 --> 00:20:12,890 Ek sou nie bekommerd wees oor al hierdie dinge. 366 00:20:12,890 --> 00:20:17,510 Ek wil voorstel nie oor enige van hierdie, tensy jy presies weet wat 367 00:20:17,510 --> 00:20:18,260 jy doen. 368 00:20:18,260 --> 00:20:21,750 So, al hierdie dinge, net ignoreer vir die grootste deel. 369 00:20:21,750 --> 00:20:26,940 Jy sal nie nodig om dit aan te raak, en as jy doen jy gemors 'n paar dinge wat hier is, is dit 370 00:20:26,940 --> 00:20:28,600 kry 'n bietjie lastig. 371 00:20:28,600 --> 00:20:32,480 >> So, waarom nie ons kyk na die lêers op die 372 00:20:32,480 --> 00:20:34,700 linkerkant in ons navigator. 373 00:20:34,700 --> 00:20:37,060 Hier het ons AppDelegate.h. 374 00:20:37,060 --> 00:20:43,430 Ons het AppDelegate.m So, as jy sal kennisgewing, het ons header lêers, wat 375 00:20:43,430 --> 00:20:45,720 eindig in dot h, en ons het implementering - 376 00:20:45,720 --> 00:20:46,970 eintlik, laat my zoom in 377 00:20:46,970 --> 00:20:56,270 378 00:20:56,270 --> 00:20:57,060 OK. 379 00:20:57,060 --> 00:20:59,940 Laat my zoom in 380 00:20:59,940 --> 00:21:05,810 >> Reg, so jy header lêers en jy het die implementering van lêers. 381 00:21:05,810 --> 00:21:07,060 Eintlik - 382 00:21:07,060 --> 00:21:08,680 383 00:21:08,680 --> 00:21:09,240 OK. 384 00:21:09,240 --> 00:21:11,800 Dit is 'n bietjie vreemd, maar met my dra. 385 00:21:11,800 --> 00:21:16,140 Dan, want ons het gekies om 'n enkele uitsig aansoek, gaan ons te wees 386 00:21:16,140 --> 00:21:17,340 werk met storielyn. 387 00:21:17,340 --> 00:21:22,140 >> So, storielyn is iets wat Apple het met regtig help kom 388 00:21:22,140 --> 00:21:26,550 ontwikkelaars vinnig prototipe hul aansoeke. 389 00:21:26,550 --> 00:21:29,410 So, dit is waar jy kan skep 'n jeug sonder skryf van 'n 390 00:21:29,410 --> 00:21:31,710 enkele lyn van kode. 391 00:21:31,710 --> 00:21:35,390 Maar in ons enkele uitsig aansoek, ons nie, natuurlik, het 'n 392 00:21:35,390 --> 00:21:41,270 lêer vir ons mening, wat is 'n oog kontroleerder. 393 00:21:41,270 --> 00:21:45,150 So, ons het die kop en die implementering lêer, hier. 394 00:21:45,150 --> 00:21:52,350 >> En, ek gaan om te vergroot nou uit, want ons sal moet werk in die storielyn. 395 00:21:52,350 --> 00:21:55,190 So, hier is ons mening. 396 00:21:55,190 --> 00:22:00,120 As ons, eenvoudig, loop die inligting op die oomblik, daar is nie veel opwindende aangaan. 397 00:22:00,120 --> 00:22:03,270 398 00:22:03,270 --> 00:22:05,040 So, sal jy hierdie wit skerm sien. 399 00:22:05,040 --> 00:22:06,110 OK? 400 00:22:06,110 --> 00:22:14,010 >> En in ons utilities gebied is, kan ons voeg 'n klomp van verskillende dinge om dit te. 401 00:22:14,010 --> 00:22:19,290 Dus, wanneer jy met skerms in IOS, oog leiers is die 402 00:22:19,290 --> 00:22:23,150 voorwerpe wat omsluit, soort, jou mening. 403 00:22:23,150 --> 00:22:26,980 So, 'n oog kontroleerder altyd het 'n eiendom genoem oog. 404 00:22:26,980 --> 00:22:29,610 En dat die oog, tipies, bevat, jy weet, wat jy 405 00:22:29,610 --> 00:22:30,810 wil sien op 'n skerm. 406 00:22:30,810 --> 00:22:39,210 >> So, goed, laat ons net begin deur om, miskien, miskien 'n etiket. 407 00:22:39,210 --> 00:22:41,450 So, laat ons 'n etiket op daar - 408 00:22:41,450 --> 00:22:44,080 plak dit in die middel. 409 00:22:44,080 --> 00:22:49,560 So, nou dat ek het op die etiket, ek kan gaan in die eienskappe inspekteur 410 00:22:49,560 --> 00:22:51,510 en begin die verandering van sy waarde. 411 00:22:51,510 --> 00:22:55,040 Kom ons noem dit CS50 kleure. 412 00:22:55,040 --> 00:22:58,220 >> En, kan ek ook die skrif verander. 413 00:22:58,220 --> 00:23:02,630 So, in plaas van om stelsel, wat die standaard, kan ons doen om 'n persoonlike een. 414 00:23:02,630 --> 00:23:03,770 Ons kan verander - 415 00:23:03,770 --> 00:23:06,453 jy weet, ultra, maak dit 32. 416 00:23:06,453 --> 00:23:09,000 417 00:23:09,000 --> 00:23:11,370 En dan, kan ons ons boks groter. 418 00:23:11,370 --> 00:23:14,410 >> Publiek: Het jy dink jy kan zoom in net 'n bietjie meer, miskien? 419 00:23:14,410 --> 00:23:14,810 >> RHED SHI: Ja? 420 00:23:14,810 --> 00:23:16,196 OK. 421 00:23:16,196 --> 00:23:17,450 >> Publiek: Net tap dit? 422 00:23:17,450 --> 00:23:19,020 >> RHED SHI: Kom ons kyk. 423 00:23:19,020 --> 00:23:20,382 Werk dit? 424 00:23:20,382 --> 00:23:22,270 >> Publiek: Net verby die Xcode? 425 00:23:22,270 --> 00:23:23,520 >> RHED SHI: Natuurlik. 426 00:23:23,520 --> 00:23:25,620 427 00:23:25,620 --> 00:23:25,940 OK. 428 00:23:25,940 --> 00:23:26,275 Awesome. 429 00:23:26,275 --> 00:23:27,072 >> Publiek: Die etiket onder? 430 00:23:27,072 --> 00:23:28,920 Die etiket? 431 00:23:28,920 --> 00:23:29,480 >> RHED SHI: Wat is dit? 432 00:23:29,480 --> 00:23:32,050 >> Publiek: Wat drop-down was die etiket onder? 433 00:23:32,050 --> 00:23:35,170 >> RHED SHI: So, die vraag is, wat drop-down was die etiket onder? 434 00:23:35,170 --> 00:23:37,260 Dit moet eenvoudig, onder hier. 435 00:23:37,260 --> 00:23:39,330 Ek dink dit is 'n kubus ding. 436 00:23:39,330 --> 00:23:40,910 Maar gewoonlik, dit is die standaard - 437 00:23:40,910 --> 00:23:43,250 Ek gaan net hier totdat ek 'n etiket. 438 00:23:43,250 --> 00:23:45,800 439 00:23:45,800 --> 00:23:47,730 Ja. 440 00:23:47,730 --> 00:23:48,950 >> So nou het ons ons etiket. 441 00:23:48,950 --> 00:23:51,040 Kom se sentrum nie. 442 00:23:51,040 --> 00:23:56,410 En Xcode gee ons riglyne vir sentreer voorwerpe. 443 00:23:56,410 --> 00:23:59,510 444 00:23:59,510 --> 00:24:01,480 So, laat ons nou loop ons weer code. 445 00:24:01,480 --> 00:24:08,110 446 00:24:08,110 --> 00:24:08,800 >> Daar gaan ons. 447 00:24:08,800 --> 00:24:10,310 So, ons het CS50 kleure. 448 00:24:10,310 --> 00:24:13,720 449 00:24:13,720 --> 00:24:15,420 En nou, laat ons 'n knoppie op daar, reg? 450 00:24:15,420 --> 00:24:17,480 Omdat ons wil maak hierdie interaktiewe. 451 00:24:17,480 --> 00:24:19,410 So, laat ons 'n knoppie hier. 452 00:24:19,410 --> 00:24:39,020 En ons sal hierdie knoppie "tap hier noem om voort te gaan. "Ons sal sentreer dit ook 453 00:24:39,020 --> 00:24:39,990 Eintlik is dit reeds gesentreer. 454 00:24:39,990 --> 00:24:40,630 Ja. 455 00:24:40,630 --> 00:24:43,130 >> So, nou het ons 'n knoppie. 456 00:24:43,130 --> 00:24:53,000 En as ons loop dit weer, ons gaan 'n mooi klein knoppie hier te hê. 457 00:24:53,000 --> 00:24:56,520 En ek kan dit kliek, maar dit beteken nie enigiets nie, want ons het nie gedoen 458 00:24:56,520 --> 00:24:58,500 enigiets met die knoppie nie. 459 00:24:58,500 --> 00:25:01,740 >> So, laat ons 'n ander siening, reg? 460 00:25:01,740 --> 00:25:04,160 So, kom ons sê ek wil kraan dat die knoppie en ek wil 461 00:25:04,160 --> 00:25:05,730 gaan na 'n ander bladsy - 462 00:25:05,730 --> 00:25:06,820 Nog 'n siening. 463 00:25:06,820 --> 00:25:14,440 Wat ek gaan doen is, kan ek oog kontroleerder, reg? 464 00:25:14,440 --> 00:25:19,690 Nou sal ek op my knoppie, en dan, die belangrikste ding is, ek gaan 465 00:25:19,690 --> 00:25:20,910 kliek - of - 466 00:25:20,910 --> 00:25:23,660 Ja, die pers beheer op my klawerbord. 467 00:25:23,660 --> 00:25:24,880 Beheer. 468 00:25:24,880 --> 00:25:27,005 Klik op die knoppie, en dan sleep. 469 00:25:27,005 --> 00:25:29,960 470 00:25:29,960 --> 00:25:33,550 >> So, onthou die beheer sleutel om vas te hou. 471 00:25:33,550 --> 00:25:35,160 Kom ons doen dit weer. 472 00:25:35,160 --> 00:25:40,930 So, hou beheer, kliek, en sleep na wat jy wil doen. 473 00:25:40,930 --> 00:25:41,520 OK. 474 00:25:41,520 --> 00:25:43,610 >> En nou, ek het 'n paar opsies hier. 475 00:25:43,610 --> 00:25:47,900 Ek kan óf druk, of ek kan doen om 'n modal, of ek kan 'n persoonlike doen. 476 00:25:47,900 --> 00:25:50,900 Druk is net as jy 'n navigasie kontroleerder. 477 00:25:50,900 --> 00:25:54,270 Op die oomblik is, is ons heel eerste oog kontroles is nie in enige 478 00:25:54,270 --> 00:25:55,610 navigasie kontroleerder. 479 00:25:55,610 --> 00:25:59,500 So, die navigasie kontroles is die een wat gee jou die terug knoppie op 480 00:25:59,500 --> 00:26:03,910 die IOS app waar jy het, jy weet, dat die top, soort van dik bar - 481 00:26:03,910 --> 00:26:06,480 waar jy kan terug gaan, of vorentoe, ensovoorts. 482 00:26:06,480 --> 00:26:07,740 Op die oomblik, ek het dit nie. 483 00:26:07,740 --> 00:26:11,050 En so, dis hoekom ek nie kan doen nie 'n stoot. 484 00:26:11,050 --> 00:26:12,480 >> So, Ek het op druk per ongeluk hier. 485 00:26:12,480 --> 00:26:16,480 En eintlik, laat loop die kode, en dit moet crash op my. 486 00:26:16,480 --> 00:26:19,770 487 00:26:19,770 --> 00:26:22,960 Net as ek die knoppie druk al is, so - 488 00:26:22,960 --> 00:26:23,420 reg. 489 00:26:23,420 --> 00:26:26,480 So, is dit sleg. 490 00:26:26,480 --> 00:26:31,330 >> En, soos jy kan sien, hier, ons het die fout boodskap. 491 00:26:31,330 --> 00:26:35,460 So, "Push segues kan slegs gebruik word wanneer bron kontroles word bestuur deur 'n 492 00:26:35,460 --> 00:26:40,700 geval van UI navigasie kontroleerder. " So nie, want dit was nie die binnekant van 'n 493 00:26:40,700 --> 00:26:44,030 navigasie kontroleerder, Ek kon dit nie doen nie. 494 00:26:44,030 --> 00:26:48,782 >> So, op die oomblik, gaan ek terug na die gids, gaan terug na storielyn. 495 00:26:48,782 --> 00:26:51,680 >> Publiek: Wat is die navigasie kontroleerder, weer? 496 00:26:51,680 --> 00:26:55,260 >> RHED SHI: So, nou het ek sal jou wys. 497 00:26:55,260 --> 00:26:56,200 Kom ons kyk. 498 00:26:56,200 --> 00:27:00,510 So, ek gaan om te klik op die oog kontroleerder, en dan gaan ek om te gaan 499 00:27:00,510 --> 00:27:03,920 tot produk - 500 00:27:03,920 --> 00:27:06,240 Eintlik, nee, jammer - redakteur. 501 00:27:06,240 --> 00:27:08,360 En ek gaan om te gaan in - 502 00:27:08,360 --> 00:27:09,350 Eintlik, het ek op dit? 503 00:27:09,350 --> 00:27:10,070 No 504 00:27:10,070 --> 00:27:11,080 Daar gaan ons. 505 00:27:11,080 --> 00:27:16,270 Ek gaan om te gaan in die editor, gaan af in te sluit in, en dan navigasie 506 00:27:16,270 --> 00:27:17,520 kontroleerder. 507 00:27:17,520 --> 00:27:20,130 508 00:27:20,130 --> 00:27:20,720 >> OK. 509 00:27:20,720 --> 00:27:27,750 En, my werkplek lyk regtig slordig, so laat ons skoon te maak van hierdie up. 510 00:27:27,750 --> 00:27:29,000 So, al is dit storielyn. 511 00:27:29,000 --> 00:27:32,510 512 00:27:32,510 --> 00:27:33,760 En op hierdie manier - 513 00:27:33,760 --> 00:27:37,030 514 00:27:37,030 --> 00:27:38,280 OK, stop - 515 00:27:38,280 --> 00:27:49,320 516 00:27:49,320 --> 00:27:50,860 Ek kan vinnig iets te bou soos hierdie. 517 00:27:50,860 --> 00:27:53,020 En dan, nou kan ek terug te gaan, jy weet? 518 00:27:53,020 --> 00:27:55,730 >> Maar dit is soort van saai, reg? 519 00:27:55,730 --> 00:28:03,020 So, wat ek wil doen, is, wil ek nie te maak, net eenvoudig, 'n oog 520 00:28:03,020 --> 00:28:03,870 kontroleerder. 521 00:28:03,870 --> 00:28:07,720 Kom ons sê ek wou eintlik 'n Table View kontroleerder, sodat ek kan sit in 522 00:28:07,720 --> 00:28:12,110 'n paar mooi kleure, in die tabel. 523 00:28:12,110 --> 00:28:16,210 >> So, nou dat ek in my Table View kontroleerder, ek het dit nodig om terug te koppel 524 00:28:16,210 --> 00:28:18,560 van hierdie knoppie om die oog kontroleerder. 525 00:28:18,560 --> 00:28:21,780 So ek moet my beheer te doen, kliek, sleep ding weer. 526 00:28:21,780 --> 00:28:27,318 En nou kan ek druk doen, want ek sluit dit binne 'n navigasie kontroleerder. 527 00:28:27,318 --> 00:28:32,210 >> Publiek: navigasie kontroleerder net kan jy om te gaan van plek tot plek? 528 00:28:32,210 --> 00:28:33,540 >> RHED SHI: Ja. 529 00:28:33,540 --> 00:28:38,670 So, meer tegnies, dit is 'n voorwerp waar - 530 00:28:38,670 --> 00:28:43,150 so, binnekant van die navigasie kontroleerder voorwerp, is dit 531 00:28:43,150 --> 00:28:44,780 hou van 'n skikking. 532 00:28:44,780 --> 00:28:48,300 En dat skikking hou al die daaropvolgende sien beheerders. 533 00:28:48,300 --> 00:28:51,560 Dit is hoekom wanneer jy terug druk, is dit gaan terug na die vorige bladsy. 534 00:28:51,560 --> 00:28:55,260 Omdat die navigasie kontroleerder voorwerp, of die kode wat sorg vir 535 00:28:55,260 --> 00:28:58,890 hierdie voorwerp, het 'n skikking wat hou spoor van hierdie siening leiers, en 536 00:28:58,890 --> 00:29:01,870 dan kan jy weet, DQ die oog kontroles en gee jou terug 537 00:29:01,870 --> 00:29:02,750 vorige een. 538 00:29:02,750 --> 00:29:05,200 >> So, dit is tegniese dinge, maar - 539 00:29:05,200 --> 00:29:07,505 en ek sal jou later in die show kode, as ons tyd het. 540 00:29:07,505 --> 00:29:10,270 Ek is soort van loop uit op tyd, maar - 541 00:29:10,270 --> 00:29:15,610 >> So, met die Table View, wat ons kan doen is - 542 00:29:15,610 --> 00:29:18,440 Dit is gewoonlik outomaties Dynamic Prototype - 543 00:29:18,440 --> 00:29:20,640 ons gaan dit statiese selle te maak, anders gaan ons 544 00:29:20,640 --> 00:29:22,920 loop in 'n paar probleme. 545 00:29:22,920 --> 00:29:28,470 >> En dan, kom ons sê ek gaan een afdeling te hê. 546 00:29:28,470 --> 00:29:31,000 So, afdelings is soos - 547 00:29:31,000 --> 00:29:35,160 As jy nog ooit gesien het die musiek artikels, wanneer jy het kunstenaars, afdelings sou 548 00:29:35,160 --> 00:29:37,830 wees om die A's deur Z's - 549 00:29:37,830 --> 00:29:38,780 die letters - 550 00:29:38,780 --> 00:29:42,600 En dan, jy weet, die individu rye sou wees om die kunstenaar name. 551 00:29:42,600 --> 00:29:47,460 En so, wat is koel hier, is dat ek kan toegang tot al die voorwerpe binne 552 00:29:47,460 --> 00:29:50,430 van my storielyn deur hierdie drop-down menu, ook. 553 00:29:50,430 --> 00:29:56,600 >> So, ek gaan om te klik op my artikel, en ek wil hê, jy weet, miskien vyf rye. 554 00:29:56,600 --> 00:30:00,770 En dan, binnekant van elke ry, Ek wil 'n etiket te sit. 555 00:30:00,770 --> 00:30:04,080 556 00:30:04,080 --> 00:30:06,340 En ek gaan dit Blue te bel. 557 00:30:06,340 --> 00:30:09,530 558 00:30:09,530 --> 00:30:15,630 En dan, ek wil 'n UI oog te sit, moet jy weet, miskien vir, soos 'n klein doos. 559 00:30:15,630 --> 00:30:23,840 560 00:30:23,840 --> 00:30:28,710 >> Sodat ek mense kan wys 'n voorskou van die kleur. 561 00:30:28,710 --> 00:30:34,150 En ek sal terug na die eiendom gaan verander dat kleur te, o, ek doen nie 562 00:30:34,150 --> 00:30:35,510 weet, hierdie een. 563 00:30:35,510 --> 00:30:38,630 564 00:30:38,630 --> 00:30:43,150 >> En dan, sien ook hier, en as ek ' die bykomstighede, kan ek baie het 565 00:30:43,150 --> 00:30:46,160 van die verskillende toebehore dat jy gewoonlik sien. 566 00:30:46,160 --> 00:30:55,250 Die bekendmaking aanwyser, die detail, of check merk, of eenvoudig net detail. 567 00:30:55,250 --> 00:30:59,080 So, miskien kan ons doen, soos 'n bekendmaking aanwyser, byvoorbeeld. 568 00:30:59,080 --> 00:31:03,540 >> En dan, waarom nie ons neem hierdie, kopie plak, en sit hulle in die 569 00:31:03,540 --> 00:31:06,740 volgende ry in die tabel. 570 00:31:06,740 --> 00:31:08,115 So, kan ons hierdie Yellow noem. 571 00:31:08,115 --> 00:31:10,620 572 00:31:10,620 --> 00:31:12,155 En ek mag hê dit uit te brei. 573 00:31:12,155 --> 00:31:15,730 574 00:31:15,730 --> 00:31:17,290 Kom ons maak dit geel. 575 00:31:17,290 --> 00:31:20,610 En op hierdie manier, kan ons kopieer Plak ons ​​pad af. 576 00:31:20,610 --> 00:31:24,910 577 00:31:24,910 --> 00:31:25,370 Wat was dit? 578 00:31:25,370 --> 00:31:26,620 Pers. 579 00:31:26,620 --> 00:31:30,020 580 00:31:30,020 --> 00:31:34,740 >> So, dit is al die tipiese CS50 kleure wat jy gesien het in die klas - 581 00:31:34,740 --> 00:31:37,160 Eintlik is jammer - 582 00:31:37,160 --> 00:31:38,410 of op die webwerf. 583 00:31:38,410 --> 00:31:49,700 584 00:31:49,700 --> 00:31:51,260 Hopelik sal jy ouens kan sien wat ek hier doen. 585 00:31:51,260 --> 00:31:57,270 586 00:31:57,270 --> 00:31:57,890 OK. 587 00:31:57,890 --> 00:31:58,490 Laaste een. 588 00:31:58,490 --> 00:32:02,040 >> Publiek: Hoe het jy voeg die ry aanvanklik? 589 00:32:02,040 --> 00:32:04,740 >> RHED SHI: So, die vraag is, hoe het ek die ry aanvanklik? 590 00:32:04,740 --> 00:32:07,500 Ek het in hierdie tabel artikel - of hoe ek kan 591 00:32:07,500 --> 00:32:09,200 Kies die tabel artikel - 592 00:32:09,200 --> 00:32:11,250 En dan, hier, ek opgedateer die aantal rye. 593 00:32:11,250 --> 00:32:19,920 594 00:32:19,920 --> 00:32:22,505 >> En, laat my hoop dat hierdie werk. 595 00:32:22,505 --> 00:32:30,620 596 00:32:30,620 --> 00:32:31,480 OK. 597 00:32:31,480 --> 00:32:32,870 Kom ons kyk of dit werk. 598 00:32:32,870 --> 00:32:34,000 O ja, volmaak, awesome. 599 00:32:34,000 --> 00:32:35,300 OK. 600 00:32:35,300 --> 00:32:40,330 Terwyl ek die opbou van my demo, sommige dinge is nie in lyn, so, dankie vir 601 00:32:40,330 --> 00:32:42,510 die applous. 602 00:32:42,510 --> 00:32:42,920 >> Ja. 603 00:32:42,920 --> 00:32:44,770 So, laat ons sien. 604 00:32:44,770 --> 00:32:47,550 Ons sal maak van hierdie nege net te maak alles - of eintlik, laat ons net 605 00:32:47,550 --> 00:32:51,420 draai al hierdie in die bekendmaking aanwysers. 606 00:32:51,420 --> 00:32:55,790 En dan, wat ek wil om te wys, te, was hoe ek elke van hulle kan neem 607 00:32:55,790 --> 00:32:59,230 tafel rye en het hulle interaksie - 608 00:32:59,230 --> 00:33:00,150 O. 609 00:33:00,150 --> 00:33:01,400 No 610 00:33:01,400 --> 00:33:05,700 611 00:33:05,700 --> 00:33:06,030 >> Oh. 612 00:33:06,030 --> 00:33:07,230 Ook, ek wil om te wys - 613 00:33:07,230 --> 00:33:13,080 hier is, kan ek die titel van sit my navigasie kontroleerder, reg? 614 00:33:13,080 --> 00:33:17,090 So eintlik, sal jy sien, so gou as ek ingeboude hierdie siening kontroleerder binnekant 615 00:33:17,090 --> 00:33:22,010 van die navigasie kontroleerder, sien ons hierdie navigasie bar aan die bokant van ons 616 00:33:22,010 --> 00:33:25,340 storyboard verteenwoordiging van 'n oog kontroleerder. 617 00:33:25,340 --> 00:33:29,270 En so, dit gee ons, soos, 'n visuele, soort, lei na ons sigbare skerm. 618 00:33:29,270 --> 00:33:34,360 Dit is natuurlik gaan wees om die navigasie bar. 619 00:33:34,360 --> 00:33:40,950 >> En wat ek wil om vinnig te doen, nou, is sit in 'n ander - 620 00:33:40,950 --> 00:33:45,880 so hierdie Table View kontroleerder Ek het deur neem een ​​van hierdie en dit te sleep 621 00:33:45,880 --> 00:33:49,800 hier, en dit is wat my toegelaat om te vinnig, regtig, skep 'n Table View 622 00:33:49,800 --> 00:33:50,850 kontroleerder. 623 00:33:50,850 --> 00:33:54,100 As ons dit doen het die tyd al, sal jy sien dat programmaties, dit is 'n 624 00:33:54,100 --> 00:33:57,660 bietjie meer moeilik om 'n tafel te skep oog kontroleerder, omdat daar 625 00:33:57,660 --> 00:34:02,520 is 'n paar van die metodes wat wat nodig is vir jou om, soort van, skryf 626 00:34:02,520 --> 00:34:07,130 in orde vir die Table View kontroleerder om korrek te vertoon. 627 00:34:07,130 --> 00:34:15,340 >> Maar ek wil net om te wys, nou, 'n voorbeeld van waar, as ek hierdie, 628 00:34:15,340 --> 00:34:15,920 byvoorbeeld - 629 00:34:15,920 --> 00:34:18,290 Ek het sit in 'n ander oog kontroleerder. 630 00:34:18,290 --> 00:34:27,320 En nou, kom ons sê ek wil om te beheer alt my heel eerste blou 631 00:34:27,320 --> 00:34:28,980 ry in die tabel tot hier. 632 00:34:28,980 --> 00:34:31,070 En ek wil dit Blue te bel. 633 00:34:31,070 --> 00:34:32,570 En dan - 634 00:34:32,570 --> 00:34:34,159 Kom ons kyk. 635 00:34:34,159 --> 00:34:41,050 Ek is op die oog, en ek kan verander die agtergrond blou. 636 00:34:41,050 --> 00:34:45,945 >> En so, kennisgewing, hier, hierdie drop-down menu gee jou ook 'n hiërargie van alle 637 00:34:45,945 --> 00:34:47,040 van hierdie voorwerpe. 638 00:34:47,040 --> 00:34:50,530 So 'n belangrike ding om daarop te let, hier, is dat al hierdie dinge hier - 639 00:34:50,530 --> 00:34:54,330 hierdie Table View kontroleerder, die tafel View, Table View, artikel, Table View 640 00:34:54,330 --> 00:34:57,169 sel - almal van hulle is voorwerpe, in die kode. 641 00:34:57,169 --> 00:35:03,752 So, jy weet, 'n etiket is nou onder Die inhoud oog, ensovoorts. 642 00:35:03,752 --> 00:35:05,020 So aan en so voort. 643 00:35:05,020 --> 00:35:08,765 >> So, as ons loop hierdie kode, ons moet iets sien - 644 00:35:08,765 --> 00:35:15,816 645 00:35:15,816 --> 00:35:17,870 Kom ons kyk of dit - ja. 646 00:35:17,870 --> 00:35:18,670 So, daar gaan ons. 647 00:35:18,670 --> 00:35:22,120 Maar, as ons dit nie doen nie, geen van hierdie ander dinge werk. 648 00:35:22,120 --> 00:35:22,500 Reg? 649 00:35:22,500 --> 00:35:23,800 So net hierdie een werk. 650 00:35:23,800 --> 00:35:29,100 En, ter wille van die tyd, sal ek nie gaan, jy weet, om 651 00:35:29,100 --> 00:35:29,770 teen die ander kinders. 652 00:35:29,770 --> 00:35:32,020 En dit is die einde van, soort, storielyn - 653 00:35:32,020 --> 00:35:33,400 wat ek wou wys jy storielyn. 654 00:35:33,400 --> 00:35:36,330 655 00:35:36,330 --> 00:35:43,490 >> En ek het 'n uitgewerkte voorbeeld, eintlik, net hier. 656 00:35:43,490 --> 00:35:48,090 So, dit is die storielyn wat ek gemaak het voorheen. 657 00:35:48,090 --> 00:35:52,740 So, as jy kan sien, dit was my navigasie kontroleerder. 658 00:35:52,740 --> 00:35:57,040 Toe het ek my eerste oog kontroleerder, dan het ek my Table View kontroleerder, 659 00:35:57,040 --> 00:35:58,980 en dan het ek al hierdie - 660 00:35:58,980 --> 00:36:01,180 sodat voorheen, was ek doen iets heel anders. 661 00:36:01,180 --> 00:36:04,450 So, verskoon daardie dinge. 662 00:36:04,450 --> 00:36:07,930 Ek sal waarskynlik dit skoon te maak voordat later Ek stuur dit af tot produksie. 663 00:36:07,930 --> 00:36:12,800 >> Maar, as ons loop, sal ons sien dat al die opsies is 664 00:36:12,800 --> 00:36:14,050 tot ons beskikking. 665 00:36:14,050 --> 00:36:18,540 666 00:36:18,540 --> 00:36:21,320 Behalwe ek het nie die agtergrond maak daardie kleure. 667 00:36:21,320 --> 00:36:26,510 So, mooi eenvoudige toepassing. 668 00:36:26,510 --> 00:36:28,340 >> Nou, laat ons probeer om aan te pak hierdie programmaties. 669 00:36:28,340 --> 00:36:31,270 670 00:36:31,270 --> 00:36:32,130 OK. 671 00:36:32,130 --> 00:36:37,570 So, om dit te doen, ons is maar net gaan 'n nuwe Xcode projek te begin. 672 00:36:37,570 --> 00:36:41,920 Ons sal dit 'n leë aansoek doen nou, omdat ons nie wil hê die 673 00:36:41,920 --> 00:36:42,380 storielyn. 674 00:36:42,380 --> 00:36:46,590 So, ek is net beperk myself nie die gebruik van enige van die storielyn, en 'n 675 00:36:46,590 --> 00:36:49,170 leë aansoek nie gee my 'n storielyn. 676 00:36:49,170 --> 00:36:52,256 Dit is net om te verhoed dat myself van bedrog. 677 00:36:52,256 --> 00:36:54,428 Kom ons kyk. 678 00:36:54,428 --> 00:36:55,360 Wag nie. 679 00:36:55,360 --> 00:36:55,960 Het ek - 680 00:36:55,960 --> 00:36:56,448 ja. 681 00:36:56,448 --> 00:36:57,698 OK. 682 00:36:57,698 --> 00:37:08,650 683 00:37:08,650 --> 00:37:09,180 >> Right. 684 00:37:09,180 --> 00:37:16,790 So, hier is ons gelaat met niks anders kode. 685 00:37:16,790 --> 00:37:19,460 So, laat my skuif die venster effens oor. 686 00:37:19,460 --> 00:37:22,020 687 00:37:22,020 --> 00:37:22,260 Right. 688 00:37:22,260 --> 00:37:28,160 As jy hier kan sien, is die enigste lêers ons gegee is AppDelegate.h en dot 689 00:37:28,160 --> 00:37:30,500 m, en ons het nie 'n storielyn nie. 690 00:37:30,500 --> 00:37:39,580 >> So as ons hardloop dit, ons is nog steeds gaan kry om die wit skerm, dank God. 691 00:37:39,580 --> 00:37:42,280 OK - wit skerm, maar niks anders nie. 692 00:37:42,280 --> 00:37:45,260 En hier is die belangrike deel. 693 00:37:45,260 --> 00:37:47,810 Dit is waar die aksie plaasvind. 694 00:37:47,810 --> 00:37:51,410 In die vorige weergawes, is daar gewoonlik nie die kode hier, maar die 695 00:37:51,410 --> 00:37:55,600 storyboard wesenlik die kode vir hierdie deel. 696 00:37:55,600 --> 00:37:57,470 Ek sal nie in detail oor hoe. 697 00:37:57,470 --> 00:38:02,890 >> En wat ons nou wil doen, is om ons wil om te gaan in hier, en hierdie klein ruimte 698 00:38:02,890 --> 00:38:05,050 begin die skep van ons jeug weer. 699 00:38:05,050 --> 00:38:06,092 So - 700 00:38:06,092 --> 00:38:06,318 ja? 701 00:38:06,318 --> 00:38:07,450 >> Publiek: Zoom? 702 00:38:07,450 --> 00:38:07,770 >> RHED SHI: Zoom. 703 00:38:07,770 --> 00:38:09,020 Ja, seker nie. 704 00:38:09,020 --> 00:38:13,940 705 00:38:13,940 --> 00:38:14,520 OK. 706 00:38:14,520 --> 00:38:17,380 Ek sal tik word, so moet dit nie aangeleentheid te veel. 707 00:38:17,380 --> 00:38:17,940 OK. 708 00:38:17,940 --> 00:38:22,720 >> So, in die eerste, onthou ons wou te skep 'n navigasie kontroleerder, reg? 709 00:38:22,720 --> 00:38:27,090 En ook, as jy hier kan sien, Xcode doen 'n baie groot taak van die 710 00:38:27,090 --> 00:38:28,070 self-vul. 711 00:38:28,070 --> 00:38:31,650 So, as jy sien die name van alles is 'n baie langer as 712 00:38:31,650 --> 00:38:33,910 gewoonlik, maar Xcode vul dit in vir jou. 713 00:38:33,910 --> 00:38:35,710 So ek kan net druk enter. 714 00:38:35,710 --> 00:38:40,180 >> So, ek wil 'n UI navigasie te skep kontroleerder wyser, en ek kan dit noem 715 00:38:40,180 --> 00:38:41,430 navigationController. 716 00:38:41,430 --> 00:38:43,040 717 00:38:43,040 --> 00:38:44,470 Nou, wat doen ek nou? 718 00:38:44,470 --> 00:38:49,510 Na hierdie gelyke teken, moet ek, in die eerste, skep dit binnekant van die geheue. 719 00:38:49,510 --> 00:38:53,790 So, ek gaan NavigationController te doen alloc - 720 00:38:53,790 --> 00:38:56,640 So, dit is soortgelyk aan malloc, dat jy ouens gebruik in C - 721 00:38:56,640 --> 00:38:58,400 En dan, ek gaan om dit te init. 722 00:38:58,400 --> 00:39:03,670 >> So, dit is werklik belangrik dat enige voorwerp wat jy maak, jy wil 723 00:39:03,670 --> 00:39:04,940 alloc en init dit. 724 00:39:04,940 --> 00:39:08,600 Dit gaan om dit te skep en instantialize dit binnekant van die geheue, en 725 00:39:08,600 --> 00:39:10,480 nou kan jy dit gebruik. 726 00:39:10,480 --> 00:39:10,780 Alle reg? 727 00:39:10,780 --> 00:39:14,360 As jy dit nie doen nie, jou doel nie nie bestaan ​​nie, en jy sal loop in 'n klomp 728 00:39:14,360 --> 00:39:17,290 probleme. 729 00:39:17,290 --> 00:39:20,250 >> En dan, ek wil skep oog kontroleerder, reg? 730 00:39:20,250 --> 00:39:25,580 So, ek wil 'n UIViewController te skep ster - 731 00:39:25,580 --> 00:39:29,620 so, alles is 'n wyser in Objective-C, en ek gaan om te doen 732 00:39:29,620 --> 00:39:31,600 iets soortgelyks, hier - 733 00:39:31,600 --> 00:39:32,850 alloc, init. 734 00:39:32,850 --> 00:39:38,680 735 00:39:38,680 --> 00:39:40,150 OK. 736 00:39:40,150 --> 00:39:43,450 >> En dan wat ek gaan doen is, ek is gaan - so, onthou wanneer ons gedoen het 737 00:39:43,450 --> 00:39:45,360 die embed in navigasie beheerder? 738 00:39:45,360 --> 00:39:46,920 Dit is hoe jy dit doen in die kode. 739 00:39:46,920 --> 00:39:54,550 Jy gaan navigationController te doen 740 00:39:54,550 --> 00:39:55,780 pushViewController - 741 00:39:55,780 --> 00:39:57,636 >> Publiek: [onhoorbaar]. 742 00:39:57,636 --> 00:39:59,030 Sal dit gebeur vir ons nie, of -? 743 00:39:59,030 --> 00:40:00,080 >> RHED SHI: O, ja. 744 00:40:00,080 --> 00:40:00,550 No 745 00:40:00,550 --> 00:40:02,740 Dit hou my beter. 746 00:40:02,740 --> 00:40:04,670 Nee, sal dit werk vir jou ook. 747 00:40:04,670 --> 00:40:06,700 So, dit is al die metodes. 748 00:40:06,700 --> 00:40:10,400 So pushViewController is 'n metode en Ook, meer spesifiek, dit is 'n 749 00:40:10,400 --> 00:40:13,590 byvoorbeeld metode van die UI navigasie kontroleerder. 750 00:40:13,590 --> 00:40:20,030 Want ek het my UI navigasie te skep kontroleerder ster, en dan het ek 751 00:40:20,030 --> 00:40:24,510 kan hierdie pushViewController 'n beroep op my spesifieke geval van 'n UI navigasie 752 00:40:24,510 --> 00:40:25,010 kontroleerder. 753 00:40:25,010 --> 00:40:29,490 >> Publiek: Het ons die presiese te doen woord, of is dit reeds, want dit bestaan ​​nie? 754 00:40:29,490 --> 00:40:31,380 >> RHED SHI: Ja, want dit is 'n metode. 755 00:40:31,380 --> 00:40:32,200 Dit is soos 'n funksie. 756 00:40:32,200 --> 00:40:33,330 Dit is soos printf. 757 00:40:33,330 --> 00:40:34,390 Dit is soos scanf. 758 00:40:34,390 --> 00:40:36,250 Dit is soos strcompare. 759 00:40:36,250 --> 00:40:40,310 Behalwe dit weet wat jy dalk wil tik, en let op dat dit sal altyd 760 00:40:40,310 --> 00:40:42,740 kom met dinge wat wettig toegelaat vir jou. 761 00:40:42,740 --> 00:40:47,620 So, as daar niks wys hier, dan is daar iets verkeerd is. 762 00:40:47,620 --> 00:40:50,550 >> So, pushViewController. 763 00:40:50,550 --> 00:40:52,580 So, nou, ek wil stoot my nuutgeskepte 764 00:40:52,580 --> 00:40:56,850 UIViewController, en dan, geanimeerde - 765 00:40:56,850 --> 00:40:57,470 miskien nie. 766 00:40:57,470 --> 00:41:00,110 Omdat dit gaan wees die eerste oog kontroleerder. 767 00:41:00,110 --> 00:41:03,210 Ek bedoel, selfs al het ek geanimeerde maak, dit sal waarskynlik nie opdaag nie, want 768 00:41:03,210 --> 00:41:05,050 dit is die eerste skerm. 769 00:41:05,050 --> 00:41:06,540 >> En onthou die hakies. 770 00:41:06,540 --> 00:41:08,850 So, onthou hoe ons die hakies? 771 00:41:08,850 --> 00:41:11,870 En die hakies, die voorwerp 'n beroep op 'n metode - 772 00:41:11,870 --> 00:41:15,910 sodat ons doel is om die navigasie kontroleerder, en die metode is 'n druk 773 00:41:15,910 --> 00:41:17,210 oog kontroleerder geanimeerde. 774 00:41:17,210 --> 00:41:21,920 En kyk hoe dit neem in twee argumente, en hulle is geskei deur die, soort van, 775 00:41:21,920 --> 00:41:24,390 woorde, en 'n kolon. 776 00:41:24,390 --> 00:41:28,300 So, Objective-C probeer om dit mooi te maak en maklik vir jou hardop te lees - 777 00:41:28,300 --> 00:41:33,020 jou kode - en dit semi, soort, maak sin. 778 00:41:33,020 --> 00:41:37,150 >> Maar doen net hierdie is nie genoeg nie. 779 00:41:37,150 --> 00:41:39,780 Laat my zoom nou uit. 780 00:41:39,780 --> 00:41:44,210 Doen net dit is nie genoeg om te kry wat ons het aan voorheen. 781 00:41:44,210 --> 00:41:48,580 So hier is, sal jy sien dat daar eintlik nie van plan om enige soort van te wees 782 00:41:48,580 --> 00:41:50,190 bar, hier, reg? 783 00:41:50,190 --> 00:41:54,680 Daar is geen navigasie bar, wat beteken dat ons nog steeds nie gekry het nie. 784 00:41:54,680 --> 00:41:58,850 >> En ons kan toets wat ook deur, miskien, die verandering van die agtergrond van 785 00:41:58,850 --> 00:42:00,460 ViewController, reg? 786 00:42:00,460 --> 00:42:01,710 ViewController.background-- 787 00:42:01,710 --> 00:42:03,155 788 00:42:03,155 --> 00:42:03,640 ah. 789 00:42:03,640 --> 00:42:07,690 So, sien hoe ViewController het nie 'n agtergrond kleur, selfs al het ek 790 00:42:07,690 --> 00:42:08,780 wou dit om toegang te verkry? 791 00:42:08,780 --> 00:42:14,080 En dit is omdat ViewController is 'n houer vir die oog. 792 00:42:14,080 --> 00:42:19,490 So, dit het 'n oog eiendom, wat dan het 'n agtergrond kleur. 793 00:42:19,490 --> 00:42:25,510 >> En, kan ek dit stel, soort van tediously, deur die roeping van die kleur 794 00:42:25,510 --> 00:42:28,130 op die UIColor voorwerp. 795 00:42:28,130 --> 00:42:33,210 So, kennis hier, redColor is 'n metode. 796 00:42:33,210 --> 00:42:36,750 Dit is 'n klas metode van UIcolor. 797 00:42:36,750 --> 00:42:40,820 Want ek het nie 'n te skep werklike geval van 'n UIColor in orde 798 00:42:40,820 --> 00:42:42,020 die metode om 'n beroep op dit. 799 00:42:42,020 --> 00:42:45,050 Ek het net eenvoudig, noem dit van die tipe-agtige naam. 800 00:42:45,050 --> 00:42:49,620 Ek, soos, noem dit op int, as int het, soos 'n metode om dit, byvoorbeeld. 801 00:42:49,620 --> 00:42:52,380 >> En so, as ons loop hierdie kode, ons sal sien dat die agtergrond is 802 00:42:52,380 --> 00:42:53,540 eintlik nie rooi nie. 803 00:42:53,540 --> 00:42:54,790 Dit is nog steeds wit. 804 00:42:54,790 --> 00:42:57,720 805 00:42:57,720 --> 00:43:04,550 En hoe ons kan kry om dit is, sien hoe daar die self.window. 806 00:43:04,550 --> 00:43:08,260 Dit is, soos die uiteindelike houer vir jou aansoek. 807 00:43:08,260 --> 00:43:11,630 Dit is die uiteindelike ding wat bevat alles op die skerm, vir 'n 808 00:43:11,630 --> 00:43:13,650 iPhone of iPad aansoek. 809 00:43:13,650 --> 00:43:20,970 >> En, gerieflik, self.window het hierdie eiendom genoem 810 00:43:20,970 --> 00:43:22,650 rootViewController. 811 00:43:22,650 --> 00:43:26,480 En wat gaan die wyser te wees die heel eerste oog kontroleerder binnekant 812 00:43:26,480 --> 00:43:27,270 van jou jeug. 813 00:43:27,270 --> 00:43:32,000 So, wat ons hier wil doen, nou, is wat gelyk is aan ons navigasie te stel 814 00:43:32,000 --> 00:43:32,710 kontroleerder. 815 00:43:32,710 --> 00:43:33,760 Reg? 816 00:43:33,760 --> 00:43:37,490 Omdat, tegnies, navigasie kontroles is ons heel eerste oog 817 00:43:37,490 --> 00:43:38,770 kontroleerder. 818 00:43:38,770 --> 00:43:46,160 Dit hou van 'n verskeidenheid van ander oog leiers, en ons gestoot hierdie 819 00:43:46,160 --> 00:43:49,810 oog kontroleerder in daardie skikking in die navigasie kontroleerder. 820 00:43:49,810 --> 00:43:52,640 >> So, jy wil nie om dit te doen. 821 00:43:52,640 --> 00:43:54,225 Dit sou werklik nie help nie. 822 00:43:54,225 --> 00:43:58,040 Jy wil om dit te doen, as jy wou doen 'n navigasie-beheerder, wat die meeste 823 00:43:58,040 --> 00:44:01,100 van julle sal waarskynlik omdat jy wil te, soort van, 'n soort van, 824 00:44:01,100 --> 00:44:04,840 soos, menu terug te gaan na of 'n tuisblad om terug te gaan, eerder as 'n 825 00:44:04,840 --> 00:44:05,470 leë skerm. 826 00:44:05,470 --> 00:44:05,920 Ja? 827 00:44:05,920 --> 00:44:11,460 >> Publiek: Is dit ongemaklik vir jou om te zoom in op die - 828 00:44:11,460 --> 00:44:12,710 >> RHED SHI: Ja. 829 00:44:12,710 --> 00:44:15,310 830 00:44:15,310 --> 00:44:15,720 So, ja. 831 00:44:15,720 --> 00:44:22,370 Dit is die kode, en nou Kom ons toets dit uit. 832 00:44:22,370 --> 00:44:27,920 >> So, daar gaan ons. 833 00:44:27,920 --> 00:44:29,170 Magic. 834 00:44:29,170 --> 00:44:30,960 835 00:44:30,960 --> 00:44:32,690 So, OK. 836 00:44:32,690 --> 00:44:34,420 Dankie. 837 00:44:34,420 --> 00:44:35,000 OK. 838 00:44:35,000 --> 00:44:38,690 So nou, wat ons wil doen, is - so, ons soort van beperk, hier, reg? 839 00:44:38,690 --> 00:44:45,130 Ons kan potensieel alles skryf binnekant van die een funksie. 840 00:44:45,130 --> 00:44:48,470 Maar dit is nie hoe IOS-ontwikkeling werk gewoonlik. 841 00:44:48,470 --> 00:44:53,030 >> Dus, wat ons gaan doen, is om ons gaan 'n paar nuwe lêers te skep. 842 00:44:53,030 --> 00:44:57,110 Maar, meer spesifiek, gaan ons skep Nog 'n doelwit-C-klas, of 843 00:44:57,110 --> 00:44:58,010 'n ander voorwerp - 844 00:44:58,010 --> 00:45:00,700 klas en voorwerpe is verwissel hier. 845 00:45:00,700 --> 00:45:06,460 En hier is hoe ek kon, potensieel, skep 'n ander klas van U beheerders. 846 00:45:06,460 --> 00:45:12,030 >> So, dit is 'n sub-klas, as jy sien, hier, dit is 'n sub-klas van die 847 00:45:12,030 --> 00:45:15,910 UI oog kontroleerder, maar ek kan noem dit 'n ander naam hier. 848 00:45:15,910 --> 00:45:19,400 Ek kon dit CS50 noem, kan ek noem hierdie siening kontroleerder, kon ek roep 849 00:45:19,400 --> 00:45:21,640 hierdie blah oog kontroleerder - 850 00:45:21,640 --> 00:45:22,400 iets wat ek wil hê. 851 00:45:22,400 --> 00:45:24,140 Dit is net die naam vir die klas. 852 00:45:24,140 --> 00:45:27,020 Maar dit gaan belangrik wees omdat, in wese, wat ek doen 853 00:45:27,020 --> 00:45:29,720 hier is, ek moet skep 'n ander klas se naam. 854 00:45:29,720 --> 00:45:34,140 So, dit gaan wees, soos sommige soort van tipe of 'n voorwerp. 855 00:45:34,140 --> 00:45:35,910 So, moet dit 'n bietjie generiese. 856 00:45:35,910 --> 00:45:37,225 Dit gaan nie om te wees baie spesifiek. 857 00:45:37,225 --> 00:45:40,410 858 00:45:40,410 --> 00:45:44,480 >> En ook, wil ek wys uit hierdie twee opsies. 859 00:45:44,480 --> 00:45:48,430 Omdat ons doen alles wat binne kode, soms is dit 'n baie makliker 860 00:45:48,430 --> 00:45:53,540 te bring in 'n koppelvlak lêer, sodanig dat Ek kan letterlik sleep en, as 861 00:45:53,540 --> 00:45:54,960 Ons het vroeër met storielyn - 862 00:45:54,960 --> 00:45:57,810 jy weet, 'n etiket, of 'n knoppie, of wat ook al anders. 863 00:45:57,810 --> 00:46:01,950 En so, xibs is lêers wat u toelaat om doen nie, en jy het om dit te haak 864 00:46:01,950 --> 00:46:04,310 hierdie siening kontroleerder lêer. 865 00:46:04,310 --> 00:46:06,540 >> So, ek gaan om doelbewus nie seker nie. 866 00:46:06,540 --> 00:46:12,510 Gewoonlik sou ek check dit en as ek net het dit vir iPhone of iPad, ek 867 00:46:12,510 --> 00:46:16,340 sou check dit en net een Want jy weet, die iPhone of die iPad. 868 00:46:16,340 --> 00:46:19,750 Maar sedert ek doen universele, ek gaan twee van daardie te skep later. 869 00:46:19,750 --> 00:46:22,220 So, ek gaan om doelbewus afskakel. 870 00:46:22,220 --> 00:46:23,940 >> Dit is ook baie belangrik. 871 00:46:23,940 --> 00:46:27,490 Daar is baie keer, ek het foute waar dit is nie nagegaan. 872 00:46:27,490 --> 00:46:31,930 En so, natuurlik, hierdie lêer is nie, soort van, soos, ingesluit of ingevoer 873 00:46:31,930 --> 00:46:33,740 binnekant van die toets gids. 874 00:46:33,740 --> 00:46:38,180 En so nie, my kode het absoluut geen idee van die bestaan ​​van hierdie lêer, en 875 00:46:38,180 --> 00:46:41,080 wat veroorsaak dat 'n baie pyn en ure van debugging. 876 00:46:41,080 --> 00:46:44,360 Maar, maak net seker dit is so nagegaan dat, jy weet, is die teiken van hierdie 877 00:46:44,360 --> 00:46:47,510 lêer is vir hierdie program. 878 00:46:47,510 --> 00:46:48,310 >> OK. 879 00:46:48,310 --> 00:46:51,680 So, nou het ons twee nuwe lêers geskep. 880 00:46:51,680 --> 00:46:54,050 En hierdie lêers mooi kyk leeg. 881 00:46:54,050 --> 00:46:59,550 En eintlik, laat ons ook voortgaan deur die skep van die XIB lêers. 882 00:46:59,550 --> 00:47:03,690 So, voorheen, was ek in die Kakao Touch drop-down. 883 00:47:03,690 --> 00:47:06,880 Nou, ek gaan om te gaan in die gebruiker Interface raak, en soos jy kan sien, het ek 884 00:47:06,880 --> 00:47:08,120 kan 'n storielyn skep. 885 00:47:08,120 --> 00:47:11,710 >> So, selfs ek begin met 'n leë aansoek, kan ek nog steeds gebruik om 'n 886 00:47:11,710 --> 00:47:12,340 storielyn. 887 00:47:12,340 --> 00:47:15,480 Alhoewel, dit raak moeilik in terme van hoe jy wil om aan te sluit 888 00:47:15,480 --> 00:47:16,820 wat aan jou kode. 889 00:47:16,820 --> 00:47:18,230 So, ek sal nie daar gaan nie. 890 00:47:18,230 --> 00:47:22,160 >> Maar, wat ons wil doen nou is die skep van 'n oog. 891 00:47:22,160 --> 00:47:25,720 En jy kan kies vir 'n iPhone of 'n iPad. 892 00:47:25,720 --> 00:47:30,180 En tipies, om aan te dui die verskil - as jy doen 'n 893 00:47:30,180 --> 00:47:31,950 universele toepassing - 894 00:47:31,950 --> 00:47:35,980 jy óf sit 'n underscore iPhone, of jy kan doen 'n Twiddly. 895 00:47:35,980 --> 00:47:36,980 Dit maak nie regtig saak nie. 896 00:47:36,980 --> 00:47:40,890 Dit is net vir jou om te onderskei wat die oog is vir wat toestel. 897 00:47:40,890 --> 00:47:43,470 898 00:47:43,470 --> 00:47:44,430 >> En so, kyk nou. 899 00:47:44,430 --> 00:47:47,550 Ek het 'n skerm wat ek kan werk. 900 00:47:47,550 --> 00:47:53,530 En so, byvoorbeeld, kan ek 'n etiket sit hier, jy weet, en ek kan ook ' 901 00:47:53,530 --> 00:47:54,820 'n ander knoppie hier. 902 00:47:54,820 --> 00:47:58,730 Ek sal nie die moeite te verander die waardes hier. 903 00:47:58,730 --> 00:48:09,050 >> Maar wat belangrik is hier is dat die lêer se eienaar - 904 00:48:09,050 --> 00:48:13,660 So, ek is binnekant van die iPhone oog, iPhone XIB lêer. 905 00:48:13,660 --> 00:48:18,050 En in hierdie navigasie gebied of drop-down menu, ek wil om te gaan na die 906 00:48:18,050 --> 00:48:19,090 lêer se eienaar. 907 00:48:19,090 --> 00:48:22,630 En dit is die regtig belangrike stap hier. 908 00:48:22,630 --> 00:48:27,780 Ek wil die klas siening te maak kontroleerder, sodat hierdie XIB lêer 909 00:48:27,780 --> 00:48:30,030 gaan wees wat verband hou met my oog kontroleerder. 910 00:48:30,030 --> 00:48:33,590 911 00:48:33,590 --> 00:48:39,360 En enigiets wat ek doen in my oog kontroleerder programmaties is 912 00:48:39,360 --> 00:48:42,800 gaan verskyn op hier. 913 00:48:42,800 --> 00:48:46,270 >> So, egter agterkom dat - 914 00:48:46,270 --> 00:48:55,995 eintlik, laat ons hierdie siening agtergrond blou, byvoorbeeld. 915 00:48:55,995 --> 00:49:00,280 916 00:49:00,280 --> 00:49:01,530 Of groen. 917 00:49:01,530 --> 00:49:03,870 918 00:49:03,870 --> 00:49:07,950 En dan, so as jy sien, terug in hierdie kode, dit is waar dat ons aan ons 919 00:49:07,950 --> 00:49:09,200 navigasie kontroleerder. 920 00:49:09,200 --> 00:49:12,650 921 00:49:12,650 --> 00:49:18,310 >> Selfs al het ons die stap, is dit nog aan die gang rooi, nie groen te wees. 922 00:49:18,310 --> 00:49:20,350 En daar is 'n rede waarom. 923 00:49:20,350 --> 00:49:28,090 Dit is omdat, wanneer ons inited Ons is van mening kontroleerder, hier - 924 00:49:28,090 --> 00:49:30,010 Jammer, dit is 'n bietjie mal - 925 00:49:30,010 --> 00:49:34,520 wanneer ons inited ons mening kontroleerder hier, ons inited dit van die algemene tipe 926 00:49:34,520 --> 00:49:35,990 UIViewController. 927 00:49:35,990 --> 00:49:36,560 OK? 928 00:49:36,560 --> 00:49:40,560 So ons het nie eens doen dit met die klas. 929 00:49:40,560 --> 00:49:42,030 >> So Onthou, dit is soos 'n klas nou. 930 00:49:42,030 --> 00:49:47,160 Dit kan beskou word as 'n tipe, net as UIViewController is 'n tipe. 931 00:49:47,160 --> 00:49:51,080 En om dit te gebruik, wat ons nodig het om te doen is om die invoer van dit - 932 00:49:51,080 --> 00:49:52,520 invoer ViewController - 933 00:49:52,520 --> 00:49:55,750 en, soos jy kan sien, is dit autofills dit vir my. 934 00:49:55,750 --> 00:49:56,570 So, ViewController - 935 00:49:56,570 --> 00:50:02,070 En nou, hier, ek kan dit verander UIViewController te ViewController. 936 00:50:02,070 --> 00:50:05,050 En nou, hier, kan ek verander om dit te ViewController. 937 00:50:05,050 --> 00:50:07,790 938 00:50:07,790 --> 00:50:09,250 >> Kom ons loop dit weer. 939 00:50:09,250 --> 00:50:16,970 940 00:50:16,970 --> 00:50:19,690 Dit is nog rooi. 941 00:50:19,690 --> 00:50:23,370 En die rede waarom dit is nog rooi is omdat - 942 00:50:23,370 --> 00:50:26,230 Woah, wat daar gebeur het? 943 00:50:26,230 --> 00:50:31,500 Ons wou dit XIB te assosieer 'n lêer met die oog kontroleerder. 944 00:50:31,500 --> 00:50:37,540 Maar, ten einde om werklik te doen dat ons nodig het om te gaan in hierdie. 945 00:50:37,540 --> 00:50:42,980 En wanneer ons die init, ons wil doen initWithNibName, en dan wil ons 946 00:50:42,980 --> 00:50:48,910 doen die by string View_iPhone, byvoorbeeld. 947 00:50:48,910 --> 00:50:51,700 Jy kan die bundel hier ignoreer. 948 00:50:51,700 --> 00:50:54,965 >> En dit gaan toelaat ons, eintlik - 949 00:50:54,965 --> 00:51:00,620 950 00:51:00,620 --> 00:51:02,160 uh O, daar is 'n probleem. 951 00:51:02,160 --> 00:51:09,300 952 00:51:09,300 --> 00:51:09,980 Right. 953 00:51:09,980 --> 00:51:17,670 >> En so is daar 'n probleem, want in Ons is van mening XIB lêer, ons het 'n etiket en 954 00:51:17,670 --> 00:51:18,720 ons het 'n knoppie. 955 00:51:18,720 --> 00:51:23,660 Maar selfs al het ons verbind hierdie twee, daar is niks binnekant van 956 00:51:23,660 --> 00:51:27,440 ViewController.h of ViewController.m wat weerspieël die 957 00:51:27,440 --> 00:51:29,160 knoppies of daardie etikette. 958 00:51:29,160 --> 00:51:32,425 So, moet ons mense in te skryf eienskappe van die oog kontroleerder. 959 00:51:32,425 --> 00:51:35,290 960 00:51:35,290 --> 00:51:39,490 >> So, dit is hoe jy verklaar 'n eiendom. 961 00:51:39,490 --> 00:51:43,422 Dit neem in, gewoonlik, hierdie twee opsies. 962 00:51:43,422 --> 00:51:48,690 Vir die doel van ons en hierdie seminaar Ek sou sê dat, in die algemeen, 963 00:51:48,690 --> 00:51:52,250 die meeste eienskappe is nonatomic en te behou. 964 00:51:52,250 --> 00:51:55,420 Jy kan lees deur Google soek, jy weet, die verskil tussen 965 00:51:55,420 --> 00:51:58,620 nonatomic en te behou, mag jy weet, Google of iets. 966 00:51:58,620 --> 00:52:01,090 En Ek sal jou neem na, soos, stapel Oorloop, waar mense sal 967 00:52:01,090 --> 00:52:03,605 antwoorde vir die verskille tussen diegene. 968 00:52:03,605 --> 00:52:07,000 Maar vir nou, dit is wat ons wil betrokke word. 969 00:52:07,000 --> 00:52:12,790 >> En ons wil 'n UI etiket, ster te maak, en ons kan dit noem wat ons wil hê. 970 00:52:12,790 --> 00:52:15,710 Ons kan noem dit, jy weet, etiket. 971 00:52:15,710 --> 00:52:18,270 972 00:52:18,270 --> 00:52:20,110 En, sal ons skep 'n ander een vir die knoppie. 973 00:52:20,110 --> 00:52:24,380 974 00:52:24,380 --> 00:52:29,910 En onthou die asterisk te sluit, omdat ons te doen het met wysers 975 00:52:29,910 --> 00:52:36,740 pretty much orals binne van doelstelling-C. 976 00:52:36,740 --> 00:52:42,110 >> Maar dit sal nog steeds nie opgelos Die probleem, soos jy hier kan sien. 977 00:52:42,110 --> 00:52:50,540 En die rede hiervoor is omdat, wanneer ons wil 'n XIB lêer etiket of 'n aan te sluit 978 00:52:50,540 --> 00:52:55,690 knoppie aan die program, of die kop en implementering lêer, wil ons 979 00:52:55,690 --> 00:52:58,255 voeg hierdie stukkie van die kode - 980 00:52:58,255 --> 00:53:00,610 uitlaat. 981 00:53:00,610 --> 00:53:03,600 Let daarop dat dit 'n sleutel woord. 982 00:53:03,600 --> 00:53:07,970 >> En, so gou as ek klaar tik wat uit is, moet dit dié het 983 00:53:07,970 --> 00:53:09,100 twee sirkels, hier. 984 00:53:09,100 --> 00:53:11,200 Gewoonlik is dit nie ingevul 985 00:53:11,200 --> 00:53:12,920 Ek is nie seker hoekom hulle is. 986 00:53:12,920 --> 00:53:21,370 Maar gewoonlik is, sal jy met die hand te hê verbind hulle deur te gaan na hierdie kant van 987 00:53:21,370 --> 00:53:23,530 die utilities gebied. 988 00:53:23,530 --> 00:53:28,430 >> En ja, reg nou, ek het my etiket gekies, en ek wil hierdie nuwe te sleep 989 00:53:28,430 --> 00:53:33,910 verwysing uitlaat na my lêer se eienaar, en klik op Label. 990 00:53:33,910 --> 00:53:40,230 So nou, uiteindelik, hierdie etiket word verbonde aan hierdie etiket. 991 00:53:40,230 --> 00:53:44,950 En hierdie etiket is wat ons gaan programmaties gebruik om te verander sy 992 00:53:44,950 --> 00:53:49,250 teks, die lettertipe, die agtergrond kleur, ensovoorts. 993 00:53:49,250 --> 00:53:52,430 >> So, hoekom nie ons doen om die Dieselfde geld vir die knoppie? 994 00:53:52,430 --> 00:53:54,770 En as jy sien, vir die knoppie, dit is 'n bietjie meer ingewikkeld. 995 00:53:54,770 --> 00:53:59,060 Omdat, ek bedoel, jy veronderstel is om te druk op 'n knoppie, so dit is 'n baie 996 00:53:59,060 --> 00:54:02,950 opsies vir hoe gebruikers kan druk op 'n knoppie. 997 00:54:02,950 --> 00:54:06,570 En dan, sal ons later sien op dieselfde ons dit kan koppel aan ons 998 00:54:06,570 --> 00:54:09,140 kode te maak dit werk. 999 00:54:09,140 --> 00:54:12,770 >> So, vir nou al, wil ons aan te sluit dit is aan die werklike knoppie 1000 00:54:12,770 --> 00:54:13,570 binnekant van ons kode. 1001 00:54:13,570 --> 00:54:19,640 So gaan ons na die nuwe verwysings uitlaat, en doen dan die knoppie. 1002 00:54:19,640 --> 00:54:22,068 Nou, laat ons loop dit weer. 1003 00:54:22,068 --> 00:54:23,040 Uh oh. 1004 00:54:23,040 --> 00:54:23,890 OK. 1005 00:54:23,890 --> 00:54:25,140 Ek weet nie wat hier aangaan nie nou. 1006 00:54:25,140 --> 00:54:48,450 1007 00:54:48,450 --> 00:54:49,700 Whoa. 1008 00:54:49,700 --> 00:54:57,380 1009 00:54:57,380 --> 00:54:58,960 Net 'n oomblik, hier. 1010 00:54:58,960 --> 00:55:02,490 >> Eintlik, waarom nie ons neem 'n kyk na nog 'n voorbeeld in 1011 00:55:02,490 --> 00:55:05,800 die belang van die tyd. 1012 00:55:05,800 --> 00:55:06,200 OK. 1013 00:55:06,200 --> 00:55:10,610 So, hier is die meer geredelik bereid voorbeeld vir ViewController. 1014 00:55:10,610 --> 00:55:13,230 1015 00:55:13,230 --> 00:55:17,110 As jy hier kan sien, het ek 'n die eienskappe vir die 1016 00:55:17,110 --> 00:55:18,460 etiket en die knoppie. 1017 00:55:18,460 --> 00:55:20,370 En dan, hierdie stuk van die kode hier - 1018 00:55:20,370 --> 00:55:21,830 hierdie IBaction - 1019 00:55:21,830 --> 00:55:27,740 was 'n verbinding met die knoppie hier. 1020 00:55:27,740 --> 00:55:33,940 So as jy hier kan sien, Touch Up Binne is verbind tot die selector 1021 00:55:33,940 --> 00:55:37,390 genoem knoppie gedruk. 1022 00:55:37,390 --> 00:55:41,700 >> Dus, kan ons eintlik gaan deur die beweging weer hier, deur die neem van Touch Up 1023 00:55:41,700 --> 00:55:48,750 Binne en dit te sleep na File se eienaar, en dan 1024 00:55:48,750 --> 00:55:51,570 Klik op die knoppie gedruk word. 1025 00:55:51,570 --> 00:55:52,820 Nou, laat ons loop ons kode. 1026 00:55:52,820 --> 00:55:55,710 1027 00:55:55,710 --> 00:56:02,020 So nou, hierdie knoppie werk nou en sal ons na die volgende bladsy. 1028 00:56:02,020 --> 00:56:08,430 >> En, in terme van ons oog kontroleerder, dit is die stuk van die kode wat plaasgevind 1029 00:56:08,430 --> 00:56:10,000 versorging van die knoppie gedruk. 1030 00:56:10,000 --> 00:56:14,260 En dit is belangrik om daarop te let dat Ek het 'n ander tipe van die oog 1031 00:56:14,260 --> 00:56:16,330 kontroleerder genoem 'n tafel oog kontroleerder. 1032 00:56:16,330 --> 00:56:19,900 So, dit was soortgelyk aan terug in storielyn, toe ek gesleep een van 1033 00:56:19,900 --> 00:56:23,450 hierdie Table View controllers in die storielyn. 1034 00:56:23,450 --> 00:56:24,470 Ek is die skep van 'n ander 1035 00:56:24,470 --> 00:56:30,000 >> Wyser na die Table View kontroleerder, alloc en init-ing, en dan doen 1036 00:56:30,000 --> 00:56:34,490 self dot navigasie kontroleerder, stoot ViewController, hierdie nuwe 1037 00:56:34,490 --> 00:56:35,350 viewController. 1038 00:56:35,350 --> 00:56:39,750 En ek het vasgestel die animasie te ja, want nou binnekant van my jeug, en Ek 1039 00:56:39,750 --> 00:56:45,670 wil eintlik sien die animasie gaan van die tuisblad na die tafel 1040 00:56:45,670 --> 00:56:46,920 oog kontroleerder. 1041 00:56:46,920 --> 00:56:48,830 1042 00:56:48,830 --> 00:56:51,110 >> Publiek: Het jy nog bekommerd oor vullisverwydering? 1043 00:56:51,110 --> 00:56:51,840 >> RHED SHI: Wat is dit? 1044 00:56:51,840 --> 00:56:54,740 No 1045 00:56:54,740 --> 00:56:58,970 So, die vraag is, het jy om te werk met vullisverwydering? 1046 00:56:58,970 --> 00:57:03,470 So, Xcode 4 het soos ARC, wat outomatiese verwysing tel. 1047 00:57:03,470 --> 00:57:06,120 En so, gewoonlik wanneer jy begin om 'n nuwe projek, sal jy seker maak dat, omdat 1048 00:57:06,120 --> 00:57:09,440 niemand regtig wil om te gaan met bevry geheue en dinge. 1049 00:57:09,440 --> 00:57:13,720 Maar ek dink in Xcode 5, daar is selfs nie dat die opsie op die nuwe projek. 1050 00:57:13,720 --> 00:57:16,750 So, is dit outomaties doen dit vir jou. 1051 00:57:16,750 --> 00:57:16,920 Ja? 1052 00:57:16,920 --> 00:57:20,970 >> Publiek: Kan jy uitvoer van 'n PDF in jou storielyn? 1053 00:57:20,970 --> 00:57:22,020 >> RHED SHI: Ja, beslis. 1054 00:57:22,020 --> 00:57:28,180 So, al hierdie sal ingesluit word in bron-kode, sodat julle kan sien 1055 00:57:28,180 --> 00:57:30,730 die werklike Xcode projek vir dit. 1056 00:57:30,730 --> 00:57:31,105 Ja? 1057 00:57:31,105 --> 00:57:35,944 >> Publiek: Maar, ek bedoel, wil, kan ek druk 'n PDF met my storielyn? 1058 00:57:35,944 --> 00:57:38,920 As ek wil net die uitvoer van die beelde om iemand te wys. 1059 00:57:38,920 --> 00:57:39,160 >> RHED SHI: O ja. 1060 00:57:39,160 --> 00:57:41,980 Ek dink, miskien, kan jy net neem 'n kiekie. 1061 00:57:41,980 --> 00:57:44,350 Ja, en stuur hulle 'n skerm geskiet of iets. 1062 00:57:44,350 --> 00:57:45,600 Ja. 1063 00:57:45,600 --> 00:57:49,170 1064 00:57:49,170 --> 00:57:50,570 >> So, laat ons sien. 1065 00:57:50,570 --> 00:57:56,470 In die belang van tyd, dink ek dit is al l kan vandag dek. 1066 00:57:56,470 --> 00:57:59,600 Maar, ek weet dit is eintlik net skaars raak die oppervlak van IOS 1067 00:57:59,600 --> 00:58:00,370 ontwikkeling. 1068 00:58:00,370 --> 00:58:05,630 So, voel asseblief vry om my te kontak indien u enige vrae oor IOS 1069 00:58:05,630 --> 00:58:07,000 ontwikkeling. 1070 00:58:07,000 --> 00:58:12,840 En, hopelik, sal ek in staat wees om skoon te maak 'n paar van die kode vir die bron 1071 00:58:12,840 --> 00:58:16,830 kode lêers, sodat jy het 'n paar baie mooi voorbeelde te werk. 1072 00:58:16,830 --> 00:58:21,020 >> Anders as dit, as jy ouens gaan die CS50 Hackathon, mag ek of mag 1073 00:58:21,020 --> 00:58:25,730 nie daar wees nie, en ek kan jou help om uit met 'n paar IOS-ontwikkeling, ook. 1074 00:58:25,730 --> 00:58:26,980 So, baie dankie, ouens. 1075 00:58:26,980 --> 00:58:31,168