1 00:00:00,000 --> 00:00:07,880 2 00:00:07,880 --> 00:00:09,800 >> RHED SHI: Mirë se vini në shih seminar CS50 - 3 00:00:09,800 --> 00:00:11,630 Hyrje në IOS. 4 00:00:11,630 --> 00:00:13,290 Ju faleminderit të gjithëve për të ardhur. 5 00:00:13,290 --> 00:00:16,610 Unë shpresoj se ju jeni vetëm aq i ngacmuar si unë jam gati IOS. 6 00:00:16,610 --> 00:00:22,300 Vitin e kaluar, mora CS50 si një i paedukuar mjaft, dhe unë në thelb mësuar iOS për tim 7 00:00:22,300 --> 00:00:23,490 Projekti final. 8 00:00:23,490 --> 00:00:26,350 Dhe kjo ishte mjaft - 9 00:00:26,350 --> 00:00:30,530 mirë, kjo nuk ishte e lehtë, por ka shumë mbështetje tutorials online. 10 00:00:30,530 --> 00:00:33,760 Dhe unë me të vërtetë shpresoj se me këtë seminar, unë do të ju jap djema një kokë 11 00:00:33,760 --> 00:00:36,750 fillojë në zhvillimin IOS 12 00:00:36,750 --> 00:00:40,490 >> Pra, sa i përket zhvillimit IOS, ka dy gjëra kryesore që 13 00:00:40,490 --> 00:00:42,090 doni të mbuluar sot. 14 00:00:42,090 --> 00:00:43,290 Së pari, gjuha - 15 00:00:43,290 --> 00:00:46,650 gjuha do të jetë në Objektivi-C. Ne në të vërtetë do të dëgjoni 16 00:00:46,650 --> 00:00:47,750 diçka me të vërtetë emocionuese. 17 00:00:47,750 --> 00:00:51,500 Pra, ju mund të bashkohet me gjithë Apple komunitetit të zhvilluesve dhe për të ndërtuar disa 18 00:00:51,500 --> 00:00:52,940 Apps të vërtetë të tmerrshëm. 19 00:00:52,940 --> 00:00:58,670 >> Gjithashtu, iOS 7 është e bukur, me shpresë, për disa prej jush. 20 00:00:58,670 --> 00:01:01,130 Por kjo është e diskutueshme, unë e di. 21 00:01:01,130 --> 00:01:05,349 Dhe kryesisht, ajo që unë dua të bëj është udhëzues ju nëpërmjet Objektivi-C, dhe gjithashtu 22 00:01:05,349 --> 00:01:10,650 Xcode, e cila është e integruar mjedis zhvillimi që ju do të jetë 23 00:01:10,650 --> 00:01:13,460 duke punuar në për IOS. 24 00:01:13,460 --> 00:01:19,140 >> Dhe kështu, vetëm një fjalë në Objektivi-C. Në thelb, kjo është e saktë njëjtë si C, 25 00:01:19,140 --> 00:01:22,790 por me shumë gjëra të tjera. 26 00:01:22,790 --> 00:01:27,710 Dhe kështu, më shumë në mënyrë rigoroze, kjo është në fakt një super-set e C. Pra, çdo gjë që ju 27 00:01:27,710 --> 00:01:32,280 mund të bëjë në C tani, e cila është në thelb të doja pset 0 deri 6, ju 28 00:01:32,280 --> 00:01:34,170 mund të bëjë në Objektivi-C. 29 00:01:34,170 --> 00:01:38,620 >> Pra, mos të ndjehen të frikësuar në lidhje me këtë re Gjuha që ju do të jeni për të mësuar. 30 00:01:38,620 --> 00:01:42,120 Ju keni mbuluar tashmë një shumë prej tij, sepse ju keni bërë gjithë këtë të kaluar të c 31 00:01:42,120 --> 00:01:45,880 semestër, me përjashtim tani ju jeni do që të ketë shumë më tepër për të punuar me të. 32 00:01:45,880 --> 00:01:49,270 Dhe unë jam vetëm do të çojë ju nëpërmjet një disa shembuj të nxjerrë në pah disa 33 00:01:49,270 --> 00:01:53,920 nga dallimet kryesore që kam gjetur ishin të të vërtetë e rëndësishme kur kam mësuar 34 00:01:53,920 --> 00:01:57,180 Objektivi-C vitin e kaluar. 35 00:01:57,180 --> 00:02:00,910 >> E pra në fakt, kështu, pika tjera është, Objektivi-C është, padyshim, 36 00:02:00,910 --> 00:02:02,200 object-oriented. 37 00:02:02,200 --> 00:02:06,340 Dhe ne do të diskutuar pak për atë që do të thotë më vonë. 38 00:02:06,340 --> 00:02:11,340 Në thelb, kjo është si se si keni punuar me structs në këtë pset kaluar, me 39 00:02:11,340 --> 00:02:13,360 nyjet dhe të tjera të ngjashme gjëra të tilla si se. 40 00:02:13,360 --> 00:02:17,110 Me përjashtim, në Objektivi-C, çdo gjë është e një objekt, dhe ju jeni do të jetë 41 00:02:17,110 --> 00:02:20,720 duke kaluar rreth pointers të objekteve në vend se vetë vlerat. 42 00:02:20,720 --> 00:02:25,050 Pra, kjo është vetëm diçka e rëndësishme për të mbajtur në mend. 43 00:02:25,050 --> 00:02:29,140 >> Pra, pse nuk kemi filluar me disa dallimet në sintaksë ndërmjet C dhe 44 00:02:29,140 --> 00:02:30,540 Objektivi-C? 45 00:02:30,540 --> 00:02:38,310 Unë dua të theksoj # përfshijnë, ju e di, io.h standarde në C dhe C + +, me 46 00:02:38,310 --> 00:02:44,030 version objektiv-C që i cili është # importit, dhe pastaj një lloj 47 00:02:44,030 --> 00:02:44,790 header fotografi. 48 00:02:44,790 --> 00:02:48,165 Në këtë rast, do të ishte UIKit, ju e dini, çaj UIKit.h. 49 00:02:48,165 --> 00:02:53,560 Ajo gjithashtu mund të jetë, ju e dini, MKMapview për ju të zvogëlojë MKMapview.h në qoftë se ju doni 50 00:02:53,560 --> 00:02:56,370 për të bërë, si, një hartë brenda app. 51 00:02:56,370 --> 00:02:57,110 Gjëra të ngjashme si kjo. 52 00:02:57,110 --> 00:03:01,250 >> Pra, gjëja e rëndësishme është të përfshijë ka ndryshuar tani për të importuar. 53 00:03:01,250 --> 00:03:04,340 Por ideja ende mbetet. 54 00:03:04,340 --> 00:03:10,460 Ju do të jeni të importuar një lloj i header dosjen në programin tuaj. 55 00:03:10,460 --> 00:03:14,550 >> Unë gjithashtu dua të theksojë dallimin mes printf dhe NSLog. 56 00:03:14,550 --> 00:03:19,760 Megjithatë, siç kemi thënë më parë, Objektivi-C është një super-grup të rreptë e 57 00:03:19,760 --> 00:03:22,800 C, që do të thotë se ekziston printf në Objektivi-C, too. 58 00:03:22,800 --> 00:03:24,340 Por, shumica e njerëzve nuk e përdorin atë. 59 00:03:24,340 --> 00:03:28,245 Shumica e njerëzve përdorin këtë NSLog sepse atë ju jep një pullë kohë, dhe ne do të shohim 60 00:03:28,245 --> 00:03:29,780 ajo në veprim vonë. 61 00:03:29,780 --> 00:03:33,560 Por, kjo është në përgjithësi një më e dobishme mënyrë për të shtypura nga variablave. 62 00:03:33,560 --> 00:03:38,220 >> Dhe unë gjithashtu dua të theksoj se NSLog merr në vetëm njëjtë 63 00:03:38,220 --> 00:03:41,650 Vlerat placeholder si printf ka - 64 00:03:41,650 --> 00:03:45,900 kështu% d është për një int, % F është për një noton. 65 00:03:45,900 --> 00:03:49,750 Megjithatë, unë dua të theksoj kjo një shumë e fundit - 66 00:03:49,750 --> 00:03:52,960 NSLog% në shenjë - 67 00:03:52,960 --> 00:03:55,390 që është një placeholder për një objekt. 68 00:03:55,390 --> 00:04:01,160 Dhe siç thashë më parë, merret Objektivi-C shumë e shumë kryesisht në objekte, 69 00:04:01,160 --> 00:04:05,020 dhe kështu që kjo do të vijë në përdorim, kur ju dëshironi të shtypura jashtë, ndoshta, ndoshta një 70 00:04:05,020 --> 00:04:08,390 NSArray, ose NSDictionary, ose një NSString. 71 00:04:08,390 --> 00:04:13,750 >> Pra, gjithashtu, vini re se, në NSLog tonë Deklarata, ne kemi një në shenjë para 72 00:04:13,750 --> 00:04:15,380 e kuotimit - 73 00:04:15,380 --> 00:04:20,769 që është për të ditur se vargjet, tani, në Objektivi-C janë objekte. 74 00:04:20,769 --> 00:04:23,310 Ata nuk janë më të mundshëm thjesht char. 75 00:04:23,310 --> 00:04:25,530 Ata janë objekte dhe janë trajtohet si e tillë. 76 00:04:25,530 --> 00:04:28,690 >> Pra, është e vërtetë e rëndësishme që kur ju përdorni NSLog ajo merr në një NS 77 00:04:28,690 --> 00:04:32,580 string, që do të thotë se ju do të keni për të përfshirë një AT para tuaj 78 00:04:32,580 --> 00:04:34,270 thonjza. 79 00:04:34,270 --> 00:04:38,290 Dhe kjo është arsyeja pse ju shihni, këtu, në të gjitha Funksioni im bën thirrje për këtë NSLog, unë 80 00:04:38,290 --> 00:04:42,400 kanë një AT para kuotat, madje edhe pse% d dhe% f-së janë 81 00:04:42,400 --> 00:04:45,200 gjithë të njëjtën gjë nga C. 82 00:04:45,200 --> 00:04:47,930 >> Çdo pyetje deri më tani? 83 00:04:47,930 --> 00:04:50,920 Unë do të përpiqemi për të shkuar nëpër këtë shpejt në mënyrë që ne mund të kemi më shumë kohë për të punuar 84 00:04:50,920 --> 00:04:55,210 me Xcode dhe Objektivi-C, kështu që se ju djema mund të merrni më shumë 85 00:04:55,210 --> 00:04:57,630 njohur me të. 86 00:04:57,630 --> 00:05:01,900 >> Tjetra, unë dua të theksoj diçka konceptualisht e rëndësishme. 87 00:05:01,900 --> 00:05:05,130 Pra, në C, gjërat më janë funksione. 88 00:05:05,130 --> 00:05:06,280 Ne bëjmë një telefonatë funksion. 89 00:05:06,280 --> 00:05:10,190 Ne deklarojmë funksione në këtë mënyrë, me kthimi lloji i parë, atëherë 90 00:05:10,190 --> 00:05:13,570 Emri funksion, kllapa, dhe më pas pavarësisht argumenteve dhe llojin e 91 00:05:13,570 --> 00:05:15,590 këto argumente ne duam për të kaluar in 92 00:05:15,590 --> 00:05:19,970 Dhe Objektivi-C, sepse çdo gjë është një objekt ose klasë - 93 00:05:19,970 --> 00:05:23,970 kështu klasë dhe objekti janë dy terma që janë kryesisht sinonim me njëri-tjetrin, 94 00:05:23,970 --> 00:05:28,270 kështu që unë mund të përdorin ato në mënyrë të këmbyeshme gjatë gjithë seminarit. 95 00:05:28,270 --> 00:05:34,090 >> Por, ju do të shihni se ne kemi metoda në Objektivi-C në vend se funksionon. 96 00:05:34,090 --> 00:05:36,390 Dhe metodat përkasin objekteve. 97 00:05:36,390 --> 00:05:38,950 Pra ashtu si, ndoshta të për shembull, nyje - 98 00:05:38,950 --> 00:05:40,250 Lloji tonë [e padëgjueshme] 99 00:05:40,250 --> 00:05:44,390 Nyja nga pset 6 ose 5 - 100 00:05:44,390 --> 00:05:49,590 ne kemi fjalën, pronës, ose tregues tjetër nyje. 101 00:05:49,590 --> 00:05:53,880 Metodat janë thjesht funksione brenda i një lloj strukture. 102 00:05:53,880 --> 00:05:57,510 >> Pra, në këtë rast, struktura do të ishte objekt, dhe pastaj metodë është 103 00:05:57,510 --> 00:05:59,260 diçka që i takon një objekt. 104 00:05:59,260 --> 00:06:02,650 Dhe kjo është se si ju do të deklarojë, lloj, një metodë. 105 00:06:02,650 --> 00:06:07,990 Ju do të fillojë me, përsëri, kthimi lloj - kështu që, unë u përpoq për të ngjyra 106 00:06:07,990 --> 00:06:12,990 kodin fjalët kyçe këtu në mënyrë që ju djema mund të shohin, të paktën, formatimit 107 00:06:12,990 --> 00:06:17,650 Ngjashmëritë midis funksionit deklaratat dhe deklaratat metodë. 108 00:06:17,650 --> 00:06:21,990 Pra, ju filloni me, ju e dini, një kthim lloj - në këtë rast, është një grup, apo 109 00:06:21,990 --> 00:06:23,910 një akrep NSArray - 110 00:06:23,910 --> 00:06:26,710 dhe pastaj ju e keni këtë metodë. 111 00:06:26,710 --> 00:06:30,900 Dhe pastaj, çfarë është interesante këtu është se në vend të kllapa, ne 112 00:06:30,900 --> 00:06:32,900 kanë këto colons. 113 00:06:32,900 --> 00:06:38,450 Dhe pastaj, përballë argumenteve tona, ne vënë, përsëri, në kllapa lloji 114 00:06:38,450 --> 00:06:39,370 e argumentit tonë. 115 00:06:39,370 --> 00:06:43,160 >> Pra, tani unë jam duke u përpjekur për të bërë krahasim në mes, ju e dini, n dhe 116 00:06:43,160 --> 00:06:45,450 Numri, për shkak se ata janë të dy Ints si. 117 00:06:45,450 --> 00:06:49,580 Dhe pastaj, një tjetër është një lloj NSUInteger. 118 00:06:49,580 --> 00:06:56,390 Dhe pastaj, me Objektivi-C, kur ju duan të kenë argumente të shumta në 119 00:06:56,390 --> 00:07:00,030 klauzolë tuaj metodë, ju, lloj, ndarë ato lloj si kjo - 120 00:07:00,030 --> 00:07:03,790 Unë nuk jam i sigurt se si për të përshkruar atë, por ky është një shembull i mirë se si ju 121 00:07:03,790 --> 00:07:06,530 mund të ketë argumente të shumta në atje. 122 00:07:06,530 --> 00:07:10,360 >> Ju mund, sigurisht, vetëm krejtësisht injorojë zorrës së trashë andArray NSArray 123 00:07:10,360 --> 00:07:13,240 array qoftë se keni kërkuar vetëm një metodë që merr në një argumenti. 124 00:07:13,240 --> 00:07:13,677 Po, pyetje. 125 00:07:13,677 --> 00:07:18,701 >> Audienca: A janë të dy NSUInteger dhe Argumentet NSArray që mund të merren në 126 00:07:18,701 --> 00:07:21,530 brenda NSArray? 127 00:07:21,530 --> 00:07:22,060 >> RHED SHI: Po. 128 00:07:22,060 --> 00:07:23,400 Pra, më lejoni të shpjegoj. 129 00:07:23,400 --> 00:07:23,790 Pra, po. 130 00:07:23,790 --> 00:07:30,260 Pra, pyetja ishte e janë NSUInteger dhe NSArray * llojet e argumenteve, 131 00:07:30,260 --> 00:07:31,570 dhe kjo është e saktë. 132 00:07:31,570 --> 00:07:35,700 Pra, ju gjithmonë doni të specifikojë se çfarë lloji i argumentit tuaj është. 133 00:07:35,700 --> 00:07:41,570 Dhe këtu, unë jam duke u përpjekur të prezantoj për disa të sintaksës dhe vocab të 134 00:07:41,570 --> 00:07:45,910 Objektivi-C, kështu që ata janë të llojeve aktuale që ju do të merret me të. 135 00:07:45,910 --> 00:07:48,970 >> Dhe si ju do të njoftim, vargjeve nuk janë më, lloj, 136 00:07:48,970 --> 00:07:50,780 gjëra të thjeshta parantezë. 137 00:07:50,780 --> 00:07:52,060 Ata janë objekte. 138 00:07:52,060 --> 00:07:56,700 Edhe pse, në qoftë se ne do të shkojmë në të ardhshëm rrëshqitje, ne mund të shohim se ne mund 139 00:07:56,700 --> 00:08:02,510 hard-code një NSArray në Objektivi-C me thjesht një simbol në para 140 00:08:02,510 --> 00:08:04,190 kllapa. 141 00:08:04,190 --> 00:08:08,650 Unë nuk jam, në të vërtetë, mjaft të sigurt nëse I syntactically vështirë-koduar një rrjet 142 00:08:08,650 --> 00:08:16,020 saktë për versionin C, por kjo është menduar të jetë në një grup C. 143 00:08:16,020 --> 00:08:19,760 >> Pra, kjo është se si ju do, ju e dini, ndoshta përdorin funksionet ose 144 00:08:19,760 --> 00:08:21,990 metoda që ne të krijuar më parë. 145 00:08:21,990 --> 00:08:22,250 E drejtë? 146 00:08:22,250 --> 00:08:25,340 Pra, kjo është ajo ku ne të deklarojë tonë funksioni dhe mënyra jonë. 147 00:08:25,340 --> 00:08:28,020 Dhe tani ne duam të përdorin ato në programi ynë, dhe ky është 148 00:08:28,020 --> 00:08:29,450 se si ne do ta bëjmë atë. 149 00:08:29,450 --> 00:08:32,400 Pra, në C, ju do të keni, ju e dini, ndoshta, një bool b, dhe keni vendosur atë në 150 00:08:32,400 --> 00:08:36,549 barabartë me funksionin, dhe pastaj ju të kalojë në argumentet. 151 00:08:36,549 --> 00:08:39,190 >> Në Objektivi-C, kjo është goxha e shumë të njëjtën gjë. 152 00:08:39,190 --> 00:08:43,370 Ju keni NSArray * my_array, dhe është e do të barabartë - tani, vetëm 153 00:08:43,370 --> 00:08:47,460 Dallimi këtu është kjo gjë e objekt, të cilën unë e kam theksuar në të verdhë, dhe 154 00:08:47,460 --> 00:08:51,180 si ju mund të shihni, në C, ka asnjë fjalë tjetër të verdhë. 155 00:08:51,180 --> 00:08:54,170 Dhe kjo sepse metodat përkasin me një objekt të caktuar. 156 00:08:54,170 --> 00:08:59,800 Pra, kjo është arsyeja pse unë duhet të ketë një objekt se, lloj, e quan këtë metodë në 157 00:08:59,800 --> 00:09:04,360 numri zero, dhe pastaj NSArray a, b, c, d. 158 00:09:04,360 --> 00:09:05,350 Çdo pyetje mbi këtë? 159 00:09:05,350 --> 00:09:12,190 >> Ne do të shohim këto koncepte në veprim shumë shpejt kur të shkojmë në një demo. 160 00:09:12,190 --> 00:09:13,400 OK. 161 00:09:13,400 --> 00:09:17,170 Tani, unë dua të flas pak për pak kohë rreth Xcode 5, e cila është 162 00:09:17,170 --> 00:09:21,160 mjedis të integruar të zhvillimit që ju do të punojnë me të. 163 00:09:21,160 --> 00:09:26,160 Unë e di shumë prej jush, ose disa nga ju, nuk kanë Macs, e cila është një problem 164 00:09:26,160 --> 00:09:30,490 sepse Xcode nuk është në dispozicion për Windows dhe PC. 165 00:09:30,490 --> 00:09:32,785 Mos më pyesni pse, por ndoshta - 166 00:09:32,785 --> 00:09:33,730 yeah, e korporatave. 167 00:09:33,730 --> 00:09:35,290 Çfarëdo. 168 00:09:35,290 --> 00:09:39,360 Por gjithsesi, kështu që, unë kërkoj falje në qoftë se disa nga ju keni për të shkarkuar disa lloj 169 00:09:39,360 --> 00:09:43,000 makinë virtuale për Mac në menyre per te drejtuar Xcode 5. 170 00:09:43,000 --> 00:09:46,460 Por kjo është një fjalë e zgjuar mjaft software për të përdorur. 171 00:09:46,460 --> 00:09:51,280 >> Dhe kështu, para se të pikiatë në çdo lloj e demo, unë vetëm dua të ju tregojnë se një 172 00:09:51,280 --> 00:09:55,700 fotografia e asaj Xcode duket si në tuaj dritare, dhe pastaj edhe të flasim për 173 00:09:55,700 --> 00:09:57,670 çfarë është kjo hapësirë ​​e tërë. 174 00:09:57,670 --> 00:10:01,600 Pra, kjo është lloj si të mësuarit se si të përdorin Microsoft Word, përveç ju doni të 175 00:10:01,600 --> 00:10:04,675 njihen me të gjitha gjëra të ndryshme që 176 00:10:04,675 --> 00:10:06,250 po ndodh këtu. 177 00:10:06,250 --> 00:10:11,160 >> Pra, së pari, unë dua të ju pikë në shiritin e veglave në krye. 178 00:10:11,160 --> 00:10:14,450 Ju do të shihni se, në krye, ju do të keni emrin e file - 179 00:10:14,450 --> 00:10:18,100 ose, në fakt, emri i projektit tuaj dhe pastaj emrin tuaj fotografi. 180 00:10:18,100 --> 00:10:20,940 Të marrë parasysh të luajnë dhe butonat e ndaluar. 181 00:10:20,940 --> 00:10:24,210 Ata janë ato që ju do të jenë të përdorur për të drejtuar app tuaj në 182 00:10:24,210 --> 00:10:25,600 imitues - 183 00:10:25,600 --> 00:10:26,550 imitues iOS. 184 00:10:26,550 --> 00:10:29,940 Kjo automatikisht vjen me Xcode 5, kështu që ju nuk duhet të shqetësohen për 185 00:10:29,940 --> 00:10:32,070 shkarkimit disa lloj imitues. 186 00:10:32,070 --> 00:10:34,700 Ju vetëm shtypni luajnë dhe atëherë ajo shkon app tuaj. 187 00:10:34,700 --> 00:10:39,230 Dhe ju mund të luajnë rreth me ju, dhe ju do të shihni se si funksionon më vonë. 188 00:10:39,230 --> 00:10:42,690 >> Dhe pastaj, në qendër, sigurisht, është ku të gjithë kodin tuaj të bukur është 189 00:10:42,690 --> 00:10:44,240 do të shkojnë. 190 00:10:44,240 --> 00:10:48,340 Dhe pastaj, në anën e majtë, ju do të kanë këtë, lloj, dosje - 191 00:10:48,340 --> 00:10:50,340 navigacion - 192 00:10:50,340 --> 00:10:53,970 dhe pastaj, ju do të shihni se, së bashku me ikonën dosje, ka një 193 00:10:53,970 --> 00:10:57,680 bandë e ikonave të tjera atje që do të jetë e dobishme më vonë. 194 00:10:57,680 --> 00:11:04,710 >> Dhe pastaj, në anën e djathtë është një dobi fushë ku ju mund të punoni me 195 00:11:04,710 --> 00:11:09,620 disa prej objekteve dhe të përcaktojë, ju e di, se çfarë duhet të jetë ngjyra, çfarë 196 00:11:09,620 --> 00:11:12,040 font teksti duhet të jetë, e të tjera. 197 00:11:12,040 --> 00:11:15,890 Edhe pse, çdo gjë që ju bëni në fushën e shërbimeve, ju mund të 198 00:11:15,890 --> 00:11:17,480 të bërë në kodin si. 199 00:11:17,480 --> 00:11:21,630 Dhe kështu, unë do të shkojnë përmes dy shembuj të përdorimit, thjesht, nuk ka kod në 200 00:11:21,630 --> 00:11:23,730 të gjithë - ose Kodi shumë minimale - 201 00:11:23,730 --> 00:11:28,290 vargje të gjithë kodin, vetëm në mënyrë që ju djema e di se çfarë mund dhe nuk mund të bëjë në 202 00:11:28,290 --> 00:11:29,260 Xcode dhe Objektivi-C. 203 00:11:29,260 --> 00:11:32,770 >> Dhe pastaj, në fund, deri në fund, ju keni zonën debug. 204 00:11:32,770 --> 00:11:37,270 Pra, ju nuk keni për të kandiduar gdb, e të tjera, në programet tuaja. 205 00:11:37,270 --> 00:11:39,180 Kjo automatikisht e bën këtë për ju. 206 00:11:39,180 --> 00:11:42,880 Dhe ju gjithashtu mund të shkruar gjëra në këtë zonë. 207 00:11:42,880 --> 00:11:46,790 Pra, në të vërtetë, më vonë, ne do të shkojnë nëpër mario.c, në qoftë se ju djema ende e mbani mend 208 00:11:46,790 --> 00:11:49,000 që, në Xcode. 209 00:11:49,000 --> 00:11:50,360 Kështu që duhet të jetë kënaqësi. 210 00:11:50,360 --> 00:11:55,870 >> Dhe pastaj, vetëm për të sjellë atë përsëri në Objektivi-C, unë dua të theksoj atë që 211 00:11:55,870 --> 00:11:57,440 ju mund të bëni me të nëse deklarata. 212 00:11:57,440 --> 00:12:03,160 Pra, ju e dini, sepse Objektivi-C është një superset e C, çdo gjë që ju bëni është, 213 00:12:03,160 --> 00:12:06,890 fjalë për fjalë, e njëjtë si C. Ju vetëm kanë dallime të vogla. 214 00:12:06,890 --> 00:12:10,810 Pra, ju do të vëreni formularin për një rast Deklarata është ende e njëjtë - ju keni 215 00:12:10,810 --> 00:12:14,280 në qoftë se, dhe atëherë ju keni me kllapa një kusht brenda, ajo dhe pastaj 216 00:12:14,280 --> 00:12:17,150 formatimin e teksteve kaçurrel për çdo gjë që duan të bëjnë brenda aty. 217 00:12:17,150 --> 00:12:21,680 >> Megjithatë, kam kërkuar për të vënë këtë rrëshqitje up këtu, thjesht për të ilustruar se, 218 00:12:21,680 --> 00:12:25,680 sepse ne jemi që kanë të bëjnë me objekte tani, ne do të duhet të përdorin këto gjëra 219 00:12:25,680 --> 00:12:31,240 quajtur si, është i barabartë me varg, e cila është, rastesisht, një metodë të një 220 00:12:31,240 --> 00:12:33,710 string ose një objekt NSString. 221 00:12:33,710 --> 00:12:38,600 Pra, fjala, në këtë rast, është një NSString objekt, dhe ka një metodë të quajtur është 222 00:12:38,600 --> 00:12:44,150 barabartë me string, dhe pastaj ne jemi duke kaluar në një varg të vështirë të koduar për të parë 223 00:12:44,150 --> 00:12:48,110 nëse ato janë të barabarta me njëri tjetrin. 224 00:12:48,110 --> 00:12:51,580 >> Çdo pyetje deri më tani? 225 00:12:51,580 --> 00:12:52,440 OK. 226 00:12:52,440 --> 00:12:56,190 Dhe, unë dua të shkoj për një për deklaratë gjithashtu. 227 00:12:56,190 --> 00:13:01,420 >> Kështu, për shembull, në qoftë se kemi dashur të lak mbi gjatësinë e vargut në C, ky 228 00:13:01,420 --> 00:13:03,710 duhet të jenë të njohura për ju. 229 00:13:03,710 --> 00:13:07,840 Dhe, në Objektivi-C, unë dua të nxjerrë në pah këtë, lloj, 230 00:13:07,840 --> 00:13:09,235 Metoda e quajtur numërimin. 231 00:13:09,235 --> 00:13:13,260 232 00:13:13,260 --> 00:13:15,550 E pra, në të vërtetë, le të më vetëm të marrë që i mbështesin. 233 00:13:15,550 --> 00:13:17,200 Count është një metodë e vektorit. 234 00:13:17,200 --> 00:13:21,070 Megjithatë, kjo është një mënyrë më specifike pronë e array, e cila është arsyeja pse ju 235 00:13:21,070 --> 00:13:22,380 mund të përdorni dot simbol. 236 00:13:22,380 --> 00:13:25,870 Por unë nuk dua të merrni në shumë të kjo stuff konceptual, unë vetëm dua 237 00:13:25,870 --> 00:13:30,140 për të treguar se si gjërat do të duken si në Objektivi-C kundrejt C. 238 00:13:30,140 --> 00:13:35,400 >> Dhe gjithashtu, unë dua të theksoj se edhe pse unë kam qenë duke përdorur NSUInteger 239 00:13:35,400 --> 00:13:39,860 para së gjithash-të mi në Objektivi-C, ju gjithashtu mund të përdorni int, int sepse është 240 00:13:39,860 --> 00:13:42,290 krejtësisht të vlefshme në Objektivi-C, gjithashtu. 241 00:13:42,290 --> 00:13:42,475 Po? 242 00:13:42,475 --> 00:13:44,350 >> Audienca: A është vetëm stilistike, ose është - 243 00:13:44,350 --> 00:13:44,760 >> RHED SHI: Po. 244 00:13:44,760 --> 00:13:46,060 Pra, si ju do të shihni - 245 00:13:46,060 --> 00:13:49,390 kështu, pyetja ishte se vetëm një çështje e stilistike. 246 00:13:49,390 --> 00:13:54,820 Siç do të shihni, unë kam një, lloj, yll i asterisk gjë poshtë në pjesën e poshtme, dhe 247 00:13:54,820 --> 00:13:59,870 Lidhje që ju merr në një Stack overflow formë, ku dikush shpjegon 248 00:13:59,870 --> 00:14:03,640 dallimi në mes të një int në NSInteger dhe një NSUInteger. 249 00:14:03,640 --> 00:14:05,540 Dhe kështu, ju mund të lexoni për këtë më vonë. 250 00:14:05,540 --> 00:14:07,640 Këto slides do të jetë, natyrisht, në dispozicion për ju. 251 00:14:07,640 --> 00:14:10,300 252 00:14:10,300 --> 00:14:11,280 >> Le të shohim. 253 00:14:11,280 --> 00:14:12,150 OK, awesome. 254 00:14:12,150 --> 00:14:15,410 Pra, kjo është e përfshirë edhe në rrëshqitje sepse Mendova se kjo ishte një e madhe 255 00:14:15,410 --> 00:14:19,370 faqe interneti që ju fut tek Objektivi-C sintaksës. 256 00:14:19,370 --> 00:14:24,410 Pra, në të vërtetë, pse nuk kemi të shkojë në Chrome dhe shikoni këtë faqe interneti? 257 00:14:24,410 --> 00:14:30,650 258 00:14:30,650 --> 00:14:31,300 >> E drejta. 259 00:14:31,300 --> 00:14:36,670 Pra, ajo që unë dua të ju tregojnë se djema këtu është kjo fytyrë. 260 00:14:36,670 --> 00:14:41,630 Pra, kjo është, lloj, do të jetë ajo ju do të jeni për të parë brenda çdo 261 00:14:41,630 --> 00:14:42,890 Xcode fotografi. 262 00:14:42,890 --> 00:14:47,400 263 00:14:47,400 --> 00:14:51,430 Në fakt, pse nuk e kemi marrë vetëm një moment për të, lloj, të marrë këtë in 264 00:14:51,430 --> 00:14:53,470 >> Pra, ky libër - 265 00:14:53,470 --> 00:14:55,880 kjo është objekti që ne jemi që kanë të bëjnë me të. 266 00:14:55,880 --> 00:14:59,680 Dhe pastaj, ajo padyshim do të jetë trashëguar nga ndonjë objekt tjetër, por 267 00:14:59,680 --> 00:15:01,810 ju nuk duhet të shqetësohen për këtë. 268 00:15:01,810 --> 00:15:04,430 Dhe pastaj, ai, ndoshta, ka disa variabla anëtare. 269 00:15:04,430 --> 00:15:09,160 >> Gjëja më e rëndësishme që unë dua të ju tregojnë se është metoda e shkallës, këtu. 270 00:15:09,160 --> 00:15:12,670 Pra, metoda e shkallës janë pėrcaktuara nga ky shenjën minus. 271 00:15:12,670 --> 00:15:15,550 Dhe pastaj, si ju do të vini re, ne jemi tashmë të filluar për të parë paradigmë 272 00:15:15,550 --> 00:15:17,670 për deklarimin metodë, e drejtë? 273 00:15:17,670 --> 00:15:22,670 Lloji i kthimit, emri metoda,, dhe atëherë llojin e argumentit, dhe 274 00:15:22,670 --> 00:15:24,660 atëherë emri i argumentit. 275 00:15:24,660 --> 00:15:29,090 Dhe kjo shenjë minus do të thotë se kjo është një Metoda e shkallës, që do të thotë se 276 00:15:29,090 --> 00:15:32,270 këto metoda janë në dispozicion vetëm për objekte që janë instantiated. 277 00:15:32,270 --> 00:15:35,050 278 00:15:35,050 --> 00:15:39,100 >> Për kontrast, se metodat me një plus nënshkruajë para tyre janë klasë 279 00:15:39,100 --> 00:15:43,640 metodat, që do të thotë se ju mund të telefononi këto metoda, edhe në qoftë se ju nuk keni 280 00:15:43,640 --> 00:15:45,970 një objekt krijuar ende. 281 00:15:45,970 --> 00:15:51,600 Pra, për një shembull të qartë, NSString është një klasë. 282 00:15:51,600 --> 00:15:55,850 Dhe ju mund të telefononi, për shembull, Metodat e klasit mbi NSString - 283 00:15:55,850 --> 00:15:58,660 aktuale, si, fjala NSString. 284 00:15:58,660 --> 00:16:02,050 >> Megjithatë, në mënyrë që të përdorin këto metodat, ju në të vërtetë 285 00:16:02,050 --> 00:16:03,460 nevojë për të krijuar një varg. 286 00:16:03,460 --> 00:16:08,980 Për shembull, NSString string yll është e barabartë me në simbolin e kuotimit, përshëndetje botë. 287 00:16:08,980 --> 00:16:10,910 Dhe pastaj, ju mund të përdorni këto metoda - 288 00:16:10,910 --> 00:16:11,990 Metodat e shkallës së - 289 00:16:11,990 --> 00:16:14,790 në atë përshëndetje varg botërore. 290 00:16:14,790 --> 00:16:17,825 Pra, kjo është diferenca midis Metodat e shkallës dhe metodat e klasës. 291 00:16:17,825 --> 00:16:20,390 292 00:16:20,390 --> 00:16:21,930 >> Dhe, ne vetëm mbuluar këtë pjesë. 293 00:16:21,930 --> 00:16:25,300 294 00:16:25,300 --> 00:16:33,750 Prona të paluajtshme janë një tjetër gjë që janë të brenda objekteve, në thelb. 295 00:16:33,750 --> 00:16:37,530 Dhe ju të deklarojë me ne fjalen e pronës. 296 00:16:37,530 --> 00:16:39,940 Ju keni këto opsione, këtu, se unë do të shpjegoj më vonë, kur 297 00:16:39,940 --> 00:16:43,110 ne do të shkojmë në një demo. 298 00:16:43,110 --> 00:16:43,660 Po? 299 00:16:43,660 --> 00:16:43,950 Hi. 300 00:16:43,950 --> 00:16:45,440 >> Audienca: A mund të zoom në, ju lutem? 301 00:16:45,440 --> 00:16:46,130 >> RHED SHI: Oh yes. 302 00:16:46,130 --> 00:16:46,560 Më vjen keq. 303 00:16:46,560 --> 00:16:49,140 >> Audienca: Ju faleminderit. 304 00:16:49,140 --> 00:16:50,005 >> RHED SHI: Kjo duhet të jetë shumë më mirë. 305 00:16:50,005 --> 00:16:51,240 >> Audienca: Po. 306 00:16:51,240 --> 00:16:53,940 Falemnderit. 307 00:16:53,940 --> 00:16:56,815 >> RHED SHI: Po, ju lutem kujtoj mua, nëse Unë harroni të zmadhuar ose zvogëluar zoom jashtë. 308 00:16:56,815 --> 00:17:00,590 309 00:17:00,590 --> 00:17:03,570 Pra, kjo është e gjitha që kam kërkuar për të ju tregojnë për - 310 00:17:03,570 --> 00:17:05,970 ee, kjo është një shumë - 311 00:17:05,970 --> 00:17:06,790 për këtë faqe interneti. 312 00:17:06,790 --> 00:17:12,210 Pra, le të kthehemi në slides tanë. 313 00:17:12,210 --> 00:17:17,819 >> Në fakt, tani le të marrin një moment të zhyten në një demo. 314 00:17:17,819 --> 00:17:25,490 Pra, ne do të fillojë me një projekt i ri Xcode. 315 00:17:25,490 --> 00:17:33,040 Pra, në qoftë se ju do të hapur deri Xcode në të gjitha makina tuaj, ajo duhet të keni disa 316 00:17:33,040 --> 00:17:36,720 faqe ku ai thotë se, si, ose të hapur up një projekt ekzistues ose të një të ri 317 00:17:36,720 --> 00:17:39,230 projektit, dhe ju duhet klikoni një projekt të ri. 318 00:17:39,230 --> 00:17:41,477 Dhe pastaj, ajo duhet të marrë ju në këtë ekran. 319 00:17:41,477 --> 00:17:41,593 Po? 320 00:17:41,593 --> 00:17:44,279 >> Audienca: Në qoftë se ne nuk kemi një Mac, nuk kemi vetëm lloj qetësohuni? 321 00:17:44,279 --> 00:17:46,870 >> RHED SHI: Ose shikojë me dikë, po. 322 00:17:46,870 --> 00:17:47,740 Po. 323 00:17:47,740 --> 00:17:50,660 Ju mund të dridhura, too. 324 00:17:50,660 --> 00:17:51,570 OK. 325 00:17:51,570 --> 00:17:55,410 >> Pra, ajo që ne jemi duke shkuar për të bërë të parë, tani, është, në të vërtetë, ne jemi duke shkuar për të bërë një 326 00:17:55,410 --> 00:17:56,600 aplikim të vetëm pamje. 327 00:17:56,600 --> 00:18:01,340 Pra, në qoftë se ju do të vini re, ajo është e madhe rreth Xcode dhe mbështetje për Apple 328 00:18:01,340 --> 00:18:05,690 zhvilluesit është se ju keni një shumë të templates për të punuar me të tashmë. 329 00:18:05,690 --> 00:18:09,210 Ju mund, për shembull, të bëjë një Aplikimi mjeshtër-detaje. 330 00:18:09,210 --> 00:18:10,920 Ju mund të bëni një lojë - 331 00:18:10,920 --> 00:18:13,860 dhe në të vërtetë, unë nuk do të shkojnë në lojëra, sepse lojrat janë një histori të ndryshme 332 00:18:13,860 --> 00:18:15,320 për zhvillimin IOS. 333 00:18:15,320 --> 00:18:18,930 Dhe ata janë lloj i ndarë, kështu që unë nuk do të shkoj në atë. 334 00:18:18,930 --> 00:18:22,580 >> Pastaj, ju keni faqe me bazë aplikimet. 335 00:18:22,580 --> 00:18:24,010 Ju keni një aplikim tab - 336 00:18:24,010 --> 00:18:29,350 kështu pëlqen, për shembull, Banka e Amerikës ndoshta ka, si, një app skeda. 337 00:18:29,350 --> 00:18:32,140 Është ato ku keni butonat në fund. 338 00:18:32,140 --> 00:18:34,750 Dhe pastaj, ju keni një lojë sprite Kit. 339 00:18:34,750 --> 00:18:38,670 >> Ose ju mund të punoni nga e para, të cilat është ajo që ne do të bëjmë më vonë. 340 00:18:38,670 --> 00:18:42,470 Por le të, së pari, të fillojë me një aplikim të vetëm pamje. 341 00:18:42,470 --> 00:18:48,590 Më pas, ajo do të kërkojë për një emrin e produktit, dhe ne mund të bëjmë vetëm provë. 342 00:18:48,590 --> 00:18:50,190 Emri Organizata - 343 00:18:50,190 --> 00:18:54,140 kështu, emri organizatë, Kompania Identifikuesi - 344 00:18:54,140 --> 00:18:58,100 ato janë të rëndësishme në qoftë se ju do të jeni për të vënë app tuaj në dyqan app. 345 00:18:58,100 --> 00:19:01,110 346 00:19:01,110 --> 00:19:05,116 Për më tepër, kodi juaj do të të kandidojë absolutisht mirë pa këtë. 347 00:19:05,116 --> 00:19:09,940 >> Kjo do të jetë e rëndësishme në qoftë se ju doni - kështu që, në vetvete, si, vënë app tuaj 348 00:19:09,940 --> 00:19:14,080 mbi telefon apo diçka tuaj, dhe test it out, ju e dini, në jetën e vërtetë - 349 00:19:14,080 --> 00:19:15,360 kjo do të jetë e rëndësishme. 350 00:19:15,360 --> 00:19:20,110 Kjo zakonisht ka tendencë të jenë të lidhur me një lloj të llogarisë zhvilluesi 351 00:19:20,110 --> 00:19:20,970 me Apple. 352 00:19:20,970 --> 00:19:24,740 >> Dhe kështu, unë e di, ndoshta, shumë jush nuk do të ketë ndonjë llogari zhvilluesi. 353 00:19:24,740 --> 00:19:26,460 Unë e di se universiteti ka një të tillë. 354 00:19:26,460 --> 00:19:27,630 Unë mendoj se CS ka një të tillë. 355 00:19:27,630 --> 00:19:32,770 Por, ju mund të email mua dhe unë do të përpiqemi të kuptoj se për ju. 356 00:19:32,770 --> 00:19:38,210 Por tani, unë kam vënë vetëm në disa gjëra placeholder këtu. 357 00:19:38,210 --> 00:19:41,250 >> Dhe ju mund të, natyrisht, këtu, zgjidhni nëse ju dëshironi që ajo të jetë vetëm në 358 00:19:41,250 --> 00:19:44,410 iPhone, në iPad, ose të dyja - 359 00:19:44,410 --> 00:19:46,630 aplikim universal. 360 00:19:46,630 --> 00:19:56,170 Pra, tani për tani, le të bëjmë universale, vetëm për të parë të dy anët e platformës. 361 00:19:56,170 --> 00:19:57,120 >> Le të shohim. 362 00:19:57,120 --> 00:20:01,510 Pra, tani, unë jam duke shkuar për të shpëtuar kjo në disa lloj dosje. 363 00:20:01,510 --> 00:20:04,500 Nuk ka rëndësi se ku - ju gjithmonë mund të lëvizin atë më vonë. 364 00:20:04,500 --> 00:20:09,380 Dhe, tani, ne jemi sjellë për projektin tonë Xcode. 365 00:20:09,380 --> 00:20:12,890 Unë nuk do të shqetësohen për të gjithë këtë. 366 00:20:12,890 --> 00:20:17,510 Unë do të sugjeroja të mos prekur asnjë nga kjo, nëse nuk e dini saktësisht se çfarë 367 00:20:17,510 --> 00:20:18,260 ju jeni duke bërë. 368 00:20:18,260 --> 00:20:21,750 Pra, e gjithë kjo, vetëm injorojnë për pjesën më të madhe. 369 00:20:21,750 --> 00:20:26,940 Ju nuk do të duhet për të prekur atë, dhe në qoftë se ju bëni ju rrëmujë disa gjëra këtu, ajo 370 00:20:26,940 --> 00:20:28,600 merr pak i ndërlikuar. 371 00:20:28,600 --> 00:20:32,480 >> Pra, pse nuk e shohim në fotografi në 372 00:20:32,480 --> 00:20:34,700 majtas side ne navigator tonë. 373 00:20:34,700 --> 00:20:37,060 Këtu, ne kemi AppDelegate.h. 374 00:20:37,060 --> 00:20:43,430 Ne kemi AppDelegate.m Pra, si ju do njoftim, ne kemi header fotografi, të cilat 375 00:20:43,430 --> 00:20:45,720 përfundojë në dot h, dhe ne kemi Zbatimi - 376 00:20:45,720 --> 00:20:46,970 në fakt, më lejoni të 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 Më lejoni të zoom in 380 00:20:59,940 --> 00:21:05,810 >> E drejta, kështu që ju keni header fotografi dhe ju keni fotografi të zbatimit. 381 00:21:05,810 --> 00:21:07,060 Në fakt - 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 Kjo është pak i çuditshëm, por të kesh durim me mua. 385 00:21:11,800 --> 00:21:16,140 Më pas, sepse ne kemi zgjedhur një pamje të vetme aplikimit, ne do të jetë 386 00:21:16,140 --> 00:21:17,340 duke punuar me storyboard. 387 00:21:17,340 --> 00:21:22,140 >> Pra, storyboard është diçka që Apple ka dalë me të vërtetë të ndihmuar 388 00:21:22,140 --> 00:21:26,550 zhvilluesve të shpejt prototip kërkesat e tyre. 389 00:21:26,550 --> 00:21:29,410 Pra, kjo është ajo ku ju mund të krijojë një app pa shkruar një 390 00:21:29,410 --> 00:21:31,710 linjë të vetme të kodit. 391 00:21:31,710 --> 00:21:35,390 Megjithatë, në kërkesën tonë të vetëm pamje, ne bëjmë, natyrisht, kanë një 392 00:21:35,390 --> 00:21:41,270 paraqesin për pikëpamjen tonë, e cila është një pikëpamje kontrollues. 393 00:21:41,270 --> 00:21:45,150 Pra, ne kemi header dhe fotografi zbatimin, këtu. 394 00:21:45,150 --> 00:21:52,350 >> Dhe, unë jam duke shkuar për zmadhim jashtë tani sepse ne do të duhet të punojnë në storyboard. 395 00:21:52,350 --> 00:21:55,190 Pra, këtu është vështrimi ynë. 396 00:21:55,190 --> 00:22:00,120 Nëse ne, thjesht, të drejtuar app tani, nuk ka shumë emocionuese ndodh. 397 00:22:00,120 --> 00:22:03,270 398 00:22:03,270 --> 00:22:05,040 Pra, ju do të shihni këtë ekran të bardhë. 399 00:22:05,040 --> 00:22:06,110 OK? 400 00:22:06,110 --> 00:22:14,010 >> Dhe, në fushën e shërbimeve tona, ne mund të shtoni një bandë e gjëra të ndryshme për të. 401 00:22:14,010 --> 00:22:19,290 Pra, kur ju jeni që kanë të bëjnë me ekranet në iOS, kontrollorët pamje janë 402 00:22:19,290 --> 00:22:23,150 objekte që encapsulate, lloj, pikëpamjet tuaja. 403 00:22:23,150 --> 00:22:26,980 Pra, një pamje kontrollues gjithmonë ka një pronë të quajtur pamje. 404 00:22:26,980 --> 00:22:29,610 Dhe kjo pikëpamje, në mënyrë tipike, përmban, ju e dini, se çfarë 405 00:22:29,610 --> 00:22:30,810 duan të shohin në një ekran. 406 00:22:30,810 --> 00:22:39,210 >> Pra, mirë, le të vetëm të fillojë me vendosjen, ndoshta, ndoshta një etiketë. 407 00:22:39,210 --> 00:22:41,450 Pra, le të vënë një etiketë mbi atje - 408 00:22:41,450 --> 00:22:44,080 ngjit atë në mes. 409 00:22:44,080 --> 00:22:49,560 Pra, tani që unë kam klikuar mbi etiketë, unë mund të shkojnë në inspektorit të pronave 410 00:22:49,560 --> 00:22:51,510 dhe të fillojnë ndryshimin e vlerës së saj. 411 00:22:51,510 --> 00:22:55,040 Le të thërrasë atë CS50 Ngjyrat. 412 00:22:55,040 --> 00:22:58,220 >> Dhe, unë gjithashtu mund të ndryshojë font. 413 00:22:58,220 --> 00:23:02,630 Pra, në vend të bërë sistem, i cili është parazgjedhur, ne mund të bëjmë një të porosi. 414 00:23:02,630 --> 00:23:03,770 Ne mund të ndryshojë - 415 00:23:03,770 --> 00:23:06,453 ju e dini, UltraLight, bëjnë të 32. 416 00:23:06,453 --> 00:23:09,000 417 00:23:09,000 --> 00:23:11,370 Dhe pastaj, ne mund të bëjë kuti tona më të mëdha. 418 00:23:11,370 --> 00:23:14,410 >> Audienca: A mendoni se ju mund të zoom në vetëm pak më shumë, ndoshta? 419 00:23:14,410 --> 00:23:14,810 >> RHED SHI: Po? 420 00:23:14,810 --> 00:23:16,196 OK. 421 00:23:16,196 --> 00:23:17,450 >> Audienca: Vetëm trokitje e lehtë atë? 422 00:23:17,450 --> 00:23:19,020 >> RHED SHI: Le të shohim. 423 00:23:19,020 --> 00:23:20,382 E bën këtë punë? 424 00:23:20,382 --> 00:23:22,270 >> Audienca: Vetëm të kalojë Xcode? 425 00:23:22,270 --> 00:23:23,520 >> RHED SHI: Sigurisht. 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 >> Audienca: Etiketa nën? 430 00:23:27,072 --> 00:23:28,920 Emërtim? 431 00:23:28,920 --> 00:23:29,480 >> RHED SHI: Çfarë është ajo? 432 00:23:29,480 --> 00:23:32,050 >> Audienca: Çfarë drop-down ishte etiketë nën? 433 00:23:32,050 --> 00:23:35,170 >> RHED SHI: Pra, pyetja ishte, çfarë drop-down ishte etiketë nën? 434 00:23:35,170 --> 00:23:37,260 Duhet, thjesht, të jetë nën këtu. 435 00:23:37,260 --> 00:23:39,330 Unë mendoj se është një gjë e fuqi e tretë. 436 00:23:39,330 --> 00:23:40,910 Por zakonisht, kjo është default - 437 00:23:40,910 --> 00:23:43,250 Unë jam vetëm duke shkuar poshtë këtu derisa të gjej një emërtim. 438 00:23:43,250 --> 00:23:45,800 439 00:23:45,800 --> 00:23:47,730 Po. 440 00:23:47,730 --> 00:23:48,950 >> Deri tani, ne kemi emërtimin tonë. 441 00:23:48,950 --> 00:23:51,040 Le të qendrës atë. 442 00:23:51,040 --> 00:23:56,410 Dhe Xcode na jep udhëzime për qendërzim objekte. 443 00:23:56,410 --> 00:23:59,510 444 00:23:59,510 --> 00:24:01,480 Pra, tani le të kandidojë kodin tonë përsëri. 445 00:24:01,480 --> 00:24:08,110 446 00:24:08,110 --> 00:24:08,800 >> Nuk shkojmë. 447 00:24:08,800 --> 00:24:10,310 Pra, ne kemi CS50 Colours. 448 00:24:10,310 --> 00:24:13,720 449 00:24:13,720 --> 00:24:15,420 Dhe tani, le të vënë një buton më atje, apo jo? 450 00:24:15,420 --> 00:24:17,480 Sepse ne duam të bërë kjo interaktive. 451 00:24:17,480 --> 00:24:19,410 Pra, le të vënë një buton këtu. 452 00:24:19,410 --> 00:24:39,020 Dhe ne do të quajmë këtë "trokitje e lehtë butonin këtu për të vazhduar. "Ne do ta vendosnin në mes, edhe 453 00:24:39,020 --> 00:24:39,990 Në fakt, është e përqendruar tashmë. 454 00:24:39,990 --> 00:24:40,630 Po. 455 00:24:40,630 --> 00:24:43,130 >> Pra, tani ne kemi një buton. 456 00:24:43,130 --> 00:24:53,000 Dhe nëse kemi drejtuar këtë përsëri, ne jemi duke shkuar që të ketë një buton bukur pak këtu. 457 00:24:53,000 --> 00:24:56,520 Dhe unë mund të klikoni atë, por kjo nuk ka të bëjë çdo gjë, sepse ne nuk e kemi bërë 458 00:24:56,520 --> 00:24:58,500 asgjë me butonin ende. 459 00:24:58,500 --> 00:25:01,740 >> Pra, le të krijojnë një tjetër pamje, apo jo? 460 00:25:01,740 --> 00:25:04,160 Pra, le të thonë se unë dua të përgjojnë se butonin dhe unë dua të 461 00:25:04,160 --> 00:25:05,730 shkoni në një faqe tjetër - 462 00:25:05,730 --> 00:25:06,820 një tjetër pikëpamje. 463 00:25:06,820 --> 00:25:14,440 Ajo që unë jam duke shkuar për të bërë është, unë mund të krijojë një pamje kontrollues, e drejtë? 464 00:25:14,440 --> 00:25:19,690 Tani unë do të klikoni në butonin e mia, dhe pastaj, gjëja e rëndësishme është, unë jam duke shkuar për 465 00:25:19,690 --> 00:25:20,910 click - ose - 466 00:25:20,910 --> 00:25:23,660 po, kontrolli shtypni në tastierë tim. 467 00:25:23,660 --> 00:25:24,880 Kontrollit. 468 00:25:24,880 --> 00:25:27,005 Kliko në butonin, dhe pastaj terhiq. 469 00:25:27,005 --> 00:25:29,960 470 00:25:29,960 --> 00:25:33,550 >> Pra, mos harroni të mbani shtypur butonin e kontrollit. 471 00:25:33,550 --> 00:25:35,160 Le të bëjmë atë përsëri. 472 00:25:35,160 --> 00:25:40,930 Pra, të mbajë kontrollin, kliko, dhe terhiq me atë që ju doni të bëni. 473 00:25:40,930 --> 00:25:41,520 OK. 474 00:25:41,520 --> 00:25:43,610 >> Dhe tani, unë kam disa opsione këtu. 475 00:25:43,610 --> 00:25:47,900 Unë ose mund të shtyjë, ose unë mund të bëjë një modale, ose unë mund të bëjë një porosi. 476 00:25:47,900 --> 00:25:50,900 Push është vetëm nëse ju keni një kontrollues navigacion. 477 00:25:50,900 --> 00:25:54,270 Tani për tani, vështrimi ynë i parë kontrollues nuk është brenda çdo 478 00:25:54,270 --> 00:25:55,610 kontrollues navigacion. 479 00:25:55,610 --> 00:25:59,500 Pra, kontrollues navigacion është ai që ju jep butonin mbrapa në 480 00:25:59,500 --> 00:26:03,910 app iOS ku ju keni, ju e dini, se top, lloj, bar trashë - 481 00:26:03,910 --> 00:26:06,480 ku ju mund të shkoni mbrapa, ose përpara, e të tjera. 482 00:26:06,480 --> 00:26:07,740 Tani për tani, unë nuk kam se. 483 00:26:07,740 --> 00:26:11,050 Dhe kështu, kjo është arsyeja pse unë nuk mund të bëjë një shtytje. 484 00:26:11,050 --> 00:26:12,480 >> Pra, unë klikuar në shtytje aksidentalisht, këtu. 485 00:26:12,480 --> 00:26:16,480 Dhe në të vërtetë, le të drejtuar kodin, dhe duhet rrëzuar në mua. 486 00:26:16,480 --> 00:26:19,770 487 00:26:19,770 --> 00:26:22,960 Vetëm në qoftë se unë shtypni butonin edhe pse, kështu që - 488 00:26:22,960 --> 00:26:23,420 drejtë. 489 00:26:23,420 --> 00:26:26,480 Pra, kjo është e keqe. 490 00:26:26,480 --> 00:26:31,330 >> Dhe, siç e shihni, këtu, ne keni mesazh gabimi. 491 00:26:31,330 --> 00:26:35,460 Pra, "segues Push mund të përdoret vetëm kur kontrollues burim menaxhohet nga një 492 00:26:35,460 --> 00:26:40,700 shembull i UI kontrollues të navigimit. " Pra, sepse kjo nuk ishte në brendësi të një 493 00:26:40,700 --> 00:26:44,030 kontrollues navigacion, Unë nuk mund ta bëjë këtë. 494 00:26:44,030 --> 00:26:48,782 >> Pra, tani, unë jam duke shkuar prapa në dosje, duke shkuar prapa në storyboard. 495 00:26:48,782 --> 00:26:51,680 >> Audienca: Çfarë është navigacion kontrollues, përsëri? 496 00:26:51,680 --> 00:26:55,260 >> RHED SHI: Pra, tani unë do t'ju tregoj. 497 00:26:55,260 --> 00:26:56,200 Le të shohim. 498 00:26:56,200 --> 00:27:00,510 Pra, unë jam duke shkuar për të klikoni në këtë pikëpamje kontrollues, dhe pastaj unë do të shkoj 499 00:27:00,510 --> 00:27:03,920 deri në produkt - 500 00:27:03,920 --> 00:27:06,240 në të vërtetë, jo, sorry - editor. 501 00:27:06,240 --> 00:27:08,360 Dhe unë jam duke shkuar për të shkuar në - 502 00:27:08,360 --> 00:27:09,350 në të vërtetë, e unë klikoni mbi të? 503 00:27:09,350 --> 00:27:10,070 Jo. 504 00:27:10,070 --> 00:27:11,080 Nuk shkojmë. 505 00:27:11,080 --> 00:27:16,270 Unë jam duke shkuar për të shkuar deri në editor, shkoni poshtë të mbjell në, dhe pastaj navigacion 506 00:27:16,270 --> 00:27:17,520 kontrollues. 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 Dhe, Workspace im duket me të vërtetë të çrregullt, kështu që le të pastruar këtë ide. 510 00:27:27,750 --> 00:27:29,000 Pra, e gjithë kjo është storyboard. 511 00:27:29,000 --> 00:27:32,510 512 00:27:32,510 --> 00:27:33,760 Dhe në këtë mënyrë - 513 00:27:33,760 --> 00:27:37,030 514 00:27:37,030 --> 00:27:38,280 OK, të ndaluar - 515 00:27:38,280 --> 00:27:49,320 516 00:27:49,320 --> 00:27:50,860 Unë mund të shpejt të ndërtuar diçka si kjo. 517 00:27:50,860 --> 00:27:53,020 Dhe pastaj, tani unë mund të kthehem, ju e dini? 518 00:27:53,020 --> 00:27:55,730 >> Por kjo është lloj i mërzitshëm, e drejtë? 519 00:27:55,730 --> 00:28:03,020 Pra, ajo që unë dua të bëj është, unë nuk dua për të bërë, thjesht, një pamje të 520 00:28:03,020 --> 00:28:03,870 kontrollues. 521 00:28:03,870 --> 00:28:07,720 Le të thonë se unë të kërkuar për të bërë në të vërtetë një Pamje tavolinë kontrollues, kështu që unë mund të vënë në 522 00:28:07,720 --> 00:28:12,110 disa ngjyra e bukur, Në tryezë. 523 00:28:12,110 --> 00:28:16,210 >> Pra, tani që unë kam vënë sipas meje tryezë kontrollues, kam nevojë për të lidhur atë 524 00:28:16,210 --> 00:28:18,560 nga ky buton për të Pamje kontrollues. 525 00:28:18,560 --> 00:28:21,780 Kështu që unë duhet të bëni kontroll time, click, gjë terhiq përsëri. 526 00:28:21,780 --> 00:28:27,318 Dhe tani unë mund të bëjë shtytje, sepse unë embed ajo brenda një kontrollues lundrimit. 527 00:28:27,318 --> 00:28:32,210 >> Audienca: Navigation kontrollues vetëm lejon ju për të shkuar nga vendi në vend? 528 00:28:32,210 --> 00:28:33,540 >> RHED SHI: Po. 529 00:28:33,540 --> 00:28:38,670 Pra, më teknikisht, kjo është një objekt ku - 530 00:28:38,670 --> 00:28:43,150 kështu, në brendësi të kërkimi kontrollues objekt, ajo 531 00:28:43,150 --> 00:28:44,780 mban gjurmët e një sërë. 532 00:28:44,780 --> 00:28:48,300 Dhe kjo array mban të gjithë pasuese parë kontrollorëve. 533 00:28:48,300 --> 00:28:51,560 Kjo është arsyeja pse kur të shtypni përsëri, ajo shkon prapa në faqen e mëparshme. 534 00:28:51,560 --> 00:28:55,260 Sepse kontrollues navigacion objekt, ose kodin që kujdeset për 535 00:28:55,260 --> 00:28:58,890 këtë objekt, ka një rrjet që e mban të ndjekur nga këto kontrollorëve pamje, dhe 536 00:28:58,890 --> 00:29:01,870 mund atëherë, ju e dini, DQ pikëpamjen kontrollues dhe ju jap te 537 00:29:01,870 --> 00:29:02,750 një mëparshme. 538 00:29:02,750 --> 00:29:05,200 >> Pra, kjo është gjëra teknike, por - 539 00:29:05,200 --> 00:29:07,505 dhe unë do t'ju tregoj më vonë në Kodi, në qoftë se ne kemi kohë. 540 00:29:07,505 --> 00:29:10,270 Unë jam natyrë e mbaron në kohë, por - 541 00:29:10,270 --> 00:29:15,610 >> Pra, me pamje tryezë, çfarë mund të bëjmë është - 542 00:29:15,610 --> 00:29:18,440 Kjo zakonisht është vendosur automatikisht për Dynamic Prototype - 543 00:29:18,440 --> 00:29:20,640 ne jemi duke shkuar për të bërë atë Qeliza Static, përndryshe ne do të 544 00:29:20,640 --> 00:29:22,920 drejtuar në disa probleme. 545 00:29:22,920 --> 00:29:28,470 >> Dhe pastaj, le të thonë se unë jam duke shkuar që të ketë një seksion. 546 00:29:28,470 --> 00:29:31,000 Pra, seksione është si - 547 00:29:31,000 --> 00:29:35,160 në qoftë se ju keni parë ndonjëherë app muzikë, kur ju keni artistë, seksionet do të 548 00:29:35,160 --> 00:29:37,830 të jetë A-së përmes Z's - 549 00:29:37,830 --> 00:29:38,780 letrat - 550 00:29:38,780 --> 00:29:42,600 dhe pastaj, ju e dini, individi rreshtave do të jenë emrat artist. 551 00:29:42,600 --> 00:29:47,460 Dhe kështu, çfarë është ftohtë këtu, është se unë mund të të hyrë në të gjitha objektet brenda 552 00:29:47,460 --> 00:29:50,430 e storyboard tim nëpërmjet kësaj drop-down menu, too. 553 00:29:50,430 --> 00:29:56,600 >> Pra, unë jam duke shkuar për të klikoni në seksionin tim, dhe unë dua, ti e di, ndoshta pesë rreshtave. 554 00:29:56,600 --> 00:30:00,770 Dhe pastaj, në brendësi të çdo rresht, Unë dua të vënë një etiketë. 555 00:30:00,770 --> 00:30:04,080 556 00:30:04,080 --> 00:30:06,340 Dhe unë jam duke shkuar për të thirrur këtë Blue. 557 00:30:06,340 --> 00:30:09,530 558 00:30:09,530 --> 00:30:15,630 Dhe pastaj, unë dua të vënë një pikëpamje UI, ju e di, ndoshta për, si, një kuti të vogël. 559 00:30:15,630 --> 00:30:23,840 560 00:30:23,840 --> 00:30:28,710 >> Kështu që unë mund të tregojë njerëzve një vrojtim i ngjyrës. 561 00:30:28,710 --> 00:30:34,150 Dhe unë do të shkoj përsëri në pronën dhe ndryshojë se ngjyra për të, oh, unë nuk e bëj 562 00:30:34,150 --> 00:30:35,510 e di, këtë një të tillë. 563 00:30:35,510 --> 00:30:38,630 564 00:30:38,630 --> 00:30:43,150 >> Dhe pastaj, të vini re gjithashtu, këtu, kur unë kam pajisje, unë mund të ketë shumë 565 00:30:43,150 --> 00:30:46,160 nga pajisje të ndryshme që ju zakonisht shihni. 566 00:30:46,160 --> 00:30:55,250 Treguesi zbulimi, detaje, ose kontrolloni të shënojë, apo thjesht vetëm detaje. 567 00:30:55,250 --> 00:30:59,080 Pra, ndoshta ne mund të bëjmë, si, një deklarim të tregues, për shembull. 568 00:30:59,080 --> 00:31:03,540 >> Dhe pastaj, pse nuk kemi marrë këto, kopje ngjiti ato, dhe vënien e tyre në 569 00:31:03,540 --> 00:31:06,740 rresht tjetër tryezë. 570 00:31:06,740 --> 00:31:08,115 Pra, ne mund të quajmë këtë Yellow. 571 00:31:08,115 --> 00:31:10,620 572 00:31:10,620 --> 00:31:12,155 Dhe unë mund të ketë për të zgjeruar këtë. 573 00:31:12,155 --> 00:31:15,730 574 00:31:15,730 --> 00:31:17,290 Le të bëjnë të verdhë. 575 00:31:17,290 --> 00:31:20,610 Dhe në këtë mënyrë, ne mund të kopjoni paste rrugën tonë poshtë. 576 00:31:20,610 --> 00:31:24,910 577 00:31:24,910 --> 00:31:25,370 Çfarë ishte kjo? 578 00:31:25,370 --> 00:31:26,620 Purple. 579 00:31:26,620 --> 00:31:30,020 580 00:31:30,020 --> 00:31:34,740 >> Pra, këto janë të gjitha CS50 tipike ngjyrat që ju keni parë në klasë - 581 00:31:34,740 --> 00:31:37,160 në të vërtetë, më vjen keq - 582 00:31:37,160 --> 00:31:38,410 ose në faqen e internetit. 583 00:31:38,410 --> 00:31:49,700 584 00:31:49,700 --> 00:31:51,260 Shpresojmë se ju djema mund të shihni ajo që unë jam duke bërë këtu. 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 E fundit. 588 00:31:58,490 --> 00:32:02,040 >> Audienca: Si keni shtoni rresht fillimisht? 589 00:32:02,040 --> 00:32:04,740 >> RHED SHI: Pra, pyetja ishte, se si nuk kam shtuar rreshtin fillimisht? 590 00:32:04,740 --> 00:32:07,500 Unë shkova në këtë seksion tavolinë - ose megjithatë unë mund të 591 00:32:07,500 --> 00:32:09,200 zgjidhni seksion tryezë - 592 00:32:09,200 --> 00:32:11,250 dhe pastaj, këtu, unë updated Numri i rreshtave. 593 00:32:11,250 --> 00:32:19,920 594 00:32:19,920 --> 00:32:22,505 >> Dhe, më lejoni të shpresoj se kjo punon. 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 Le të shohim nëse kjo funksionon. 598 00:32:32,870 --> 00:32:34,000 Oh, të përsosur, awesome. 599 00:32:34,000 --> 00:32:35,300 OK. 600 00:32:35,300 --> 00:32:40,330 Ndërsa isha ndërtimin e demo tim, disa gjërat nuk janë një linjë, kështu që, faleminderit për 601 00:32:40,330 --> 00:32:42,510 duartrokitje. 602 00:32:42,510 --> 00:32:42,920 >> Po. 603 00:32:42,920 --> 00:32:44,770 Pra, le të shohim. 604 00:32:44,770 --> 00:32:47,550 Ne do të bëjë këtë nëntë vetëm për të bërë gjithçka - ose në të vërtetë, le të vetëm 605 00:32:47,550 --> 00:32:51,420 ana e të gjitha këto në zbulimin tregues. 606 00:32:51,420 --> 00:32:55,790 Dhe pastaj, ajo që unë dua të ju tregojnë se, gjithashtu, ishte se si unë mund të marrë secila nga ata 607 00:32:55,790 --> 00:32:59,230 rreshtave tryezë dhe kanë ata ndërveprojnë - 608 00:32:59,230 --> 00:33:00,150 oh. 609 00:33:00,150 --> 00:33:01,400 Jo. 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 Gjithashtu, unë dua të ju tregojnë se - 613 00:33:07,230 --> 00:33:13,080 këtu, unë mund të vënë titullin e mia kontrollues navigacion, apo jo? 614 00:33:13,080 --> 00:33:17,090 Pra, në të vërtetë, ju do të vini re, sa më shpejt që unë ngulitur këtë pamje kontrollues brenda 615 00:33:17,090 --> 00:33:22,010 e kontrollues navigacion, ne shohim ky bar navigacion në krye të tonë 616 00:33:22,010 --> 00:33:25,340 Përfaqësimi storyboard e një pamje kontrollues. 617 00:33:25,340 --> 00:33:29,270 Dhe kështu, kjo na jep, si, një vizuale, lloj, të udhëzuar në ekran tonë të dukshme. 618 00:33:29,270 --> 00:33:34,360 Kjo është padyshim do të të jetë bar navigacion. 619 00:33:34,360 --> 00:33:40,950 >> Dhe ajo që unë dua të bëj shpejt, tani, është vënë në një tjetër - 620 00:33:40,950 --> 00:33:45,880 kështu që kjo pikëpamje tabelë kontrollues kam bërë nga duke marrë një nga këto dhe zvarritur atë 621 00:33:45,880 --> 00:33:49,800 këtu, dhe kjo është ajo që të më lejohet të shpejt, me të vërtetë, të krijojë një pamje tryezë 622 00:33:49,800 --> 00:33:50,850 kontrollues. 623 00:33:50,850 --> 00:33:54,100 Nëse ne nuk kemi kohë edhe pse, ju do të shohim se, programuar, kjo është një 624 00:33:54,100 --> 00:33:57,660 pak më shumë i ndërlikuar për të krijuar një tabelë Pamje kontrollues, sepse ka 625 00:33:57,660 --> 00:34:02,520 janë disa metoda që janë të e nevojshme për ju për të, lloj, shkruani 626 00:34:02,520 --> 00:34:07,130 në mënyrë që pamje tryezë kontrollues të shfaqet si duhet. 627 00:34:07,130 --> 00:34:15,340 >> Megjithatë, unë vetëm dua të ju tregojnë se, tani, një shembull ku, në qoftë se unë të marrë këtë, 628 00:34:15,340 --> 00:34:15,920 për shembull - 629 00:34:15,920 --> 00:34:18,290 Unë e kam vënë në një tjetër pamje kontrollues. 630 00:34:18,290 --> 00:34:27,320 Dhe tani, le të thonë se unë dua për të kontrolluar alt blu tim të parë 631 00:34:27,320 --> 00:34:28,980 rreshtit të tabelës që këtu. 632 00:34:28,980 --> 00:34:31,070 Dhe unë dua të quajmë këtë Blue. 633 00:34:31,070 --> 00:34:32,570 Dhe pastaj - 634 00:34:32,570 --> 00:34:34,159 le të shohim. 635 00:34:34,159 --> 00:34:41,050 Unë jam në pamje tani, dhe unë mund të ndryshojë sfond të kaltër. 636 00:34:41,050 --> 00:34:45,945 >> Dhe kështu, njoftim, këtu, kjo drop-down menu gjithashtu ju jep një hierarki të gjitha 637 00:34:45,945 --> 00:34:47,040 e këtyre objekteve. 638 00:34:47,040 --> 00:34:50,530 Pra, një gjë e rëndësishme të theksohet, këtu, është se të gjitha këto gjëra, këtu - 639 00:34:50,530 --> 00:34:54,330 kjo pikëpamje tabelë kontrollues, tabela pamje, pamje tavolinë seksioni, pamje tabela 640 00:34:54,330 --> 00:34:57,169 celular - të gjitha këto janë objekteve, në kodin. 641 00:34:57,169 --> 00:35:03,752 Pra, ju e dini, një emërtim tani është nën shikoni përmbajtjen, e të tjera. 642 00:35:03,752 --> 00:35:05,020 Kështu me radhë e kështu me radhë. 643 00:35:05,020 --> 00:35:08,765 >> Pra, nëse kemi drejtuar këtë kod, ne duhet të shihni diçka - 644 00:35:08,765 --> 00:35:15,816 645 00:35:15,816 --> 00:35:17,870 le të shohim nëse kjo - po. 646 00:35:17,870 --> 00:35:18,670 Pra, ne do të shkojmë atje. 647 00:35:18,670 --> 00:35:22,120 Por, nëse ne nuk e bëjmë këtë, askush nga këto gjëra të tjera të punojnë. 648 00:35:22,120 --> 00:35:22,500 E drejtë? 649 00:35:22,500 --> 00:35:23,800 Pra, vetëm kjo funksionon. 650 00:35:23,800 --> 00:35:29,100 Dhe, për hir të kohës, unë nuk do të shkoni në, ju e dini, duke 651 00:35:29,100 --> 00:35:29,770 poshtë ato të tjera. 652 00:35:29,770 --> 00:35:32,020 Dhe kjo është fundi i, lloj, storyboard - 653 00:35:32,020 --> 00:35:33,400 ajo që kam kërkuar për të treguar ju për storyboard. 654 00:35:33,400 --> 00:35:36,330 655 00:35:36,330 --> 00:35:43,490 >> Dhe, unë kam një shembull të punuar jashtë, në të vërtetë, të drejtë këtu. 656 00:35:43,490 --> 00:35:48,090 Pra, kjo është storyboard që kam bërë më parë. 657 00:35:48,090 --> 00:35:52,740 Pra, si ju mund të shihni, kjo ishte kontrollues tim navigacion. 658 00:35:52,740 --> 00:35:57,040 Pastaj kam pasur pamje të parë kontrollues tim, atëherë unë kam time view tavolinë kontrollues, 659 00:35:57,040 --> 00:35:58,980 dhe pastaj unë kam të gjitha këto - 660 00:35:58,980 --> 00:36:01,180 kështu që më parë, unë isha duke bërë diçka shumë të ndryshme. 661 00:36:01,180 --> 00:36:04,450 Pra, arsyeton ato gjëra. 662 00:36:04,450 --> 00:36:07,930 Unë ndoshta do të pastruar atë më vonë para se të I dërgoni atë të prodhimit. 663 00:36:07,930 --> 00:36:12,800 >> Por, në qoftë se ne të drejtuar këtë, ne do të shohim se të gjitha opsionet janë të 664 00:36:12,800 --> 00:36:14,050 në dispozicion për ne. 665 00:36:14,050 --> 00:36:18,540 666 00:36:18,540 --> 00:36:21,320 Përveç Unë nuk e kam bërë prejardhje ato ngjyra. 667 00:36:21,320 --> 00:36:26,510 Pra, aplikimi bukur e thjeshtë. 668 00:36:26,510 --> 00:36:28,340 >> Tani, le të përpiqemi për të trajtuar kjo programuar. 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 Pra, për të bërë këtë, ne jemi vetëm do për të filluar një projekt të ri Xcode. 672 00:36:37,570 --> 00:36:41,920 Ne do të bëjë atë një aplikim bosh tani, sepse ne nuk duam të kemi 673 00:36:41,920 --> 00:36:42,380 storyboard. 674 00:36:42,380 --> 00:36:46,590 Pra, unë jam thjesht duke kufizuar veten për të mos përdorim ndonjë nga storyboard, dhe një 675 00:36:46,590 --> 00:36:49,170 Aplikimi bosh nuk do të më jepni një storyboard. 676 00:36:49,170 --> 00:36:52,256 Kjo është vetëm për të parandaluar veten nga cheating. 677 00:36:52,256 --> 00:36:54,428 Le të shohim. 678 00:36:54,428 --> 00:36:55,360 Prisni. 679 00:36:55,360 --> 00:36:55,960 A e I - 680 00:36:55,960 --> 00:36:56,448 po. 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 >> E drejta. 684 00:37:09,180 --> 00:37:16,790 Pra, këtu, ne jemi të majtë me gjë tjetër veçse kodi. 685 00:37:16,790 --> 00:37:19,460 Pra, më lejoni të lëvizë këtë dritare pak më shumë. 686 00:37:19,460 --> 00:37:22,020 687 00:37:22,020 --> 00:37:22,260 E drejta. 688 00:37:22,260 --> 00:37:28,160 Siç mund ta shihni këtu, vetëm fotografi të ne jemi duke i dhënë jemi AppDelegate.h dhe dot 689 00:37:28,160 --> 00:37:30,500 m, dhe ne nuk kemi storyboard më. 690 00:37:30,500 --> 00:37:39,580 >> Pra, nëse kemi drejtuar këtë, ne ende do të të marrë në ekran të bardhë, falë Zotit. 691 00:37:39,580 --> 00:37:42,280 OK - ekran të bardhë, por asgjë tjetër. 692 00:37:42,280 --> 00:37:45,260 Dhe, këtu është pjesë e rëndësishme. 693 00:37:45,260 --> 00:37:47,810 Kjo është ku veprimi ndodh. 694 00:37:47,810 --> 00:37:51,410 Në versionet e mëparshme, nuk ka zakonisht nuk ka kod këtu, por 695 00:37:51,410 --> 00:37:55,600 storyboard në thelb ofron Kodi për këtë pjesë. 696 00:37:55,600 --> 00:37:57,470 Unë nuk do të shkojë në detaje se si. 697 00:37:57,470 --> 00:38:02,890 >> Dhe ajo që ne duam të bëjmë tani është, që ne duam për të shkuar në këtu, dhe këtë hapësirë ​​të vogël 698 00:38:02,890 --> 00:38:05,050 fillon krijuar aplikacionin tonë përsëri. 699 00:38:05,050 --> 00:38:06,092 Pra, - 700 00:38:06,092 --> 00:38:06,318 po? 701 00:38:06,318 --> 00:38:07,450 >> Audienca: Zoom? 702 00:38:07,450 --> 00:38:07,770 >> RHED SHI: Zoom. 703 00:38:07,770 --> 00:38:09,020 Po, sigurisht. 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 Do të jetë shtypja, kështu që kjo nuk duhet të çështje shumë. 707 00:38:17,380 --> 00:38:17,940 OK. 708 00:38:17,940 --> 00:38:22,720 >> Pra, së pari, mos harroni ne kemi dashur për të krijuar një kontrollues navigacion, apo jo? 709 00:38:22,720 --> 00:38:27,090 Dhe gjithashtu, si ju mund të shihni këtu, Xcode bën një punë të vërtetë të madhe të 710 00:38:27,090 --> 00:38:28,070 vetë-mbushje. 711 00:38:28,070 --> 00:38:31,650 Pra, si ju do të njoftim, emrat e çdo gjë janë shumë më të gjatë se 712 00:38:31,650 --> 00:38:33,910 zakonisht, por Xcode plotëson atë në për ju. 713 00:38:33,910 --> 00:38:35,710 Kështu që unë mund vetëm të shtypni Enter. 714 00:38:35,710 --> 00:38:40,180 >> Pra, unë dua të krijuar një navigacion UI kontrollues akrep, dhe unë mund të telefononi atë 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 Tani, çfarë të bëj tani? 718 00:38:44,470 --> 00:38:49,510 Pas kësaj shenjë barazimi, kam nevojë për të, së pari, krijuar atë brenda kujtesës. 719 00:38:49,510 --> 00:38:53,790 Pra, unë jam duke shkuar për të bërë NavigationController ALLOC - 720 00:38:53,790 --> 00:38:56,640 kështu, kjo është e ngjashme me malloc, se ju djema të përdorura në C - 721 00:38:56,640 --> 00:38:58,400 dhe pastaj, unë jam duke shkuar për init atë. 722 00:38:58,400 --> 00:39:03,670 >> Pra, është e vërtetë e rëndësishme që çdo objekt që keni krijuar, ju doni të 723 00:39:03,670 --> 00:39:04,940 ALLOC dhe init atë. 724 00:39:04,940 --> 00:39:08,600 Kjo do të krijojë atë dhe instantialize atë brenda e kujtesës, dhe 725 00:39:08,600 --> 00:39:10,480 tani ju mund të përdorni atë. 726 00:39:10,480 --> 00:39:10,780 Në rregull? 727 00:39:10,780 --> 00:39:14,360 Nëse ju nuk e bëni këtë, objekti juaj nuk ekzistojnë, dhe ju do të kandidojë në një bandë 728 00:39:14,360 --> 00:39:17,290 e problemeve. 729 00:39:17,290 --> 00:39:20,250 >> Dhe pastaj, unë dua të krijuar një pamje kontrollues, e drejtë? 730 00:39:20,250 --> 00:39:25,580 Pra, unë dua të krijuar një UIViewController star - 731 00:39:25,580 --> 00:39:29,620 kështu, çdo gjë është një tregues në Objektivi-C, dhe unë jam duke shkuar për të bërë 732 00:39:29,620 --> 00:39:31,600 diçka të ngjashme, këtu - 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 >> Dhe pastaj ajo që unë jam duke shkuar për të bërë është, unë jam i do të - kështu, mos harroni, kur ne e bëmë 737 00:39:43,450 --> 00:39:45,360 embed në kontrollues navigacion? 738 00:39:45,360 --> 00:39:46,920 Kjo është se si ju bëni atë në kodin. 739 00:39:46,920 --> 00:39:54,550 Ju jeni do të bëni navigationController 740 00:39:54,550 --> 00:39:55,780 pushViewController - 741 00:39:55,780 --> 00:39:57,636 >> Audienca: [padëgjueshme]. 742 00:39:57,636 --> 00:39:59,030 A do të ndodhë kjo për ne, apo -? 743 00:39:59,030 --> 00:40:00,080 >> RHED SHI: Oh, po. 744 00:40:00,080 --> 00:40:00,550 Jo. 745 00:40:00,550 --> 00:40:02,740 Ajo i pëlqen më të mirë. 746 00:40:02,740 --> 00:40:04,670 Jo, ajo do të punojë për ju, too. 747 00:40:04,670 --> 00:40:06,700 Pra, këto janë të gjitha metodat. 748 00:40:06,700 --> 00:40:10,400 Pra pushViewController është një metodë, dhe gjithashtu, më konkretisht, është një 749 00:40:10,400 --> 00:40:13,590 Metoda e shkallës të UI kontrollues navigacion. 750 00:40:13,590 --> 00:40:20,030 Sepse unë kam për të krijuar navigacion time UI yll kontrollues, dhe pastaj unë 751 00:40:20,030 --> 00:40:24,510 mund të telefononi këtë pushViewController on my shkallës specifike të një kërkimi UI 752 00:40:24,510 --> 00:40:25,010 kontrollues. 753 00:40:25,010 --> 00:40:29,490 >> Audienca: A kemi të bëjmë saktë fjalë, ose e bën atë tashmë ekziston për të? 754 00:40:29,490 --> 00:40:31,380 >> RHED SHI: Po, sepse kjo është një metodë. 755 00:40:31,380 --> 00:40:32,200 Është si një funksion. 756 00:40:32,200 --> 00:40:33,330 Është si printf. 757 00:40:33,330 --> 00:40:34,390 Është si scanf. 758 00:40:34,390 --> 00:40:36,250 Është si strcompare. 759 00:40:36,250 --> 00:40:40,310 Përveç ai e di atë që ju mund të dëshironi të lloji, dhe të vëreni se ajo do të gjithmonë 760 00:40:40,310 --> 00:40:42,740 dalë me gjëra që janë të lejuar ligjërisht për ju. 761 00:40:42,740 --> 00:40:47,620 Pra, në qoftë se asgjë nuk tregon deri këtu, atëherë diçka është e gabuar. 762 00:40:47,620 --> 00:40:50,550 >> Pra, pushViewController. 763 00:40:50,550 --> 00:40:52,580 Pra, tani, unë dua të shtyjë my krijuar rishtazi 764 00:40:52,580 --> 00:40:56,850 UIViewController, dhe pastaj, animuar - 765 00:40:56,850 --> 00:40:57,470 ndoshta jo. 766 00:40:57,470 --> 00:41:00,110 Për shkak se kjo do të jetë parë kontrollues view. 767 00:41:00,110 --> 00:41:03,210 Unë do të thotë, edhe në qoftë se unë e kam bërë animuar, kjo ndoshta nuk do të shfaqen, sepse 768 00:41:03,210 --> 00:41:05,050 kjo është ekran parë. 769 00:41:05,050 --> 00:41:06,540 >> Dhe mos harroni kllapa. 770 00:41:06,540 --> 00:41:08,850 Pra, mbani mend se si ne e përdorur kllapa? 771 00:41:08,850 --> 00:41:11,870 Dhe brenda kllapa, objekt i bën thirrje një metodë - 772 00:41:11,870 --> 00:41:15,910 kështu që objekti ynë është navigacion kontrollues dhe metoda eshte nje shtytje 773 00:41:15,910 --> 00:41:17,210 Pamje kontrollues animuar. 774 00:41:17,210 --> 00:41:21,920 Dhe shikoni se si ajo merr në dy argumente, dhe ata janë të ndara nga, lloj, 775 00:41:21,920 --> 00:41:24,390 fjalë, dhe një zorrë e trashë. 776 00:41:24,390 --> 00:41:28,300 Pra, Objektivi-C përpiqet për ta bërë atë të mirë dhe të lehtë për ju për të lexuar me zë të lartë - 777 00:41:28,300 --> 00:41:33,020 Kodi juaj - dhe e kanë atë gjysmë, lloj, kuptim. 778 00:41:33,020 --> 00:41:37,150 >> Megjithatë, duke bërë vetëm këtë nuk është e mjaftueshme. 779 00:41:37,150 --> 00:41:39,780 Më lejoni të zoom jashtë tani. 780 00:41:39,780 --> 00:41:44,210 Të bësh vetëm kjo nuk është e mjaftueshme për të merrni atë që kemi marrë për të parë. 781 00:41:44,210 --> 00:41:48,580 Kështu që këtu, ju do të vëreni se ka në të vërtetë nuk do të ketë asnjë lloj 782 00:41:48,580 --> 00:41:50,190 bar, këtu, apo jo? 783 00:41:50,190 --> 00:41:54,680 Nuk ka bar navigacion, që do të thotë se ne ende nuk e kanë marrë atë. 784 00:41:54,680 --> 00:41:58,850 >> Dhe ne mund ta provoni se nga, edhe, nga, ndoshta, duke ndryshuar sfondin e 785 00:41:58,850 --> 00:42:00,460 ViewController, e drejtë? 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 Pra, të shohim se si ViewController nuk kishte një ngjyrë sfond, edhe pse unë 790 00:42:07,690 --> 00:42:08,780 të kërkuar për të hyrë në të? 791 00:42:08,780 --> 00:42:14,080 Dhe kjo është për shkak se ViewController është një enë për pamje. 792 00:42:14,080 --> 00:42:19,490 Pra, ajo ka një pamje pronë, e cila atëherë ka një ngjyrën e sfondit. 793 00:42:19,490 --> 00:42:25,510 >> Dhe, unë mund ta vendosur atë, lloj tediously, duke e quajtur ngjyra 794 00:42:25,510 --> 00:42:28,130 në objektin UIColor. 795 00:42:28,130 --> 00:42:33,210 Pra, njoftimi këtu, redColor është një metodë. 796 00:42:33,210 --> 00:42:36,750 Kjo është një metodë klasë e UIcolor. 797 00:42:36,750 --> 00:42:40,820 Sepse unë nuk kam për të krijuar një shkallës aktuale të një UIColor në mënyrë 798 00:42:40,820 --> 00:42:42,020 për të thirrur metodën mbi të. 799 00:42:42,020 --> 00:42:45,050 Unë vetëm, thjesht, e quajti atë mbi emrin lloj-si. 800 00:42:45,050 --> 00:42:49,620 Unë, si, e quajti atë në int, int nëse kishte, si, një metodë të saj, për shembull. 801 00:42:49,620 --> 00:42:52,380 >> Dhe kështu, në qoftë se ne të drejtuar këtë kod, ne do të vini re se sfond është 802 00:42:52,380 --> 00:42:53,540 në të vërtetë nuk e kuqe. 803 00:42:53,540 --> 00:42:54,790 Është ende e bardhë. 804 00:42:54,790 --> 00:42:57,720 805 00:42:57,720 --> 00:43:04,550 Dhe si mund të merrni rreth se është, vini re se si ka self.window. 806 00:43:04,550 --> 00:43:08,260 Kjo është, si, enë fundit për aplikimin tuaj. 807 00:43:08,260 --> 00:43:11,630 Kjo është gjëja e fundit që përmban çdo gjë në ekran, për një 808 00:43:11,630 --> 00:43:13,650 iPhone ose iPad aplikimit. 809 00:43:13,650 --> 00:43:20,970 >> Dhe, të përshtatshme, self.window ka këtë pronë të quajtur 810 00:43:20,970 --> 00:43:22,650 rootViewController. 811 00:43:22,650 --> 00:43:26,480 Dhe kjo do të jetë tregues për pamje kontrollues i parë brenda 812 00:43:26,480 --> 00:43:27,270 app. 813 00:43:27,270 --> 00:43:32,000 Pra, ajo që ne duam të bëjmë këtu, tani, është për të vendosur që të barabartë tek kërkimi tonë 814 00:43:32,000 --> 00:43:32,710 kontrollues. 815 00:43:32,710 --> 00:43:33,760 E drejtë? 816 00:43:33,760 --> 00:43:37,490 Sepse, teknikisht, navigacion kontrollues Mendimi ynë i parë 817 00:43:37,490 --> 00:43:38,770 kontrollues. 818 00:43:38,770 --> 00:43:46,160 Ajo mban gjurmët e një sërë pamje tjetër kontrolluesit, dhe ne e shtyu këtë 819 00:43:46,160 --> 00:43:49,810 Pamje kontrollues në atë grup në kontrollues të navigimit. 820 00:43:49,810 --> 00:43:52,640 >> Pra, ju nuk doni të bëni këtë. 821 00:43:52,640 --> 00:43:54,225 Kjo nuk do të vërtetë të ju ndihmojë. 822 00:43:54,225 --> 00:43:58,040 Ju dëshironi të bëni këtë, nëse do të donit të bëni një kontrollues navigacion, e cila më 823 00:43:58,040 --> 00:44:01,100 e ju ndoshta do, sepse ju do të dëshironi për, lloj, të ketë disa lloj, 824 00:44:01,100 --> 00:44:04,840 si, menu për të shkuar përsëri në ose disa homepage që të kthehen në, në vend se një 825 00:44:04,840 --> 00:44:05,470 ekran bosh. 826 00:44:05,470 --> 00:44:05,920 Po? 827 00:44:05,920 --> 00:44:11,460 >> Audienca: A është e pakëndshme për ju për të zoom në - 828 00:44:11,460 --> 00:44:12,710 >> RHED SHI: Po. 829 00:44:12,710 --> 00:44:15,310 830 00:44:15,310 --> 00:44:15,720 Pra, vërtet. 831 00:44:15,720 --> 00:44:22,370 Ky është kodi, dhe tani le të test it out. 832 00:44:22,370 --> 00:44:27,920 >> Pra, ne do të shkojmë atje. 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 Pra, OK. 836 00:44:32,690 --> 00:44:34,420 Falemnderit. 837 00:44:34,420 --> 00:44:35,000 OK. 838 00:44:35,000 --> 00:44:38,690 Deri tani, ajo që ne duam të bëjmë është - kështu që, ne jemi lloj i kufizuar, këtu, apo jo? 839 00:44:38,690 --> 00:44:45,130 Ne do të mund të shkruani çdo gjë brenda këtij funksioni një. 840 00:44:45,130 --> 00:44:48,470 Por, kjo nuk është se si zhvillimi IOS zakonisht punon. 841 00:44:48,470 --> 00:44:53,030 >> Pra, ajo që ne jemi duke shkuar për të bërë është, ne jemi duke shkuar për të krijuar disa fotografi të reja. 842 00:44:53,030 --> 00:44:57,110 Por, më saktësisht, ne do të krijuar një tjetër klasë Objektivi-C, ose 843 00:44:57,110 --> 00:44:58,010 një tjetër objekt - 844 00:44:58,010 --> 00:45:00,700 klasë dhe objekte janë të këmbyeshme këtu. 845 00:45:00,700 --> 00:45:06,460 Dhe, këtu është se si unë mund të, potencialisht, krijuar një tjetër klasë të kontrollorëve U. 846 00:45:06,460 --> 00:45:12,030 >> Pra, kjo është një nën-klasë, si ju do të njoftimit, këtu, kjo është një nën-klasë e 847 00:45:12,030 --> 00:45:15,910 Pikëpamje UI kontrollues, por unë mund të e quajti atë çdo emër tjetër këtu. 848 00:45:15,910 --> 00:45:19,400 Unë mund të quajmë këtë CS50, unë mund të telefononi kjo pikëpamje kontrollues, unë mund të telefononi 849 00:45:19,400 --> 00:45:21,640 kjo pikëpamje blah kontrollues - 850 00:45:21,640 --> 00:45:22,400 ndonjë gjë që unë dua. 851 00:45:22,400 --> 00:45:24,140 Kjo është vetëm emri për klasën. 852 00:45:24,140 --> 00:45:27,020 Megjithatë, ajo do të jetë e rëndësishme sepse, në thelb, ajo që unë jam duke bërë 853 00:45:27,020 --> 00:45:29,720 këtu është, unë jam duke krijuar një tjetër emër klasë. 854 00:45:29,720 --> 00:45:34,140 Pra, ajo do të jetë, si, disa lloj lloji ose një objekt. 855 00:45:34,140 --> 00:45:35,910 Pra, ajo duhet të jetë pak i përgjithshëm. 856 00:45:35,910 --> 00:45:37,225 Kjo nuk do të jetë shumë e veçantë. 857 00:45:37,225 --> 00:45:40,410 858 00:45:40,410 --> 00:45:44,480 >> Dhe gjithashtu, unë dua të theksoj nga këto dy opsione. 859 00:45:44,480 --> 00:45:48,430 Sepse ne jemi duke bërë gjithçka në brendësi të Kodi, ndonjëherë është shumë më e lehtë 860 00:45:48,430 --> 00:45:53,540 për të sjellë në një file ndërfaqes, të tilla që Unë fjalë për fjalë mund të drag and drop, si 861 00:45:53,540 --> 00:45:54,960 ne e bëmë më herët me storyboard - 862 00:45:54,960 --> 00:45:57,810 ju e dini, një etiketë, ose një buton, ose çfarëdo tjetër. 863 00:45:57,810 --> 00:46:01,950 Dhe kështu, xibs janë fotografi që ju lejon të e që, dhe ju duhet të lidh atë deri 864 00:46:01,950 --> 00:46:04,310 në këtë skedë kontrollues view. 865 00:46:04,310 --> 00:46:06,540 >> Pra, unë jam duke shkuar për qëllim nuk e kontrolloni këtë. 866 00:46:06,540 --> 00:46:12,510 Zakonisht unë do të kontrolloni këtë, dhe në qoftë se unë vetëm e bëri këtë për iPhone apo iPad, unë 867 00:46:12,510 --> 00:46:16,340 do të kontrolloni këtë dhe thjesht të ketë një të tillë për, ju e dini, iPhone ose iPad. 868 00:46:16,340 --> 00:46:19,750 Por pasi që unë jam duke bërë universal, unë jam duke shkuar për të krijuar dy nga ato më vonë. 869 00:46:19,750 --> 00:46:22,220 Pra, unë jam duke shkuar për qëllim zgjidhni këtë. 870 00:46:22,220 --> 00:46:23,940 >> Kjo është gjithashtu e vërtetë e rëndësishme. 871 00:46:23,940 --> 00:46:27,490 Shumë herë, unë kam pasur të mete ku kjo nuk është kontrolluar. 872 00:46:27,490 --> 00:46:31,930 Dhe kështu, natyrisht, këtë fotografi nuk është, lloj, si, të përfshira ose të importuara 873 00:46:31,930 --> 00:46:33,740 brenda kësaj dosje test. 874 00:46:33,740 --> 00:46:38,180 Dhe kështu, kodi im ka absolutisht asnjë ide të ekzistencës të këtij file, dhe 875 00:46:38,180 --> 00:46:41,080 që shkakton shumë dhimbje dhe orë debugging. 876 00:46:41,080 --> 00:46:44,360 Por, vetëm sigurohuni që kjo është e kontrolluar në mënyrë se, ju e dini, objektivi i këtij 877 00:46:44,360 --> 00:46:47,510 skedë është për këtë kërkesë. 878 00:46:47,510 --> 00:46:48,310 >> OK. 879 00:46:48,310 --> 00:46:51,680 Pra, tani ne kemi krijuar dy fotografi të reja. 880 00:46:51,680 --> 00:46:54,050 Dhe këto fotografi të duket goxha bosh. 881 00:46:54,050 --> 00:46:59,550 Dhe, në të vërtetë, le të vazhdojë on duke krijuar fotografi xib. 882 00:46:59,550 --> 00:47:03,690 Pra, më parë, unë kam qenë në Prekni kakao drop-down. 883 00:47:03,690 --> 00:47:06,880 Tani, unë jam duke shkuar për të shkuar në antarit Interface touch, dhe si ju mund të shihni, unë 884 00:47:06,880 --> 00:47:08,120 mund të krijojë një storyboard. 885 00:47:08,120 --> 00:47:11,710 >> Pra, edhe Unë fillova me një bosh aplikim, unë ende mund të përdorë 886 00:47:11,710 --> 00:47:12,340 storyboard. 887 00:47:12,340 --> 00:47:15,480 Edhe pse, ajo merr ndërlikuar në aspektin se si ju doni të lidheni 888 00:47:15,480 --> 00:47:16,820 që në kodin tuaj. 889 00:47:16,820 --> 00:47:18,230 Pra, unë nuk do të shkoj atje. 890 00:47:18,230 --> 00:47:22,160 >> Por, ajo që ne duam të bëjmë tani është të krijojë një pamje. 891 00:47:22,160 --> 00:47:25,720 Dhe ju mund të zgjidhni për një iPhone ose një iPad. 892 00:47:25,720 --> 00:47:30,180 Dhe zakonisht, për të treguar Dallimi - në qoftë se ju jeni duke bërë një 893 00:47:30,180 --> 00:47:31,950 aplikim universal - 894 00:47:31,950 --> 00:47:35,980 ju ose të vënë një iPhone të theksuar, ose ju mund të bëni një Twiddly. 895 00:47:35,980 --> 00:47:36,980 Kjo nuk ka rëndësi. 896 00:47:36,980 --> 00:47:40,890 Është e thjeshtë për ju që të dallojnë e cila pikëpamje është për të cilat pajisje. 897 00:47:40,890 --> 00:47:43,470 898 00:47:43,470 --> 00:47:44,430 >> Dhe kështu, tani të shohim. 899 00:47:44,430 --> 00:47:47,550 Unë kam një ekran që unë mund të punojnë me të. 900 00:47:47,550 --> 00:47:53,530 Dhe kështu, për shembull, unë mund të vënë një etiketë këtu, ju e dini, dhe unë gjithashtu mund të vënë 901 00:47:53,530 --> 00:47:54,820 një tjetër button këtu. 902 00:47:54,820 --> 00:47:58,730 Unë nuk do të shqetësojë ndryshuar vlerat këtu. 903 00:47:58,730 --> 00:48:09,050 >> Por, ajo që është e rëndësishme këtu është se pronari e file - 904 00:48:09,050 --> 00:48:13,660 kështu, unë jam në brendësi të iPhone pamje, fotografi iPhone xib. 905 00:48:13,660 --> 00:48:18,050 Dhe në këtë fushë navigacion ose drop-down menu, unë dua të shkoj në 906 00:48:18,050 --> 00:48:19,090 Pronari File-së. 907 00:48:19,090 --> 00:48:22,630 Dhe kjo është me të vërtetë hap i rëndësishëm këtu. 908 00:48:22,630 --> 00:48:27,780 Dua të bëj pamje të klasës kontrollues, kështu që këtë fotografi xib është 909 00:48:27,780 --> 00:48:30,030 do të jetë i lidhur me Pamje kontrollues tim. 910 00:48:30,030 --> 00:48:33,590 911 00:48:33,590 --> 00:48:39,360 Dhe çdo gjë që unë bëj brenda mendimit tim kontrollues është programuar 912 00:48:39,360 --> 00:48:42,800 do të reflektohet në këtu. 913 00:48:42,800 --> 00:48:46,270 >> Pra, megjithatë, vini re se - 914 00:48:46,270 --> 00:48:55,995 në të vërtetë, le të bëjmë këtë pikëpamje blu sfond, për shembull. 915 00:48:55,995 --> 00:49:00,280 916 00:49:00,280 --> 00:49:01,530 Ose të gjelbër. 917 00:49:01,530 --> 00:49:03,870 918 00:49:03,870 --> 00:49:07,950 Dhe pastaj, kështu që nëse ju do të vini re, në vitin ky kod, kjo është ajo ku kemi marrë të tanë 919 00:49:07,950 --> 00:49:09,200 kontrollues navigacion. 920 00:49:09,200 --> 00:49:12,650 921 00:49:12,650 --> 00:49:18,310 >> Edhe pse ne e bëmë këtë hap, është e ende do të jetë e kuqe jo, e gjelbër. 922 00:49:18,310 --> 00:49:20,350 Dhe ka një arsye pse. 923 00:49:20,350 --> 00:49:28,090 Kjo është për shkak se, kur ne inited Pamje kontrollues tonë, këtu - 924 00:49:28,090 --> 00:49:30,010 keq, kjo është pak i çmendur - 925 00:49:30,010 --> 00:49:34,520 kur ne inited Shiko kontrollues tonë këtu, Ne inited atë të tipit përgjithshme 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 Pra, ne as nuk e bëjmë ai me këtë klasë. 929 00:49:40,560 --> 00:49:42,030 >> Pra mbani mend, kjo është si një klasë tani. 930 00:49:42,030 --> 00:49:47,160 Kjo mund të mendohet si një lloj, vetëm si UIViewController është një lloj. 931 00:49:47,160 --> 00:49:51,080 Dhe në mënyrë që të përdorin atë, ajo që ne duhet të bëni është të importojë atë - 932 00:49:51,080 --> 00:49:52,520 import ViewController - 933 00:49:52,520 --> 00:49:55,750 dhe, si ju mund të shihni, ajo autofills atë për mua. 934 00:49:55,750 --> 00:49:56,570 Pra, ViewController - 935 00:49:56,570 --> 00:50:02,070 dhe tani, këtu, unë mund të ndryshojë këtë UIViewController të ViewController. 936 00:50:02,070 --> 00:50:05,050 Dhe tani, këtu, unë mund të ndryshojë kjo për ViewController. 937 00:50:05,050 --> 00:50:07,790 938 00:50:07,790 --> 00:50:09,250 >> Le të drejtuar këtë përsëri. 939 00:50:09,250 --> 00:50:16,970 940 00:50:16,970 --> 00:50:19,690 Është ende e kuqe. 941 00:50:19,690 --> 00:50:23,370 Dhe arsyeja pse është e ende e kuqe është për shkak se - 942 00:50:23,370 --> 00:50:26,230 Woah, çfarë ka ndodhur atje? 943 00:50:26,230 --> 00:50:31,500 Ne kemi kërkuar që të lidhen këtë xib paraqesë me pamje kontrollues. 944 00:50:31,500 --> 00:50:37,540 Megjithatë, në mënyrë që të bëjë në fakt se, ne kemi nevojë për të shkuar në këtë. 945 00:50:37,540 --> 00:50:42,980 Kur ne bëjmë init, ne duam të bëjmë initWithNibName, dhe pastaj ne duam të 946 00:50:42,980 --> 00:50:48,910 bëjë në string View_iPhone, për shembull. 947 00:50:48,910 --> 00:50:51,700 Ju mund të injorojë pako këtu. 948 00:50:51,700 --> 00:50:54,965 >> Dhe kjo do të lejojë ne që, në fakt - 949 00:50:54,965 --> 00:51:00,620 950 00:51:00,620 --> 00:51:02,160 uh oh, ka një problem. 951 00:51:02,160 --> 00:51:09,300 952 00:51:09,300 --> 00:51:09,980 E drejta. 953 00:51:09,980 --> 00:51:17,670 >> Dhe kështu, ka një problem, sepse, në fotografi tonë view xib, ne kemi një etiketë dhe 954 00:51:17,670 --> 00:51:18,720 ne kemi një buton. 955 00:51:18,720 --> 00:51:23,660 Megjithatë, edhe pse ne kemi të lidhur ata të dy, nuk ka asgjë brenda 956 00:51:23,660 --> 00:51:27,440 ViewController.h ose ViewController.m që reflektojnë ato 957 00:51:27,440 --> 00:51:29,160 buttons ose ato etiketat. 958 00:51:29,160 --> 00:51:32,425 Pra, ne kemi nevojë për të shkruar ato në si Pronat e pamje kontrollues. 959 00:51:32,425 --> 00:51:35,290 960 00:51:35,290 --> 00:51:39,490 >> Pra, kjo është se si ju të deklarojë një pronë. 961 00:51:39,490 --> 00:51:43,422 Ajo merr në, zakonisht, këto dy opsione. 962 00:51:43,422 --> 00:51:48,690 Për qëllim të na e këtij seminari, Unë do të thoja se, në përgjithësi, 963 00:51:48,690 --> 00:51:52,250 shumica prona janë nonatomic dhe të mbajë. 964 00:51:52,250 --> 00:51:55,420 Ju mund të lexoni nga Google në kërkim, ju e dini, diferenca midis 965 00:51:55,420 --> 00:51:58,620 nonatomic dhe të mbajë në, ju e dini, Google apo diçka. 966 00:51:58,620 --> 00:52:01,090 Dhe unë do të ju merr në, si, Stack Del nga shtrati, ku njerëzit do të kenë 967 00:52:01,090 --> 00:52:03,605 përgjigje për dallimet ndërmjet atyre. 968 00:52:03,605 --> 00:52:07,000 Por tani për tani, kjo është ajo që ne duan të jenë të shqetësuar me. 969 00:52:07,000 --> 00:52:12,790 >> Dhe ne duam të bërë një emërtim UI, yll, dhe ne mund të telefononi atë çka ne duam. 970 00:52:12,790 --> 00:52:15,710 Ne mund të telefononi këtë, ju e dini, etiketë. 971 00:52:15,710 --> 00:52:18,270 972 00:52:18,270 --> 00:52:20,110 Dhe, ne do të krijojë një tjetër një për butonin. 973 00:52:20,110 --> 00:52:24,380 974 00:52:24,380 --> 00:52:29,910 Dhe mos harroni të përfshijnë yll, sepse kemi të bëjmë me pointers 975 00:52:29,910 --> 00:52:36,740 shumë e shumë kudo brenda i Objektivi-C. 976 00:52:36,740 --> 00:52:42,110 >> Megjithatë, kjo ende nuk do të zgjidhë problemi, si ju mund të shihni këtu. 977 00:52:42,110 --> 00:52:50,540 Dhe arsyeja është sepse, sa herë që duan për të lidhur një emërtim fotografi xib ose një 978 00:52:50,540 --> 00:52:55,690 butonin te programit, ose kokë dhe fotografi zbatimi, ne duam të 979 00:52:55,690 --> 00:52:58,255 shtoni këtë pjesë të kodit - 980 00:52:58,255 --> 00:53:00,610 prizë. 981 00:53:00,610 --> 00:53:03,600 Vini re se kjo është një fjalë kyçe. 982 00:53:03,600 --> 00:53:07,970 >> Dhe, sa më shpejt që të përfundojë të shtypni se jashtë, ajo duhet të ketë këto 983 00:53:07,970 --> 00:53:09,100 dy qarqe, këtu. 984 00:53:09,100 --> 00:53:11,200 Zakonisht, ata nuk janë të mbushur in 985 00:53:11,200 --> 00:53:12,920 Unë nuk jam i sigurt se pse ata janë. 986 00:53:12,920 --> 00:53:21,370 Por zakonisht, ju do të keni në dorë lidhur ato duke shkuar në këtë anë të 987 00:53:21,370 --> 00:53:23,530 zona shërbimet. 988 00:53:23,530 --> 00:53:28,430 >> Dhe kështu, tani, unë kam marrë etiketën e mia zgjedhur, dhe unë dua të drag këtë të ri 989 00:53:28,430 --> 00:53:33,910 referenca prizë të pronarit skedarit tim, dhe pastaj klikoni mbi Label. 990 00:53:33,910 --> 00:53:40,230 Deri tani, më në fund, ky emërtim është lidhur me këtë etiketë. 991 00:53:40,230 --> 00:53:44,950 Dhe ky emërtim është ajo që ne jemi duke shkuar për përdorni programuar për të ndryshuar e saj 992 00:53:44,950 --> 00:53:49,250 text, font tij, sfondi i saj ngjyra, e të tjera. 993 00:53:49,250 --> 00:53:52,430 >> Pra, pse nuk e bëjmë ne njëjtë për butonin? 994 00:53:52,430 --> 00:53:54,770 Dhe si ju do të njoftimit, për butonin, kjo është pak më e komplikuar. 995 00:53:54,770 --> 00:53:59,060 Sepse, Unë do të thotë, ju jeni duke menduar për të shtypni mbi një buton, kështu që atë e mori një shumë 996 00:53:59,060 --> 00:54:02,950 e opsione se si përdoruesit mund të shtypni mbi një buton. 997 00:54:02,950 --> 00:54:06,570 Dhe atëherë, ne do të shohim më vonë se ne mund të lidheni këtë të tanë 998 00:54:06,570 --> 00:54:09,140 Kodi për të bërë atë punë. 999 00:54:09,140 --> 00:54:12,770 >> Pra, tani për tani edhe pse, ne duam të lidhur ajo në butonin aktuale 1000 00:54:12,770 --> 00:54:13,570 brenda kodit tonë. 1001 00:54:13,570 --> 00:54:19,640 Pra, ne do të shkojmë në prizë të re referenca, dhe pastaj të bëjë butonin. 1002 00:54:19,640 --> 00:54:22,068 Tani, le të drejtuar këtë përsëri. 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 Unë nuk e di se çfarë po ndodh këtu tani. 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 Vetëm një moment, këtu. 1010 00:54:58,960 --> 00:55:02,490 >> Në fakt, pse nuk kemi marrë një shikojmë një shembull tjetër në 1011 00:55:02,490 --> 00:55:05,800 interesi i kohës. 1012 00:55:05,800 --> 00:55:06,200 OK. 1013 00:55:06,200 --> 00:55:10,610 Pra, këtu është përgatitur më lehtë shembull për ViewController. 1014 00:55:10,610 --> 00:55:13,230 1015 00:55:13,230 --> 00:55:17,110 Siç mund ta shikoni këtu, unë kam përfshirë pronat për 1016 00:55:17,110 --> 00:55:18,460 etiketë dhe butonin. 1017 00:55:18,460 --> 00:55:20,370 Dhe pastaj, kjo pjesë e kodit këtu - 1018 00:55:20,370 --> 00:55:21,830 kjo IBaction - 1019 00:55:21,830 --> 00:55:27,740 ishte një lidhje për këtë buton këtu. 1020 00:55:27,740 --> 00:55:33,940 Kështu si ju mund të shihni këtu, Touch Up Inside është lidhur për përzgjedhës 1021 00:55:33,940 --> 00:55:37,390 quajtur Button presion. 1022 00:55:37,390 --> 00:55:41,700 >> Pra, ne në fakt mund të kalojnë nëpër lëvizje përsëri, këtu, duke marrë Touch Up 1023 00:55:41,700 --> 00:55:48,750 Brenda dhe zvarritur atë në Pronari File-së, dhe më pas 1024 00:55:48,750 --> 00:55:51,570 klikoni në Button presion. 1025 00:55:51,570 --> 00:55:52,820 Tani, le të drejtuar kodin tonë. 1026 00:55:52,820 --> 00:55:55,710 1027 00:55:55,710 --> 00:56:02,020 Deri tani, ky buton tani punon dhe do të na në faqen tjetër. 1028 00:56:02,020 --> 00:56:08,430 >> Dhe, në aspektin e pamje kontrollues tonë, kjo është pjesë e kodit që mori 1029 00:56:08,430 --> 00:56:10,000 kujdes e Button presion. 1030 00:56:10,000 --> 00:56:14,260 Dhe është e rëndësishme të theksohet këtu, që Unë kam krijuar një lloj tjetër pamje 1031 00:56:14,260 --> 00:56:16,330 kontrollues quajtur një tavolinë Pamje kontrollues. 1032 00:56:16,330 --> 00:56:19,900 Pra, kjo ishte e ngjashme për të mbështetur në storyboard, kur unë zvarritur një nga 1033 00:56:19,900 --> 00:56:23,450 këto kontrollorëve view tryezë në storyboard. 1034 00:56:23,450 --> 00:56:24,470 Unë jam duke krijuar një tjetër 1035 00:56:24,470 --> 00:56:30,000 >> Tregues në pamje tryezë kontrollues, ALLOC dhe init-ing atë, dhe pastaj duke bërë 1036 00:56:30,000 --> 00:56:34,490 vetë dot kontrollues navigacion, shtytje ViewController, ky i ri 1037 00:56:34,490 --> 00:56:35,350 viewController. 1038 00:56:35,350 --> 00:56:39,750 Dhe unë e kam vendosur animacion në po, sepse tani brenda app im, dhe unë 1039 00:56:39,750 --> 00:56:45,670 duan që në fakt të parë animacion shkuar nga faqen kryesore në tryezë 1040 00:56:45,670 --> 00:56:46,920 Pamje kontrollues. 1041 00:56:46,920 --> 00:56:48,830 1042 00:56:48,830 --> 00:56:51,110 >> Audienca: A ju ende merak për mbledhjen e mbeturinave? 1043 00:56:51,110 --> 00:56:51,840 >> RHED SHI: Çfarë është ajo? 1044 00:56:51,840 --> 00:56:54,740 Jo. 1045 00:56:54,740 --> 00:56:58,970 Pra, pyetja është, a keni për të punuar me mbledhjen e mbeturinave? 1046 00:56:58,970 --> 00:57:03,470 Pra, Xcode 4 kishte si ARC, e cila është numërimit automatike referencë. 1047 00:57:03,470 --> 00:57:06,120 Dhe kështu, zakonisht kur ju filloni një të ri Projekti, ju do të shikoni se, për shkak se 1048 00:57:06,120 --> 00:57:09,440 askush nuk dëshiron të merret me liruar kujtesës dhe sende. 1049 00:57:09,440 --> 00:57:13,720 Por unë mendoj se në Xcode 5, nuk është edhe se opsion për projektin e ri. 1050 00:57:13,720 --> 00:57:16,750 Pra, ajo automatikisht e bën këtë për ju. 1051 00:57:16,750 --> 00:57:16,920 Po? 1052 00:57:16,920 --> 00:57:20,970 >> Audienca: A mund të eksportojë një PDF në storyboard tuaj? 1053 00:57:20,970 --> 00:57:22,020 >> RHED SHI: Po, patjetër. 1054 00:57:22,020 --> 00:57:28,180 Pra, të gjitha këto do të përfshihen në kod burim, kështu që ju djema mund të shikoni 1055 00:57:28,180 --> 00:57:30,730 Projekti aktual Xcode për të. 1056 00:57:30,730 --> 00:57:31,105 Po? 1057 00:57:31,105 --> 00:57:35,944 >> Audienca: Por, dua të them, si, mund të shkruar një PDF me storyboard tim? 1058 00:57:35,944 --> 00:57:38,920 Nëse unë vetëm dua të eksportit imazhe të treguar dikë. 1059 00:57:38,920 --> 00:57:39,160 >> RHED SHI: Oh yeah. 1060 00:57:39,160 --> 00:57:41,980 Unë mendoj se, ndoshta, ju mund vetëm të të marrë një e shtënë ekran. 1061 00:57:41,980 --> 00:57:44,350 Po, dhe dërgoni atyre një ekran shtënë apo diçka. 1062 00:57:44,350 --> 00:57:45,600 Po. 1063 00:57:45,600 --> 00:57:49,170 1064 00:57:49,170 --> 00:57:50,570 >> Pra, le të shohim. 1065 00:57:50,570 --> 00:57:56,470 Në interes të kohës, unë mendoj kjo është e gjitha l mund të mbulojë sot. 1066 00:57:56,470 --> 00:57:59,600 Por, unë e di kjo është, në fakt, vetëm mezi prekur sipërfaqen e IOS 1067 00:57:59,600 --> 00:58:00,370 zhvillimit. 1068 00:58:00,370 --> 00:58:05,630 Pra, ju lutem mos ngurroni të më kontaktoni nëse ju keni ndonjë pyetje në lidhje me iOS 1069 00:58:05,630 --> 00:58:07,000 zhvillimit. 1070 00:58:07,000 --> 00:58:12,840 Dhe, me shpresë, unë do të jetë në gjendje të pastër disa nga kodit të burimit 1071 00:58:12,840 --> 00:58:16,830 fotografi kod, në mënyrë që ju do të keni disa shembuj të vërtetë e bukur për të punuar me të. 1072 00:58:16,830 --> 00:58:21,020 >> Për më tepër, në qoftë se ju djema do në CS50 Hackathon, unë mund ose mund të 1073 00:58:21,020 --> 00:58:25,730 mos jetë atje, dhe unë mund të ndihmojë jashtë me disa zhvillimit IOS, too. 1074 00:58:25,730 --> 00:58:26,980 Pra, faleminderit shumë, djema. 1075 00:58:26,980 --> 00:58:31,168