1 00:00:00,000 --> 00:00:11,420 2 00:00:11,420 --> 00:00:13,590 >> TIANYU LIU: Hej, si e ajo shkon të gjithë? 3 00:00:13,590 --> 00:00:20,250 Dhe kjo është iOS App programimi i seminarit objektive c. 4 00:00:20,250 --> 00:00:21,520 Dhe emri im është Tianyu Liu. 5 00:00:21,520 --> 00:00:26,114 Unë jam një Lowell i vogël tani, përqëndruar në shkenca kompjuterike. 6 00:00:26,114 --> 00:00:28,030 Pra, në këtë seminar unë jam do të të mësojmë djema 7 00:00:28,030 --> 00:00:30,770 pak rreth asaj se si për të bërë një app. 8 00:00:30,770 --> 00:00:33,030 Yay, merakosem për të. 9 00:00:33,030 --> 00:00:36,790 >> Pra, para se të fillojë zhytje në anën e programimit aktuale, 10 00:00:36,790 --> 00:00:41,840 le të vetëm të vërtetë të shpejt të flasim për pse mund të doni për të ndërtuar një app IOS? 11 00:00:41,840 --> 00:00:43,940 Pse është iOS aq i tmerrshëm? 12 00:00:43,940 --> 00:00:47,250 Pra problemin e parë, së pari gjë që është shumë awesome për ne, 13 00:00:47,250 --> 00:00:51,190 veçanërisht si një CS50 student, është se iOS 14 00:00:51,190 --> 00:00:55,860 përdor Objektivi C. E pra, nuk ka një gjuhë të re të quajtur Swift, 15 00:00:55,860 --> 00:00:58,260 por ne nuk jemi duke shkuar për përdorim që në këtë seminar. 16 00:00:58,260 --> 00:01:01,540 Nëse jeni të interesuar në Swift, atje është një seminar i pavarur në lidhje me atë. 17 00:01:01,540 --> 00:01:05,590 Por Objektivi C është në thelb një superset e C. Kuptimi 18 00:01:05,590 --> 00:01:10,230 se çdo gjë që ju përdorni në C mund të përkthehet në Objektivi C 19 00:01:10,230 --> 00:01:11,630 shumë lehtë. 20 00:01:11,630 --> 00:01:15,730 >> Si ju mund të shihni më vonë, se me të vërtetë ka disa sintaksë shumë themelore, janë 21 00:01:15,730 --> 00:01:19,790 në thelb të njëjtë, C dhe Objektivi C. Pra, 22 00:01:19,790 --> 00:01:22,860 pasi ju keni marrë CS50 up kjo shumë, ju tashmë 23 00:01:22,860 --> 00:01:26,500 di Objektivi C, të paktën 40%. 24 00:01:26,500 --> 00:01:30,720 Gjithashtu, Apple ka një të vërtetë API i fuqishëm për iOS. 25 00:01:30,720 --> 00:01:33,750 Nuk janë një shumë e vërtetë të çmendur gjëra që ju mund të bëni me të. 26 00:01:33,750 --> 00:01:36,760 Një prej të cilave është dikush në të vërtetë krijoi një app IOS 27 00:01:36,760 --> 00:01:40,600 për makinat e kontrolluese, të cilat është shumë interesante. 28 00:01:40,600 --> 00:01:42,610 Ndoshta një helikopter është më emocionuese. 29 00:01:42,610 --> 00:01:47,020 Por, kjo është se si i fuqishëm API iOS mund të jetë. 30 00:01:47,020 --> 00:01:49,340 >> Dhe si ju mund të keni motive nga tani, 31 00:01:49,340 --> 00:01:53,000 del nga shtrati rafte është ndoshta një nga burimet më të rëndësishme linje 32 00:01:53,000 --> 00:01:54,250 në dispozicion për ju. 33 00:01:54,250 --> 00:01:58,090 Dhe lajm i mirë, për çdo Problemi i vetëm që ju mund ndoshta 34 00:01:58,090 --> 00:02:01,840 mendoj se e ndërsa ndërtimin tuaj projekt përfundimtar në Objektivi C, 35 00:02:01,840 --> 00:02:05,910 ka të ngjarë një përgjigje rafte del nga shtrati. 36 00:02:05,910 --> 00:02:07,420 Është vetëm awesome. 37 00:02:07,420 --> 00:02:12,780 Përveç kësaj, iOS është me të vërtetë një platformë 38 00:02:12,780 --> 00:02:16,260 ku ju mund të arrijnë një i madh Audienca me pak përpjekje. 39 00:02:16,260 --> 00:02:20,170 Ajo nuk është si Android, ku çdo gjë është shumë e fragmentuar. 40 00:02:20,170 --> 00:02:22,540 >> Çdo gjë iOS është e unifikuar. 41 00:02:22,540 --> 00:02:25,920 Dhe për aq kohë sa ju e krijoni një app për një iPhone, 42 00:02:25,920 --> 00:02:31,260 ju shumë lehtë mund port që në iPad, iPad mini, apo madhësive të ndryshme iPhone. 43 00:02:31,260 --> 00:02:33,050 Këto janë të gjithë me të vërtetë i përshtatshëm. 44 00:02:33,050 --> 00:02:36,430 Dhe kjo është vetëm me të vërtetë e mirë për impressing miqtë tuaj. 45 00:02:36,430 --> 00:02:38,920 Ju vetëm mund të mbajë një iPhone dhe tregoni mikut tuaj hej, 46 00:02:38,920 --> 00:02:40,250 kjo është app unë bëj. 47 00:02:40,250 --> 00:02:43,860 Ju mund ta bëni atë për ndonjë Apps desktop, e cila është e bukur. 48 00:02:43,860 --> 00:02:48,870 >> Në rregull, tani le të ketë në fakt në gjuhën Objektivi C. 49 00:02:48,870 --> 00:02:52,910 Pra, pse nuk e kemi filluar me disa sintaksë të vërtetë themelore. 50 00:02:52,910 --> 00:02:57,410 Siç e përmenda më parë Objektivi C Kjo është në thelb një superset e C. 51 00:02:57,410 --> 00:03:01,860 Pra, një shumë e sintaksës bazë janë në të vërtetë saktësisht e njëjtë. 52 00:03:01,860 --> 00:03:06,150 Duke deklaruar një ndryshore dhe duke shtuar dy variabla së bashku 53 00:03:06,150 --> 00:03:09,440 është pikërisht siç kemi bërë në Mario. 54 00:03:09,440 --> 00:03:11,140 Asgjë të re këtu. 55 00:03:11,140 --> 00:03:17,370 >> Në mënyrë të ngjashme, banonjës për lak dhe gjendja është gjithashtu njëjtë. 56 00:03:17,370 --> 00:03:22,370 Ju mund të bëni një për lak ashtu si ju, kanë bërë në një Mario [e padëgjueshme]. 57 00:03:22,370 --> 00:03:26,280 Dhe ju mund të bëni kushte ashtu si atë që ju 58 00:03:26,280 --> 00:03:29,240 kanë bërë në grupe tuaj të mëparshëm p. 59 00:03:29,240 --> 00:03:33,400 Megjithatë, Objektivi C nuk është plotësisht C, 60 00:03:33,400 --> 00:03:36,640 dhe nuk është diçka që është lloj i pazakontë për të. 61 00:03:36,640 --> 00:03:42,340 >> I pari është se kur ju jeni duke bërë programimit C, ju zakonisht e quajmë 62 00:03:42,340 --> 00:03:46,310 përfshijnë dhe pastaj një emër bibliotekë. 63 00:03:46,310 --> 00:03:49,860 Por në Objektivin C ju telefononi atë të importit. 64 00:03:49,860 --> 00:03:53,100 Në thelb duke thënë funksionalitetin, emra vetëm të ndryshme. 65 00:03:53,100 --> 00:03:55,940 Dhe vargjet janë në të vërtetë pak i çuditshëm. 66 00:03:55,940 --> 00:03:58,250 Ju mund të shihni se për herë të parë gjë që është lloj i çuditshëm 67 00:03:58,250 --> 00:04:04,190 është se ju keni një goxha weird-- sorry-- ju keni një NS mjaft të pazakontë 68 00:04:04,190 --> 00:04:04,960 nënshkruani mbi këtu. 69 00:04:04,960 --> 00:04:07,452 70 00:04:07,452 --> 00:04:09,160 Dhe gjëja e dytë që është lloj i pazakontë 71 00:04:09,160 --> 00:04:14,090 po ju keni një shenjë në para në të vërtetë duke deklaruar string. 72 00:04:14,090 --> 00:04:19,209 Pra, në shenjë thelb nënkupton se një varg nuk është vetëm një varg, 73 00:04:19,209 --> 00:04:20,880 ajo është në fakt një objekt. 74 00:04:20,880 --> 00:04:22,780 Ne jemi duke shkuar për të shpjeguar që më vonë kështu që mos bëni 75 00:04:22,780 --> 00:04:25,800 panik në qoftë se ju nuk e bëni kuptuar se çfarë do të thotë. 76 00:04:25,800 --> 00:04:29,980 Dhe shtypje të konsol është pak i ndryshëm sepse në C ne e quajmë printf, 77 00:04:29,980 --> 00:04:33,350 por në Objektivin C ne e quajmë [e padëgjueshme]. 78 00:04:33,350 --> 00:04:35,640 >> Ju mund të pyesin se çfarë është ajo. 79 00:04:35,640 --> 00:04:38,070 Kjo është në thelb printf, vetëm një gjuhë të ndryshme. 80 00:04:38,070 --> 00:04:41,370 Saktësisht e njëjtë përdorimi, pikërisht të njëjtën funksionalitetit. 81 00:04:41,370 --> 00:04:44,060 E pra kjo rezulton se Objektivi C në të vërtetë 82 00:04:44,060 --> 00:04:50,040 ka një ns prefiksit në pothuajse çdo gjë, çdo themelor lloj të të dhënave, 83 00:04:50,040 --> 00:04:52,690 nsstring, nsarray, nsdictionary. 84 00:04:52,690 --> 00:04:56,340 Arsyeja është se ns në të vërtetë qëndron për hapin e ardhshëm, 85 00:04:56,340 --> 00:04:59,980 cila është një kompani që Steve Jobs e ka themeluar, 86 00:04:59,980 --> 00:05:03,960 e cila është një kompani ku Gjuha Objektivi C është i lindur. 87 00:05:03,960 --> 00:05:06,140 Pra, kjo është në thelb traditë. 88 00:05:06,140 --> 00:05:09,010 Unë e di se është pak çuditshëm, por është e Apple. 89 00:05:09,010 --> 00:05:16,840 >> Pra, diçka që është edhe weirder se kjo është një deklaratë funksion. 90 00:05:16,840 --> 00:05:22,600 Kjo është shumë e ndryshme nga ajo që ne shih në C, sepse këtu në të vërtetë atë 91 00:05:22,600 --> 00:05:25,190 nuk duket si C më. 92 00:05:25,190 --> 00:05:28,810 Çfarë ju keni here-- nga mënyrë kjo nuk është një pikë plumb, 93 00:05:28,810 --> 00:05:30,690 kjo është një shenjë minus. 94 00:05:30,690 --> 00:05:36,440 Ju keni një parantezë shenjë minus pavlefshme dhe pastaj emri funksion. 95 00:05:36,440 --> 00:05:38,450 Le të them vetëm nëse ne kanë Hello World, atëherë 96 00:05:38,450 --> 00:05:42,820 lloj kthimi do të jetë i pavlefshëm sepse ne kthehemi asgjë. 97 00:05:42,820 --> 00:05:44,680 >> Çfarë merr me të vërtetë i çuditshëm është se kur ju jeni 98 00:05:44,680 --> 00:05:49,580 që ka më shumë se një parametër duke kaluar në një funksion të njëjtë që 99 00:05:49,580 --> 00:05:53,870 do të jetë me të vërtetë i çuditshëm siç tregohet këtu. 100 00:05:53,870 --> 00:05:58,230 Ne kemi një emër metodë, i quajtur addInt të [e padëgjueshme] 101 00:05:58,230 --> 00:06:00,370 dhe ne jemi duke kaluar një parametër. 102 00:06:00,370 --> 00:06:05,170 Por pas kësaj, ne kemi më Emri metodë thirrje me. 103 00:06:05,170 --> 00:06:08,500 Dhe pas me që ne jemi duke kaluar parametër i dytë. 104 00:06:08,500 --> 00:06:11,940 Kjo është në fakt pak i çuditshëm, por të gjitha këto deklarata funksion 105 00:06:11,940 --> 00:06:14,770 ndjekin të njëjtin model si ky. 106 00:06:14,770 --> 00:06:17,450 >> Ne kemi një shenjë minus për të filluar me. 107 00:06:17,450 --> 00:06:21,550 Shenjën minus mund të jetë një shenjë plus nganjëherë në bazë të çfarë lloj metode 108 00:06:21,550 --> 00:06:22,340 është ajo. 109 00:06:22,340 --> 00:06:25,000 Metoda është në thelb një tjetër emër për funksionin. 110 00:06:25,000 --> 00:06:26,760 Dhe ne jemi duke shkuar për shpjeguar se më vonë kur 111 00:06:26,760 --> 00:06:30,580 ne jemi duke folur për objektin programimit të orientuar. 112 00:06:30,580 --> 00:06:34,300 Ju së pari të përcaktojë kthimin lloji brenda kllapa, 113 00:06:34,300 --> 00:06:37,450 pas së cilës vjen emri metodë. 114 00:06:37,450 --> 00:06:40,310 Ju jeni duke kaluar një parametër. 115 00:06:40,310 --> 00:06:44,750 Dhe në qoftë se ju keni më shumë parametra ju keni nevojë për të zgjeruar emrin metodë 116 00:06:44,750 --> 00:06:46,770 dhe në thelb të shkruaj diçka më shumë këtu. 117 00:06:46,770 --> 00:06:48,090 >> Kjo mund të jetë çdo gjë që ju dëshironi. 118 00:06:48,090 --> 00:06:50,140 Në rastin tonë kjo është me të. 119 00:06:50,140 --> 00:06:56,160 Por ju mund të thoni në fund, ose, ose, ose bar plot abc, çdo gjë që dëshironi. 120 00:06:56,160 --> 00:06:59,500 Dhe pastaj pasi që ju jeni duke kaluar parametër b. 121 00:06:59,500 --> 00:07:01,750 Kjo është një të vërtetë i çuditshëm Konventa por ne jemi 122 00:07:01,750 --> 00:07:05,800 shkuar për të parë pse Apple dëshironte për të bërë këtë shumë shpejt. 123 00:07:05,800 --> 00:07:10,530 Pra, si ju quajnë funksion? 124 00:07:10,530 --> 00:07:15,520 Duke e quajtur një funksion në Objektiva C është gjithashtu e ndryshme nga C. 125 00:07:15,520 --> 00:07:18,170 >> Në të vërtetë, duke e quajtur një funksion në Objektivi C 126 00:07:18,170 --> 00:07:21,030 është më shumë si ju jeni duke folur me dikë. 127 00:07:21,030 --> 00:07:27,030 Këtu ne kemi vetë, që është quajtur një objekt. 128 00:07:27,030 --> 00:07:33,830 Ju në thelb po më thoni kundërshtojë veten për të thënë "Hello World!" 129 00:07:33,830 --> 00:07:36,830 Kjo është se si për të thirrur funksionin. 130 00:07:36,830 --> 00:07:41,690 Një objekt dhe një emër metodë kombinuar me njëri tjetrin. 131 00:07:41,690 --> 00:07:49,600 Dhe ky është vendi ku i pazakontë extension për emrin metodë me të vërtetë vjen në lojë. 132 00:07:49,600 --> 00:07:52,150 >> Le të shikojmë në shembullin e dytë. 133 00:07:52,150 --> 00:07:56,780 Ne vetëm të përcaktuar një metodë të quajtur addInt me blah blah blah. 134 00:07:56,780 --> 00:08:00,066 Pra në këtë rast, kur ju jeni duke bërë thirrje se [specifik? Mesazhi?] se kjo do 135 00:08:00,066 --> 00:08:02,035 të duken si addInt vetë: 10 me: 2. 136 00:08:02,035 --> 00:08:05,410 137 00:08:05,410 --> 00:08:08,070 Kjo tingëllon si anglisht. 138 00:08:08,070 --> 00:08:11,980 Edhe pse funksioni Deklarata funksion është i pazakontë, 139 00:08:11,980 --> 00:08:15,600 pika e Objektivi C-së model deklaratë metodë, 140 00:08:15,600 --> 00:08:18,830 është se kur ju jeni duke thirrur funksion apo metodë 141 00:08:18,830 --> 00:08:21,980 ajo do të tingëllojë si e vërtetë anglisht. 142 00:08:21,980 --> 00:08:25,270 Pra, është shumë intuitiv sapo ju të merrni në të. 143 00:08:25,270 --> 00:08:28,740 >> Sidomos në këtë rast, ku ju mund thelb 144 00:08:28,740 --> 00:08:33,010 shoh se emri funksion është lloj i dokumentimin veten. 145 00:08:33,010 --> 00:08:35,390 Ju nuk keni nevojë për ndonjë më shumë shpjegim për të parë 146 00:08:35,390 --> 00:08:42,770 çfarë saktësisht po ndodh, çfarë saktësisht një parametër duke bërë. 147 00:08:42,770 --> 00:08:48,470 Duke shkuar përtej kësaj, le të flasim pak bit për të orientuar objekt programimin. 148 00:08:48,470 --> 00:08:52,160 Programimi i orientuar objekt është një nga programimit themelore 149 00:08:52,160 --> 00:08:57,110 teknika apo modelet që është përdorur nga Objektivin C. Objektivi C 150 00:08:57,110 --> 00:09:03,110 është quajtur C Objektivi, nuk C, për një arsye të vërtetë të mirë. 151 00:09:03,110 --> 00:09:07,560 >> Pra, para se të marrim në Sintaksa Objektivi C, 152 00:09:07,560 --> 00:09:11,670 Le të vërtetë shpejt shikoni në çfarë saktësisht është një objekt. 153 00:09:11,670 --> 00:09:15,480 Ne e kemi bërë ndoshta diçka të si objekt para, e cila 154 00:09:15,480 --> 00:09:19,780 quhet struct kur ju jeni zbatimin e një pemë apo një listë e lidhur 155 00:09:19,780 --> 00:09:25,730 ose [? provoni. ?] Pra, është e në thelb si një struct, 156 00:09:25,730 --> 00:09:28,560 por kjo është shumë më e fuqishme se kaq. 157 00:09:28,560 --> 00:09:33,150 Një objekt ka metodat dhe pronat. 158 00:09:33,150 --> 00:09:35,310 Metodat janë në thelb funksionon. 159 00:09:35,310 --> 00:09:39,480 Në thelb funksionon se një specifik në një objekt të caktuar. 160 00:09:39,480 --> 00:09:45,440 >> Dhe prona janë në thelb fushë ju të specifikojë në struct. 161 00:09:45,440 --> 00:09:48,500 Pra, për çdo objekt të vetëm ne kemi disa prona 162 00:09:48,500 --> 00:09:53,160 se ka disa variablave që janë specifike për objektin. 163 00:09:53,160 --> 00:09:57,170 Dhe ne kemi disa funksione të cilat janë gjithashtu specifike për objektin. 164 00:09:57,170 --> 00:10:01,180 Dhe funksionet janë quajtur metoda dhe variablat janë quajtur pronat. 165 00:10:01,180 --> 00:10:03,190 Është vetëm një emër i zbukuruar. 166 00:10:03,190 --> 00:10:10,440 Ndërsa ju të vërtetë, çdo pamje të vetme ju shoh ndërsa ju hapni një app IOS, 167 00:10:10,440 --> 00:10:17,720 le të them vetëm Twitter ose Facebook, çdo pikëpamje e vetme që ju shikoni është një objekt. 168 00:10:17,720 --> 00:10:22,110 Dhe edhe tërë app është një objekt për të filluar me. 169 00:10:22,110 --> 00:10:25,340 Koncept shumë interesante. 170 00:10:25,340 --> 00:10:28,480 >> Dhe pse ne duam objekt programimin e orientuar? 171 00:10:28,480 --> 00:10:33,530 Kështu që ju mund të imagjinojmë se kur ju program ajo merr goxha e komplikuar. 172 00:10:33,530 --> 00:10:36,400 Le të them vetëm kur ju jeni zbatimin fushë shahu, 173 00:10:36,400 --> 00:10:40,020 logjika do të të jetë i komplikuar me të vërtetë. 174 00:10:40,020 --> 00:10:43,280 Ju keni 36 të ndryshme copë, kështu që nëse ju 175 00:10:43,280 --> 00:10:48,370 dua të shkruaj logjikë për të gjithë 36 copa të ndryshme në shah, 176 00:10:48,370 --> 00:10:52,150 që do të jetë një shumë e Funksionet e ndryshme dhe variablave. 177 00:10:52,150 --> 00:10:54,070 Kjo është një shumë e telashe. 178 00:10:54,070 --> 00:10:58,980 Dhe ndoshta ju jeni do të shkruaj një metodë tjetër ose funksion tjetër 179 00:10:58,980 --> 00:11:03,950 për secilën nga pjese te saktësisht të kontrollojë atë që bëjnë ata. 180 00:11:03,950 --> 00:11:08,830 >> Por në qoftë se ju bëni të orientuar objekt programimi, të gjitha këto pjesë 181 00:11:08,830 --> 00:11:12,440 mund të abstraktohet në një objekt të vetëm. 182 00:11:12,440 --> 00:11:16,111 Dhe objekti do të ketë disa të përbashkët Pronat, si çfarë lloj copë 183 00:11:16,111 --> 00:11:16,610 është ajo? 184 00:11:16,610 --> 00:11:17,740 Çfarë ngjyrë është ajo? 185 00:11:17,740 --> 00:11:19,480 Si mund kjo të shkojë? 186 00:11:19,480 --> 00:11:24,660 Dhe në këtë mënyrë ju keni në masë të madhe thjeshtuar logjikën e saj. 187 00:11:24,660 --> 00:11:28,480 Pra, kjo është vetëm një mënyrë të vërtetë të mirë për të bërë programe të komplikuara, 188 00:11:28,480 --> 00:11:33,700 dhe marrëdhënie hierarkike në kuadër të programit, shumë e thjeshtë. 189 00:11:33,700 --> 00:11:36,800 Ndërsa ne jemi duke shkuar për të parë pse shumë shpejt kur 190 00:11:36,800 --> 00:11:39,660 ne jemi në të vërtetë duke bërë programming-- kur ne jemi në të vërtetë 191 00:11:39,660 --> 00:11:42,830 duke bërë një kod S programimit seancë më vonë. 192 00:11:42,830 --> 00:11:48,120 >> Well përveç kësaj, Programimi objekt orientuar 193 00:11:48,120 --> 00:11:50,030 është vetëm një shumë e fun. 194 00:11:50,030 --> 00:11:51,990 Ju mori për të hartuar vetë objektin tuaj. 195 00:11:51,990 --> 00:11:56,080 Ju mori për të hartuar atë që bën kjo duket si me veten. 196 00:11:56,080 --> 00:11:58,250 Nuk ka përgjigje të drejtë për të. 197 00:11:58,250 --> 00:12:02,940 Dhe kjo është krejtësisht interesante. 198 00:12:02,940 --> 00:12:07,270 Pra, në të orientuar objekt programimin, dy koncepte themelore 199 00:12:07,270 --> 00:12:10,130 do të jenë të klasës dhe shembull. 200 00:12:10,130 --> 00:12:13,570 Një klasë është në thelb një template për objektin. 201 00:12:13,570 --> 00:12:18,070 Dhe një shembull është në thelb një objekt specifik. 202 00:12:18,070 --> 00:12:21,090 >> Le të thonë se ju jeni duke e bërë një cookie. 203 00:12:21,090 --> 00:12:24,800 Në këtë rast, çdo të vetme cookie ju në të vërtetë të përfundojë me 204 00:12:24,800 --> 00:12:27,310 do të jetë një objekt. 205 00:12:27,310 --> 00:12:35,830 Por pjatë cookie ju përdorni për të piqem të gjithë cookie-t do të jetë një klasë. 206 00:12:35,830 --> 00:12:37,880 Një klasë është në thelb një template. 207 00:12:37,880 --> 00:12:46,170 Dhe shembull do të jetë një specifik objekt krijuar nga asaj klase. 208 00:12:46,170 --> 00:12:49,970 >> Dhe një shembull do të krijohet në bazë të deklarimit të klasës, 209 00:12:49,970 --> 00:12:56,760 siç do të shohim në slides mëvonshme. 210 00:12:56,760 --> 00:13:00,010 Pra, le të bëjë në fakt një të vërtetë Shembulli i shpejtë [e padëgjueshme]. 211 00:13:00,010 --> 00:13:04,280 Le të thonë se ne jemi duke deklaruar një objekt për një mace. 212 00:13:04,280 --> 00:13:07,930 Objekti duhet have-- klasë cat duhet 213 00:13:07,930 --> 00:13:11,260 kanë disa prona dhe metodat. 214 00:13:11,260 --> 00:13:17,300 Çfarë lloj i pronave duhet të klasë have-- duhet të ketë cat? 215 00:13:17,300 --> 00:13:20,580 >> Për shembull, ngjyra, mosha dhe race, ata 216 00:13:20,580 --> 00:13:24,440 do të jetë i variablave që janë specifike për çdo mace. 217 00:13:24,440 --> 00:13:27,790 Dhe ata janë disa gjëra që ne përdorim për të përshkruar një mace. 218 00:13:27,790 --> 00:13:31,880 Çfarë lloj metode, ose çfarë mund të bëj një mace? 219 00:13:31,880 --> 00:13:37,160 Disa shembuj të shpejtë do të jetë në ndjekje mouse, hani peshk ose vetëm mjaullin. 220 00:13:37,160 --> 00:13:40,900 Kjo është një të vërtetë i shpejtë Shembulli i klasës cat. 221 00:13:40,900 --> 00:13:46,920 Dhe një të vërtetë të veçantë objekt mace do të jetë një mace 222 00:13:46,920 --> 00:13:50,930 ku ne të specifikojë ngjyra, mosha dhe race. 223 00:13:50,930 --> 00:13:53,790 >> Në këtë rast, objekti ynë është nuk ka më një klasë më. 224 00:13:53,790 --> 00:14:00,010 Ne kopje template nga klasa dhe ne të specifikojë çdo informacion specifik 225 00:14:00,010 --> 00:14:04,510 në atë objekt të veçantë për ta bërë të pavarur. 226 00:14:04,510 --> 00:14:09,350 Dhe kur ju jeni duke bërë thirrje një metodë brenda një objekti, 227 00:14:09,350 --> 00:14:16,640 ju vetëm thirrje Meow mbi objektin, cila është macja e keni krijuar vetëm. 228 00:14:16,640 --> 00:14:19,020 >> Ndoshta ju do të shtypura nga diçka si "Përshëndetje Botë! 229 00:14:19,020 --> 00:14:20,000 Meow ". 230 00:14:20,000 --> 00:14:22,110 Pretty bukur. 231 00:14:22,110 --> 00:14:24,500 Në rregull, le të vetëm merrni në disa detaje 232 00:14:24,500 --> 00:14:30,650 dhe të shohim se çfarë saktësisht bën që përkthehet në ekzistencë programimit iOS. 233 00:14:30,650 --> 00:14:36,500 Pra, në iOS programimin e çdo të vetme klasë do të zbatohet në dy fotografi. 234 00:14:36,500 --> 00:14:41,420 Një skedë është këtu, që quhet interface. 235 00:14:41,420 --> 00:14:45,300 Një tjetër skedë është këtu, që quhet zbatimin. 236 00:14:45,300 --> 00:14:48,890 >> Në mënyrë tipike ndërfaqe do të ketë extension.h 237 00:14:48,890 --> 00:14:51,740 siç e kemi parë në biblioteka C. 238 00:14:51,740 --> 00:14:56,340 Dhe skedë zbatimi është do të ketë extension.n. 239 00:14:56,340 --> 00:14:57,260 Kjo është lloj i pazakontë. 240 00:14:57,260 --> 00:15:01,270 Por .n do të thotë në të vërtetë .C, nuk ka asnjë Dallimi themelor në mes të atyre 241 00:15:01,270 --> 00:15:02,100 dy. 242 00:15:02,100 --> 00:15:06,650 Pra në këtë rast, ne mund të shohim se ne jemi duke deklaruar ndërfaqe, Cat: objekt. 243 00:15:06,650 --> 00:15:10,660 244 00:15:10,660 --> 00:15:13,760 Që quhet trashëgimi. 245 00:15:13,760 --> 00:15:19,170 Ne jemi në thelb trashëguar klasë mace nga klasa e objektit. 246 00:15:19,170 --> 00:15:24,790 Kështu që çdo pronë dhe metodë që ishte përcaktuar më parë në klasën e objektit 247 00:15:24,790 --> 00:15:28,560 do të përcaktohet automatikisht në një klasë mace si. 248 00:15:28,560 --> 00:15:35,900 >> Përveç kësaj, ne define ngjyra, race, dhe mosha, tre variabla. 249 00:15:35,900 --> 00:15:39,360 Që në të vërtetë duket si diçka që keni bërë më parë. 250 00:15:39,360 --> 00:15:41,770 Ajo duket si struct. 251 00:15:41,770 --> 00:15:44,950 Kjo është në thelb sintaksë për deklarimin struct, 252 00:15:44,950 --> 00:15:47,710 dhe që është tërësisht e saktë. 253 00:15:47,710 --> 00:15:51,825 Dhe që e përmenda më parë, Dallimi një struct 254 00:15:51,825 --> 00:15:53,960 dhe një objekt, një nga Dallimet themelore 255 00:15:53,960 --> 00:15:59,080 është se një objekt ka metodë, ndërsa një struct ka vetëm variablave. 256 00:15:59,080 --> 00:16:03,450 Pra, përveç pronave ose Ndryshoret ne kemi krijuar për objektin, 257 00:16:03,450 --> 00:16:05,700 ne të specifikojë ndonjë metodë. 258 00:16:05,700 --> 00:16:09,720 >> Le të thonë se vetëm këtu ne kemi dy metoda, një është meow, 259 00:16:09,720 --> 00:16:12,460 një tjetër është miu ndjekje. 260 00:16:12,460 --> 00:16:18,600 Ne ndoshta duan të jenë duke kaluar një parametër i bazuar në metodën tonë të mëparshëm 261 00:16:18,600 --> 00:16:20,440 model deklaratë. 262 00:16:20,440 --> 00:16:22,160 Ju ndoshta dëshironi që të jetë duke kaluar një mouse. 263 00:16:22,160 --> 00:16:25,180 Dhe ju ndoshta do të doni për t'u kthyer një të ditur bool 264 00:16:25,180 --> 00:16:30,010 në qoftë se cat juaj ka sukses kapur miun apo jo. 265 00:16:30,010 --> 00:16:33,170 >> Kjo është interface, por ne mund të shoh se ndërfaqe të vërtetë 266 00:16:33,170 --> 00:16:35,150 nuk bëjë asgjë. 267 00:16:35,150 --> 00:16:40,800 Ajo vetëm tregon një program çfarë exists-- çfarë ekziston në klasë cat. 268 00:16:40,800 --> 00:16:43,640 Pra, në mënyrë për program për të bërë diçka, 269 00:16:43,640 --> 00:16:46,680 ne duhet të kemi fotografi të zbatimit. 270 00:16:46,680 --> 00:16:51,940 Pra këtu, gjëja e parë që ne bëjmë është natyrisht ne import interface. 271 00:16:51,940 --> 00:16:56,470 Pasi ne import interface, ne define metodën. 272 00:16:56,470 --> 00:17:00,150 >> Le të thonë se vetëm këtu meow vetëm do të shtypura nga 273 00:17:00,150 --> 00:17:01,740 "Hello World!" në tastierë. 274 00:17:01,740 --> 00:17:04,319 275 00:17:04,319 --> 00:17:08,460 Dhe pas zbatimit file, ne jemi shumë e shumë të bërë. 276 00:17:08,460 --> 00:17:14,530 Kjo është në thelb një klasë Deklarata për një klasë. 277 00:17:14,530 --> 00:17:19,970 Pra, tani pyetja bëhet, si mund të deklarojë një ndryshore? 278 00:17:19,970 --> 00:17:26,880 Mënyrë që ju përdorni një klasë për të krijuar një objekt në Objektivin C është shkruar këtu. 279 00:17:26,880 --> 00:17:30,730 >> Ju së pari të përcaktojë se kjo është një akrep mace, 280 00:17:30,730 --> 00:17:38,700 sepse çdo objekt në Objektivi C në fund është zbatuar si një tregues. 281 00:17:38,700 --> 00:17:46,210 Dhe ju e quani të klasës, i thirrët ata si alloc, e cila është në thelb e malloc, 282 00:17:46,210 --> 00:17:51,220 duke u thënë të sistemit operativ që ju nevojë për një hapësirë ​​e kujtesës për këtë objekt. 283 00:17:51,220 --> 00:17:55,780 Pasi që ju të keni një objekt tashmë dhe ju vetëm të nisja atë. 284 00:17:55,780 --> 00:17:56,780 Kjo është vetëm konventë. 285 00:17:56,780 --> 00:17:59,390 286 00:17:59,390 --> 00:18:04,410 Unë e di se është është pak i çuditshëm, por kjo është në të vërtetë se si Apple bën gjëra. 287 00:18:04,410 --> 00:18:07,130 >> Caktimi pronat është në të vërtetë mjaft i thjeshtë. 288 00:18:07,130 --> 00:18:09,250 Kjo është shumë e ngjashme me çfarë jeni duke bërë, kur 289 00:18:09,250 --> 00:18:13,780 ju jeni caktimin e disa specifik fushë brenda struct. 290 00:18:13,780 --> 00:18:16,830 Ju thjesht duhet variablin emrin, emrin e pronës, 291 00:18:16,830 --> 00:18:20,140 dhe të caktojë një vlerë të veçantë për të. 292 00:18:20,140 --> 00:18:24,120 Dhe duke e quajtur një metodë është shumë e ngjashme. 293 00:18:24,120 --> 00:18:29,080 Duke e quajtur një metodë është në thelb ajo që unë flas për 294 00:18:29,080 --> 00:18:32,390 për thirrjen çdo metodë në Objektivin C. 295 00:18:32,390 --> 00:18:36,660 >> Ju jeni duke kaluar një objekt, në ky rast ajo do të jetë e myCat, 296 00:18:36,660 --> 00:18:42,490 dhe ju jeni duke kaluar emrin metodë. 297 00:18:42,490 --> 00:18:47,130 Ndërsa në qoftë se ju jeni duke folur për objektin, myCat, që ju duhet të mjaullin. 298 00:18:47,130 --> 00:18:48,570 Është mjaft interesante. 299 00:18:48,570 --> 00:18:52,010 300 00:18:52,010 --> 00:18:55,680 Pas kësaj, nuk është një model më thelbësore të projektimit 301 00:18:55,680 --> 00:18:59,940 se ne duhet të flasim për para se të bëhet në kodin aktual S. 302 00:18:59,940 --> 00:19:03,300 Kjo model dizajn është quajtur ngjarje nxitur programimin. 303 00:19:03,300 --> 00:19:09,660 Kjo është gjithashtu ndoshta një nga më të Idetë themelore në programimin IOS. 304 00:19:09,660 --> 00:19:14,410 >> Pra, ju ndoshta nuk e dini se çfarë saktësisht është programimi ngjarje të shtyrë, 305 00:19:14,410 --> 00:19:16,990 por kjo nuk është e vërtetë se frikshme. 306 00:19:16,990 --> 00:19:20,400 E pra në fakt, ju keni bërë tashmë që më parë. 307 00:19:20,400 --> 00:19:24,894 Kjo është një nga linjat që ju keni ndoshta tashmë i shkruar në fundit [e padëgjueshme] 308 00:19:24,894 --> 00:19:26,810 i CS50, google.maps.event.addListener (shënues, 309 00:19:26,810 --> 00:19:27,810 "Click", funksion () {}) :. 310 00:19:27,810 --> 00:19:32,410 311 00:19:32,410 --> 00:19:37,620 Duke e quajtur këtë linjë ju jeni në thelb duke u thënë kompjuterin 312 00:19:37,620 --> 00:19:42,650 se sa herë që ngjarje të quajtur "Click" ndodh në shënues, 313 00:19:42,650 --> 00:19:43,630 përdorni këtë funksion. 314 00:19:43,630 --> 00:19:46,910 315 00:19:46,910 --> 00:19:50,950 >> Kjo është shumë e ndryshme nga ajo që ju bëni në mario.c. 316 00:19:50,950 --> 00:19:56,670 Në mario.c ju vetëm të drejtuar programin dikur, kjo ju jep një prodhim, 317 00:19:56,670 --> 00:19:58,590 dhe ju jeni bërë. 318 00:19:58,590 --> 00:20:02,590 Këto janë lloj si një Programet e shtënë. 319 00:20:02,590 --> 00:20:05,830 Programet ngjarje të shtyrë janë shumë, shumë të ndryshme. 320 00:20:05,830 --> 00:20:10,230 Le të imagjinojmë, nëse Facebook është një e program shtënë se nuk është me të vërtetë mirë. 321 00:20:10,230 --> 00:20:13,750 Ju thjesht shkoni në Facebook një herë dhe kjo është bërë. 322 00:20:13,750 --> 00:20:16,700 Kjo ju jep një output dhe ju kurrë nuk e mori atë përsëri. 323 00:20:16,700 --> 00:20:19,380 Ju kurrë nuk mori ndonjë gjë më shumë. 324 00:20:19,380 --> 00:20:23,880 >> Pra këtu, veçanërisht model që ne përdorim është 325 00:20:23,880 --> 00:20:26,940 ngjarje shtyrë, kështu që çdo funksion do të 326 00:20:26,940 --> 00:20:31,480 të kapen bazuar në atë Ngjarja ka ndodhur. 327 00:20:31,480 --> 00:20:34,670 Për shembull, në qoftë se ne kemi një buton dhe ne të specifikojë 328 00:20:34,670 --> 00:20:39,870 se sa herë që klikohet butoni, telefononi funksionin e quajtur "Hello World!" 329 00:20:39,870 --> 00:20:47,810 Në këtë mënyrë ne mund të vërtetë menaxhuar logjikën funksion 330 00:20:47,810 --> 00:20:50,560 rrjedhin në një mënyrë shumë fleksibël. 331 00:20:50,560 --> 00:20:55,840 Ky përdorues mund të bëjë ose telefononi një funksion që tashmë është quajtur. 332 00:20:55,840 --> 00:20:59,900 Është e bazuar tërësisht në atë që përdoruesit të bëni. 333 00:20:59,900 --> 00:21:04,080 >> Pra, ne mund të shohim se kjo është në të vërtetë shumë më mirë se mario.c. 334 00:21:04,080 --> 00:21:07,190 Dhe lajm i mirë është se është e në të vërtetë nuk është një koncept i ri. 335 00:21:07,190 --> 00:21:12,140 Ju djema keni bërë tashmë se në problemin e fundit të vendosur. 336 00:21:12,140 --> 00:21:16,640 Pra, në Objektivin C ka tre diagrame të ndryshme 337 00:21:16,640 --> 00:21:19,030 për ngjarje nxitur programimin. 338 00:21:19,030 --> 00:21:21,970 Diagrami i parë është i quajtur veprim objektiv, 339 00:21:21,970 --> 00:21:26,990 ku ju lidhin një buton shtyp me disa funksion. 340 00:21:26,990 --> 00:21:31,590 Le të them vetëm, sa herë që ju të klikoni disa buton, ju telefononi disa funksion. 341 00:21:31,590 --> 00:21:33,620 Ky është veprim shumë i thjeshtë objektiv. 342 00:21:33,620 --> 00:21:35,580 >> E dyta është në të vërtetë një më e vështirë, 343 00:21:35,580 --> 00:21:38,450 është quajtur delegacion në protokoll. 344 00:21:38,450 --> 00:21:41,800 Ne jemi duke shkuar për të shpjeguar që në hollësi të madhe më vonë. 345 00:21:41,800 --> 00:21:44,420 Dhe mënyra e tretë është njoftimi. 346 00:21:44,420 --> 00:21:46,770 Kjo në të vërtetë nuk është shumë e rëndësishme sa larg 347 00:21:46,770 --> 00:21:50,920 si ne jemi të shqetësuar, sepse shans se ju jeni do të përdorin njoftimin 348 00:21:50,920 --> 00:21:53,310 në projektin tuaj përfundimtar është shumë e ulët. 349 00:21:53,310 --> 00:21:56,440 Pra, ne jemi duke shkuar për të kaloni atë pjesë. 350 00:21:56,440 --> 00:21:59,460 >> Dhe ne jemi duke shkuar për të zhyten në delegacionin në protokoll. 351 00:21:59,460 --> 00:22:02,380 352 00:22:02,380 --> 00:22:04,470 Pra, çfarë saktësisht është një protokoll? 353 00:22:04,470 --> 00:22:06,450 Apo çfarë është saktësisht një delegacion? 354 00:22:06,450 --> 00:22:09,670 Le të flasim për protokollin për të filluar me. 355 00:22:09,670 --> 00:22:13,360 Protokollet janë asgjë, por ngjarjet. 356 00:22:13,360 --> 00:22:19,230 Por këto ngjarje janë dhënë për ju nga Apple për të filluar me. 357 00:22:19,230 --> 00:22:22,640 Për shembull, unë nuk jam plotësisht i sigurt se si shumë prej jush 358 00:22:22,640 --> 00:22:27,930 djema përdorni origjinal Apple app mail ose kontakt, 359 00:22:27,930 --> 00:22:32,180 por çdo herë që shkoni tryezë dhe shtypni qeliza specifike 360 00:22:32,180 --> 00:22:36,130 në tabelën, që është një ngjarje. 361 00:22:36,130 --> 00:22:38,330 >> Dhe në qoftë se ju doni të bëni që ngjarje me veten, 362 00:22:38,330 --> 00:22:40,410 kjo është në fakt një pak më të vështirë. 363 00:22:40,410 --> 00:22:44,880 Pra, Apple ka dhënë se edhe për ju kështu që ju mund të përdorni vetëm drejtpërdrejt 364 00:22:44,880 --> 00:22:49,610 ngjarje për të bërë diçka në tuaj. 365 00:22:49,610 --> 00:22:52,980 Protokollet janë në të vërtetë vërtetë, të vërtetë e përdorur gjerësisht 366 00:22:52,980 --> 00:22:58,320 në Objektivin C. pra në fakt, çdo app të vetme 367 00:22:58,320 --> 00:23:00,870 ka diçka kapur app delegat. 368 00:23:00,870 --> 00:23:06,330 Brenda e delikat është e gjitha e protokollet për ngarkimin app. 369 00:23:06,330 --> 00:23:12,470 >> Le të them vetëm se ka një ngjarje për app e bëri ngarkesën. 370 00:23:12,470 --> 00:23:18,200 Pra, çfarë duhet të ndodhë pasi ju keni krijuar një app, pasi të keni hapur app, 371 00:23:18,200 --> 00:23:22,630 pasi ju mbyllni aplikacionin, ose pas ju vënë iPhone për të fjetur. 372 00:23:22,630 --> 00:23:27,480 Këto janë të gjitha ngjarjet që i ka tashmë është dhënë për ju. 373 00:23:27,480 --> 00:23:34,730 Dhe fillimisht brenda këtyre grimcave nuk do të ketë zbatim. 374 00:23:34,730 --> 00:23:39,750 Apple tha ju vetëm se këtë funksion do të ndodhë kur disa ngjarje të ndodhë, 375 00:23:39,750 --> 00:23:44,380 por ajo që ju bëni me atë funksion është plotësisht deri në ju. 376 00:23:44,380 --> 00:23:49,290 >> Delegimi është në thelb thënë të klasës 377 00:23:49,290 --> 00:23:53,060 që ju duhet të merren me këto protokolle. 378 00:23:53,060 --> 00:23:55,340 Është pak konfuze, por ajo do të jetë e 379 00:23:55,340 --> 00:23:59,380 shumë më e qartë kur kemi të bëjmë kodet s në veprim. 380 00:23:59,380 --> 00:24:04,760 Delegacioni në protokoll është në fakt një mekanizëm shumë të fuqishëm në kuptimin 381 00:24:04,760 --> 00:24:08,160 se në qoftë se ne bëjmë delegacion në një klasë të veçantë, 382 00:24:08,160 --> 00:24:12,400 ne në thelb mund të trajtojë të gjitha llojet e ngjarjeve 383 00:24:12,400 --> 00:24:17,040 duke përdorur çdo klasë që kemi, mjet shumë i përshtatshëm. 384 00:24:17,040 --> 00:24:21,530 >> Kështu një shembull të shpejtë për Delegacioni në protokoll 385 00:24:21,530 --> 00:24:24,120 do të jetë ajo që unë vetëm biseduar rreth. 386 00:24:24,120 --> 00:24:26,720 387 00:24:26,720 --> 00:24:30,890 Ky protokoll në mënyrë specifike është quajtur tableview [e padëgjueshme] përzgjedh rol 388 00:24:30,890 --> 00:24:35,480 në [? Indeksi?] [? e kaluara. ?] Pra kjo një ngjarje që do të kapet kur ju 389 00:24:35,480 --> 00:24:39,710 në të vërtetë trokitje e lehtë në një specifik qelizë në tableview tuaj, 390 00:24:39,710 --> 00:24:43,570 le të thonë se vetëm në postën tuaj ose në kontaktet app tuaj. 391 00:24:43,570 --> 00:24:48,180 >> Brenda një funksion ka pasur fillimisht duke bërë asgjë. 392 00:24:48,180 --> 00:24:51,950 Funksioni nuk ka të bëjë asgjë by default. 393 00:24:51,950 --> 00:24:55,540 Por ju mund të specifikoni çfarë funksioni ka, 394 00:24:55,540 --> 00:24:59,610 dhënë atë që ju doni nga app tuaj. 395 00:24:59,610 --> 00:25:01,610 Mjet shumë i përshtatshëm. 396 00:25:01,610 --> 00:25:06,840 Dhe me të gjithë atë u tha, unë në thelb 397 00:25:06,840 --> 00:25:11,430 mbulojnë disa sintaksë shumë themelore dhe Koncepti themelor për Objektivin C 398 00:25:11,430 --> 00:25:15,860 programimi, dhe ne mund të bëjmë disa kodin s. 399 00:25:15,860 --> 00:25:17,980 Shumë më tepër emocionuese. 400 00:25:17,980 --> 00:25:21,070 Pra code s është në fakt një pak pak e madhe 401 00:25:21,070 --> 00:25:23,330 kur ju të hapur atë për herë të parë. 402 00:25:23,330 --> 00:25:26,640 >> Një shënim të shpejtë, kështu që nëse ju dua të bëj zhvillimin IOS, 403 00:25:26,640 --> 00:25:29,630 Unë rekomandoj që ju keni një Mac. 404 00:25:29,630 --> 00:25:33,930 Sepse duke bërë zhvillimin IOS në Windows është me të vërtetë, të vërtetë e vështirë. 405 00:25:33,930 --> 00:25:37,560 Kjo është që mund të bëhet, por është e vërtetë e vështirë. 406 00:25:37,560 --> 00:25:40,610 Dhe ju patjetër të bëni nuk duan të përdorin g edit. 407 00:25:40,610 --> 00:25:47,950 Pra, në kodin s ne kemi disa fusha të ndryshme. 408 00:25:47,950 --> 00:25:53,050 Kur ju së pari të hapur s code ju do të shihni një zonë navigacion, 409 00:25:53,050 --> 00:25:57,470 e cila në thelb tregon ju të gjithë fotografi që është në projektin tuaj të tanishme. 410 00:25:57,470 --> 00:26:03,590 >> Ju keni një zonë të toolbarit, e cila është në thelb menaxhimin pikëpamjet, 411 00:26:03,590 --> 00:26:08,570 ose disa pak i shpejtë Mjetet rreth s kodin e vetë. 412 00:26:08,570 --> 00:26:11,140 Dhe kjo është zona aktuale redaktor. 413 00:26:11,140 --> 00:26:15,900 Kjo zonë është shumë e ngjashme g edit, por shumë më mirë se g edit. 414 00:26:15,900 --> 00:26:21,150 Dhe në këtë fushë e duhur, është e i quajtur zonë utility. 415 00:26:21,150 --> 00:26:27,170 Zonë bëhet me të vërtetë i dobishëm kur ju jeni duke krijuar ndërfaqe ose duke specifikuar 416 00:26:27,170 --> 00:26:30,070 disa struktura të shpejtë për app tuaj. 417 00:26:30,070 --> 00:26:34,570 >> Dhe zona e fundit është debugging. 418 00:26:34,570 --> 00:26:37,970 Kjo zonë përmban konsol. 419 00:26:37,970 --> 00:26:43,170 Pra, sa herë që ju them printf, ose nslog në rastin tonë, 420 00:26:43,170 --> 00:26:47,330 të gjitha rezultatet tuaja janë do të jenë të shtypura këtu. 421 00:26:47,330 --> 00:26:48,260 Të gjithë të drejtë? 422 00:26:48,260 --> 00:26:52,090 Unë mendoj ne mund të vërtetë të shpejt të bëjë një shembull për programimin IOS. 423 00:26:52,090 --> 00:26:54,220 Dhe le të vërtetë të hapur deri s kod. 424 00:26:54,220 --> 00:26:57,210 425 00:26:57,210 --> 00:27:01,346 Kështu që çdo herë që të hapë deri s kod, është e duke shkuar për të treguar deri diçka të tillë. 426 00:27:01,346 --> 00:27:03,220 Kjo do të ju pyes çfarë ju doni të bëni? 427 00:27:03,220 --> 00:27:06,830 A doni të filloni diçka të rastit, një shesh lojërash, në thelb ju 428 00:27:06,830 --> 00:27:11,250 vetëm mund të testuar kodin pa në fakt të kryer për çdo app. 429 00:27:11,250 --> 00:27:13,020 >> A doni për të krijuar një projekt të ri? 430 00:27:13,020 --> 00:27:16,660 Apo nuk ju duan të vazhdojnë duke punuar në projektin ekzistues? 431 00:27:16,660 --> 00:27:20,270 Në rastin tonë, ne jemi duke shkuar për të krijuar një projekt të ri. 432 00:27:20,270 --> 00:27:22,980 Pra, kjo është vërtetë e bukur, s Kodi fakt ka tashmë 433 00:27:22,980 --> 00:27:26,820 ju dhënë disa templates për krijimin e objekteve. 434 00:27:26,820 --> 00:27:32,680 Nëse ju doni të bëni një lojë, s kodin në të vërtetë ka një template lojë për ju, 435 00:27:32,680 --> 00:27:36,890 ka faqe të bazuar aplikacione, tab aplikim i bazuar. 436 00:27:36,890 --> 00:27:39,280 Në këtë rast, ne jemi duke shkuar për të bërë diçka shumë të thjeshtë, 437 00:27:39,280 --> 00:27:43,230 dhe ne jemi duke shkuar për të përdorur një Aplikimi i vetëm pamje. 438 00:27:43,230 --> 00:27:48,270 >> Pas kësaj vetëm atë që ju doni të telefononi produktin tuaj, dhe si e ke emrin, 439 00:27:48,270 --> 00:27:52,760 çfarë është identifikues tuaj, dhe çfarë gjuhe ju përdorni. 440 00:27:52,760 --> 00:27:57,060 Këtu ne nuk duam të kontrolloni duke përdorur të dhënave Core. 441 00:27:57,060 --> 00:28:00,170 Data Core është në thelb një databasing iOS. 442 00:28:00,170 --> 00:28:05,360 Nëse ju bëni Data Core, s Kodi do të përcaktojë 443 00:28:05,360 --> 00:28:07,710 një shumë klasa më e komplikuar për ju. 444 00:28:07,710 --> 00:28:12,740 Pra, për të mbajtur gjithçka të thjeshtë, ne jemi vetëm do të bëjë pa të Dhënave Core 445 00:28:12,740 --> 00:28:15,290 e drejtë tani. 446 00:28:15,290 --> 00:28:18,030 >> Problemi ne do të jenë të duke përdorur është that-- problemit 447 00:28:18,030 --> 00:28:23,770 ne jemi duke shkuar për të krijuar është se ne në thelb duan të importit Mario nga C 448 00:28:23,770 --> 00:28:25,437 në një app IOS. 449 00:28:25,437 --> 00:28:26,645 Pra, le të thërrasë se Mario-IOS. 450 00:28:26,645 --> 00:28:31,230 451 00:28:31,230 --> 00:28:34,880 Sigurisht ju të specifikojë se çfarë ju duan të vënë në projektin tuaj. 452 00:28:34,880 --> 00:28:37,870 Dhe atje ne do të shkojmë. 453 00:28:37,870 --> 00:28:41,390 >> Pra, kjo është pak e madhe, por kjo është në të vërtetë 454 00:28:41,390 --> 00:28:43,540 ajo që ne vetëm e pa në slides. 455 00:28:43,540 --> 00:28:49,710 Dhe zona e parë që ne shohim tani është në thelb konfigurimit projekt. 456 00:28:49,710 --> 00:28:53,390 Pra, çdo gjë që ju doni të bëni projekt, çfarë lloj i pajisjes, 457 00:28:53,390 --> 00:28:58,810 le të them vetëm se çfarë lloj të pajisjes nuk ju duan app tuaj për të dalë në? 458 00:28:58,810 --> 00:29:01,280 A është iPhone, iPad apo universal? 459 00:29:01,280 --> 00:29:04,660 Kështu orientimin e pajisjes, të gjitha stuff këtë. 460 00:29:04,660 --> 00:29:08,490 Jo shumë e rëndësishme, por mund të jetë, por kjo 461 00:29:08,490 --> 00:29:11,050 është një vend ku ju të ngritur projekti juaj në qoftë se ju në të vërtetë 462 00:29:11,050 --> 00:29:15,180 duan për të vendosur në dyqan Apple. 463 00:29:15,180 --> 00:29:20,420 >> Në rregull, le të shohim në diçka që është brenda kodit tonë. 464 00:29:20,420 --> 00:29:22,360 Le të shkojnë nëpër file navigator. 465 00:29:22,360 --> 00:29:30,140 Dhe këto janë të gjitha dosjet që tashmë erdhi me template, shumë e bukur. 466 00:29:30,140 --> 00:29:35,980 Pra, kur ne të klikoni një prej tyre kjo është ajo që duket si. 467 00:29:35,980 --> 00:29:38,530 Shumë i ngjashëm me g edit. 468 00:29:38,530 --> 00:29:41,340 Por ju mund të shihni se theksim i sintaksës është ndoshta 469 00:29:41,340 --> 00:29:42,780 pak nicer. 470 00:29:42,780 --> 00:29:45,610 Dhe kjo është në fakt shumë më shumë fuqishme se g redaktimi. 471 00:29:45,610 --> 00:29:49,970 Dhe ju mund të plotë auto shumë gjëra për ju, 472 00:29:49,970 --> 00:29:52,370 siç do të shohim shumë shpejt. 473 00:29:52,370 --> 00:29:54,100 >> Le të hapë zonën debug si. 474 00:29:54,100 --> 00:30:02,790 475 00:30:02,790 --> 00:30:07,000 Në rregull, si ne mund të shohim, tastierë është e drejtë këtu. 476 00:30:07,000 --> 00:30:13,840 Kjo është ajo që ju jeni duke shkuar për të parë se ku ju jeni në printf ose nsloging diçka. 477 00:30:13,840 --> 00:30:17,155 Pra, pa zhurmë më tej, le të vërtetë përpilojnë app dhe shikoni se çfarë ndodh. 478 00:30:17,155 --> 00:30:20,000 479 00:30:20,000 --> 00:30:23,410 Një tipar thelbësor për Kodi s, është se kodi s 480 00:30:23,410 --> 00:30:25,850 vjen me një imitues iPhone. 481 00:30:25,850 --> 00:30:29,820 Pra, ju nuk keni nevojë që të ketë një iPhone për të provoni projektin tuaj, 482 00:30:29,820 --> 00:30:34,440 Kodi s mund të simulojnë se për ju, si ne mund të shohim tani. 483 00:30:34,440 --> 00:30:36,406 >> Është shumë e bukur. 484 00:30:36,406 --> 00:30:38,640 Ajo është duke marrë pak bit e kohës për të përpiluar 485 00:30:38,640 --> 00:30:43,040 dhe në thelb ne kemi një aplikim bosh, 486 00:30:43,040 --> 00:30:44,640 e cila në fakt nuk bën asgjë. 487 00:30:44,640 --> 00:30:46,175 Por ajo harton. 488 00:30:46,175 --> 00:30:47,380 Është shumë e awesome. 489 00:30:47,380 --> 00:30:50,200 Është shumë më mirë se C, Huh? 490 00:30:50,200 --> 00:30:52,130 Në rregull, atëherë le të të përpiqet për të shtuar diçka. 491 00:30:52,130 --> 00:30:56,050 492 00:30:56,050 --> 00:31:02,650 Një fotografi që është pak i pazakontë këtu quhet storyboard. 493 00:31:02,650 --> 00:31:08,020 Kjo është në të vërtetë një i madh, tipar awesome për kodin s. 494 00:31:08,020 --> 00:31:14,170 Sepse në kodin s, ju mund të vërtetë zvarrit dhe elemente të bjerë mbi ndërfaqen 495 00:31:14,170 --> 00:31:17,430 dhe ajo do të tregojë drejtpërdrejt lart. 496 00:31:17,430 --> 00:31:18,055 Le të provoni këtë. 497 00:31:18,055 --> 00:31:21,230 498 00:31:21,230 --> 00:31:27,236 >> Ne bjerë një emërtim këtu, "Hello World !!!" 499 00:31:27,236 --> 00:31:29,740 Ne mund të qendrës se. 500 00:31:29,740 --> 00:31:30,970 Pretty cool. 501 00:31:30,970 --> 00:31:33,915 Tani le të drejtuar këtë ndalesë simulim. 502 00:31:33,915 --> 00:31:36,940 503 00:31:36,940 --> 00:31:38,700 Këtu kemi "Hello World !!!" 504 00:31:38,700 --> 00:31:40,810 Ne as nuk e bëni ndonjë kodim ende. 505 00:31:40,810 --> 00:31:42,750 Çfarë dreq po ndodh? 506 00:31:42,750 --> 00:31:45,880 Kjo është se si i fuqishëm Interface Builder mund të jetë. 507 00:31:45,880 --> 00:31:48,030 Dikush ka thënë madje se ndoshta ju mund vetëm 508 00:31:48,030 --> 00:31:52,800 të përfunduar një app pa shkrim ndoshta një mijë rreshta të kodit 509 00:31:52,800 --> 00:31:54,820 vetëm duke përdorur Interface Builder. 510 00:31:54,820 --> 00:31:59,680 Por kjo ndoshta nuk është e mënyra më e mirë për të bërë atë. 511 00:31:59,680 --> 00:32:01,670 >> Tani le të vërtetë të marrë poshtë për kodim. 512 00:32:01,670 --> 00:32:04,860 513 00:32:04,860 --> 00:32:08,330 Pra strukturës për file është në të vërtetë me të vërtetë interesante 514 00:32:08,330 --> 00:32:15,610 sepse, si ju mund të shihni, atje ka funksion kryesor kudo. 515 00:32:15,610 --> 00:32:17,466 Shih? 516 00:32:17,466 --> 00:32:19,340 Siç e kemi përmendur më parë, ju mund të shihni se kjo 517 00:32:19,340 --> 00:32:22,830 është një skedar zbatim për një klasë të caktuar. 518 00:32:22,830 --> 00:32:25,690 Por nuk ka kudo kryesor. 519 00:32:25,690 --> 00:32:27,490 Pra, ku është kryesor? 520 00:32:27,490 --> 00:32:31,970 Në të vërtetë, nuk është një kryesor, por kryesor në të vërtetë është e fshehur nga ju. 521 00:32:31,970 --> 00:32:34,560 Kryesor është këtu. 522 00:32:34,560 --> 00:32:37,120 Kjo duket e njohur. 523 00:32:37,120 --> 00:32:41,000 >> Pra, në thelb ajo që iOS është duke bërë brenda kryesor 524 00:32:41,000 --> 00:32:43,540 është se sa herë kryesor është quajtur, e cila është në thelb 525 00:32:43,540 --> 00:32:49,000 sa herë app është ekzekutuar, atë krijon një objekt të quajtur AppDelegate. 526 00:32:49,000 --> 00:32:52,980 527 00:32:52,980 --> 00:32:57,350 Siç e përmenda më parë, e gjithë app është në fakt një objekt në vetvete. 528 00:32:57,350 --> 00:33:02,270 Pra, në këtë mënyrë, në thelb iOS app është e thënë të përpiluesit 529 00:33:02,270 --> 00:33:05,540 se OK, unë jam duke shkuar për të krijuar një produkt i quajtur AppDelegate, 530 00:33:05,540 --> 00:33:07,620 dhe që do të jetë app im. 531 00:33:07,620 --> 00:33:09,640 Kështu që ju duhet të shkoni nëpër atë AppDelegate 532 00:33:09,640 --> 00:33:12,040 dhe të shohim se çfarë e bën atë djalë. 533 00:33:12,040 --> 00:33:14,850 Puna ime është bërë për mua. 534 00:33:14,850 --> 00:33:22,070 >> Dhe në AppDelegate ju mund të shihni se ka disa funksione të vërtetë të pazakontë, 535 00:33:22,070 --> 00:33:25,290 mirë në të vërtetë metodat, që Apple ju ka dhënë tashmë. 536 00:33:25,290 --> 00:33:27,464 Cilat janë këto? 537 00:33:27,464 --> 00:33:31,010 Këto janë në fakt vetëm protokolle që unë isha duke folur rreth. 538 00:33:31,010 --> 00:33:35,670 Pra, këto janë ngjarje që Apple ju ka dhënë për të filluar me. 539 00:33:35,670 --> 00:33:38,050 Nuk ka asgjë në disa nga funksionet e drejtë tani, 540 00:33:38,050 --> 00:33:40,820 por në qoftë se ne duam të inicializoj diçka për app tonë 541 00:33:40,820 --> 00:33:46,140 para se të bëhet në ekspozoheshin çdo pikëpamje, ne bëjmë që këtu. 542 00:33:46,140 --> 00:33:51,150 >> Ju mund të lexoni vetëm emrin dhe unë mendoj Ngjarja është në të vërtetë me të vërtetë i qartë. 543 00:33:51,150 --> 00:33:54,160 544 00:33:54,160 --> 00:33:58,350 Pra tani kryesor ka krijuar një objekt për AppDelegate. 545 00:33:58,350 --> 00:34:05,220 Dhe çfarë AppDelegate do të bëjë është në të vërtetë i fshehur edhe nga ju. 546 00:34:05,220 --> 00:34:09,250 AppDelegate do të fillojë ngarkimit të aksioneve ViewController. 547 00:34:09,250 --> 00:34:13,170 Pra, kjo është në thelb do të fillojë ngarkimit deri të gjitha pikëpamjet që ju keni 548 00:34:13,170 --> 00:34:17,500 dhe vetëm bëjnë pamjen në bazë të hierarkisë. 549 00:34:17,500 --> 00:34:21,280 >> Pra në këtë rast ne kemi vetëm një pikëpamje, e cila është këtu. 550 00:34:21,280 --> 00:34:25,060 Kështu që është e vetmja pamje që do të quhet. 551 00:34:25,060 --> 00:34:28,159 Logjika ViewController është e drejtë këtu. 552 00:34:28,159 --> 00:34:32,159 Ky është kodi që në të vërtetë kontrollon pamje ne sapo e pa. 553 00:34:32,159 --> 00:34:33,679 Në rregull, le të bëjmë diçka këtu. 554 00:34:33,679 --> 00:34:44,030 555 00:34:44,030 --> 00:34:50,560 Pra viewDidLoad tingëllon si një ngjarje, kur në fakt ky është edhe një delegat, 556 00:34:50,560 --> 00:34:52,500 kjo është gjithashtu një protokoll. 557 00:34:52,500 --> 00:34:56,350 >> Pra, çfarëdo mendimi është i ngarkuar, çdo gjë brenda funksionit 558 00:34:56,350 --> 00:34:57,920 do të quhet. 559 00:34:57,920 --> 00:35:02,840 Në këtë rast ne duhet të shohim "Hello Tianyu! "Në qoftë se ne të drejtuar programin. 560 00:35:02,840 --> 00:35:09,820 561 00:35:09,820 --> 00:35:12,842 Është duke u pak i ngadalshëm hartimin fotografi storyboard. 562 00:35:12,842 --> 00:35:15,440 563 00:35:15,440 --> 00:35:18,190 E pra me të vërtetë, ne e shohim një prodhim për të. 564 00:35:18,190 --> 00:35:20,720 Kjo është pretty cool. 565 00:35:20,720 --> 00:35:22,000 Tani le të bëjë në fakt Mario. 566 00:35:22,000 --> 00:35:25,400 567 00:35:25,400 --> 00:35:27,625 Unë jam duke shkuar për të përcaktuar funksionojë shumë shpejt. 568 00:35:27,625 --> 00:35:31,510 569 00:35:31,510 --> 00:35:54,245 marioWithLevels: rezultatet (int) të nivelit. 570 00:35:54,245 --> 00:36:01,120 571 00:36:01,120 --> 00:36:06,410 >> Në rregull, kjo është në të vërtetë i tmerrshëm tipar i përfundimit auto kodin s. 572 00:36:06,410 --> 00:36:10,680 Pra, kur ju shkruani për të dhe shkruani hyjë, ajo i ka dhënë tashmë template 573 00:36:10,680 --> 00:36:12,325 për ju, e cila është pretty cool. 574 00:36:12,325 --> 00:36:50,480 575 00:36:50,480 --> 00:36:52,850 Që duhet të duken të vërtetë të të njohura për ju djema. 576 00:36:52,850 --> 00:36:55,940 577 00:36:55,940 --> 00:36:59,680 Na vjen keq, kjo është faji im. 578 00:36:59,680 --> 00:37:15,790 579 00:37:15,790 --> 00:37:18,120 Në rregull, cool. 580 00:37:18,120 --> 00:37:22,710 Kjo logjikë duhet të duket me të vërtetë të njohur për ju djema, veçanërisht vetëm Mario. 581 00:37:22,710 --> 00:37:26,140 >> Por ne tani do të shtypura jashtë për konsol çdo herë të vetme, 582 00:37:26,140 --> 00:37:29,280 sepse ne duam të mbajmë disi udhë të asaj që ne jemi shtypjen. 583 00:37:29,280 --> 00:37:31,810 Ne jemi duke shkuar për të përdorur rezulton disi më vonë, 584 00:37:31,810 --> 00:37:35,010 për të shfaqur të shtypura jashtë rezultojnë të përdoruesit. 585 00:37:35,010 --> 00:37:37,730 Pra, në vend të kësaj ne jemi vetëm nslogging çdo gjë, 586 00:37:37,730 --> 00:37:42,410 të cilat ne jemi ruajtjen gjithçka në rezultat thirrje funksion, 587 00:37:42,410 --> 00:37:44,070 por logjika është saktësisht e njëjtë. 588 00:37:44,070 --> 00:37:48,030 589 00:37:48,030 --> 00:37:51,800 Pasi kemi përfunduar atë, ne vetëm printoni rezultatet tona. 590 00:37:51,800 --> 00:37:59,330 591 00:37:59,330 --> 00:38:04,970 >> Dhe këtu në vend të shtypjes nga tim emri, ne jemi duke shkuar për të thirrur një funksion. 592 00:38:04,970 --> 00:38:15,340 593 00:38:15,340 --> 00:38:18,090 Le të shohim se çfarë ndodh. 594 00:38:18,090 --> 00:38:21,240 Oops, natyrisht. 595 00:38:21,240 --> 00:38:24,320 Ne nuk kemi një të mirë pak piramidale jashtë këtu. 596 00:38:24,320 --> 00:38:28,370 Kjo është në thelb C, ne jemi vetëm manipulimin ku ju telefononi një funksion 597 00:38:28,370 --> 00:38:30,010 dhe si e bën një funksion të duken si. 598 00:38:30,010 --> 00:38:31,560 Nuk ka asgjë tjetër. 599 00:38:31,560 --> 00:38:34,040 Por kjo është në të vërtetë jo shumë emocionuese këtu, 600 00:38:34,040 --> 00:38:37,500 sepse ne nuk jemi duke parë çdo gjë nga app iPhone. 601 00:38:37,500 --> 00:38:42,120 >> Pra, nëse ju në të vërtetë keni një iPhone app-- në qoftë se ju në të vërtetë keni të drejtë Mario IOS 602 00:38:42,120 --> 00:38:45,080 tani, ju nuk do të jeni për të parë çdo gjë që 603 00:38:45,080 --> 00:38:49,450 ka asgjë të bëjë me Mario sepse të gjitha ato rezultate në një tastierë 604 00:38:49,450 --> 00:38:51,620 janë të fshehura nga një përdorues. 605 00:38:51,620 --> 00:38:53,850 Kjo është ajo që ju shihni, cila është "Hello World !!!" 606 00:38:53,850 --> 00:38:55,720 Jo e mirë. 607 00:38:55,720 --> 00:39:03,090 Tani le të përpiqemi për të bërë përdorues të parë çfarë saktësisht ne jemi shtypjen nga. 608 00:39:03,090 --> 00:39:06,000 Pra, ne nuk kemi nevojë për emërtim më. 609 00:39:06,000 --> 00:39:09,800 Le të përpiqen dhe të kuptoj se diçka tjetër që mund të jetë i dobishëm. 610 00:39:09,800 --> 00:39:12,140 >> Nuk është në fakt një element që është quajtur 611 00:39:12,140 --> 00:39:16,460 fushë teksti, të cilat mund të të jetë shumë e dobishme për ne. 612 00:39:16,460 --> 00:39:19,880 Ajo në thelb tregon një rajon i tekstit që mund të redaktohen. 613 00:39:19,880 --> 00:39:22,320 Kështu që duket me të vërtetë të dobishme. 614 00:39:22,320 --> 00:39:23,810 Tani le të zvarrit atë dhe të heqë atë. 615 00:39:23,810 --> 00:39:26,880 616 00:39:26,880 --> 00:39:32,670 Wow, ne kemi një pamje tekst sipas mendimit tonë, të vërtetë dashuroj. 617 00:39:32,670 --> 00:39:35,430 Kjo është pak më shumë të mëdha. 618 00:39:35,430 --> 00:39:38,150 Le të bëjë atë më të vogla. 619 00:39:38,150 --> 00:39:40,290 Vënë atë në qendër. 620 00:39:40,290 --> 00:39:43,760 Bëni atë më të vogla si. 621 00:39:43,760 --> 00:39:50,110 >> Tani ne kemi një pamje të tekstit, të cilat ne mund të të përdoret për të shfaqur rezultatin final. 622 00:39:50,110 --> 00:39:52,860 Por tani është e definitivisht nuk do të punojë 623 00:39:52,860 --> 00:39:56,970 sepse nuk ka no-- ViewController ne vetëm 624 00:39:56,970 --> 00:40:03,010 përcaktuar nuk e di se ka një pamje tekst atje. 625 00:40:03,010 --> 00:40:06,550 Pra, ne duhet të disi Lidhje pikëpamjen e tekstit ne vetëm 626 00:40:06,550 --> 00:40:11,660 e krijuar me klasën që ka ardhur tashmë me ne. 627 00:40:11,660 --> 00:40:14,860 >> Mënyrë ne bëjmë që është në të vërtetë me të vërtetë magjike. 628 00:40:14,860 --> 00:40:18,190 Pra, të hapur deri storyboard. 629 00:40:18,190 --> 00:40:22,220 Nuk është një [e padëgjueshme] special i quajtur [? asistent?] [padëgjueshme]. 630 00:40:22,220 --> 00:40:25,190 Kur ju klikoni atë, është e do të hapë dy fotografi. 631 00:40:25,190 --> 00:40:29,425 Njëra është një klasë dhe një tjetër është një pikëpamje përkatëse për të. 632 00:40:29,425 --> 00:40:31,920 Është shumë, shumë e dobishme. 633 00:40:31,920 --> 00:40:35,950 Dhe le të shkon vetëm përmes file .h. 634 00:40:35,950 --> 00:40:39,110 Kontrolli, kjo është [e padëgjueshme] logjikë. 635 00:40:39,110 --> 00:40:47,280 Kontrolli Shtypni dhe terhiq pamje tekst në deklaratë. 636 00:40:47,280 --> 00:40:48,780 Ne jemi duke shkuar për të thirrur atë outputView. 637 00:40:48,780 --> 00:40:52,189 638 00:40:52,189 --> 00:40:53,670 Lidhu. 639 00:40:53,670 --> 00:40:59,420 Pra, këtu ne kemi deklaruar një i ri pronë për klasën tonë ViewController. 640 00:40:59,420 --> 00:41:02,300 Dhe pronë i ri është vetëm pikëpamje teksti 641 00:41:02,300 --> 00:41:05,000 ne kemi krijuar në ndërtesën interface. 642 00:41:05,000 --> 00:41:07,990 Pra, në këtë mënyrë ne mund të qasje të gjithë të dhënave 643 00:41:07,990 --> 00:41:13,630 dhe të manipuluar çdo gjë që është brenda pamje prodhimit, e cila është awesome. 644 00:41:13,630 --> 00:41:19,260 >> Pra, në kodin tonë aktuale, le të bëjë diçka me të. 645 00:41:19,260 --> 00:41:23,810 Pra, këtë herë, kur ne jemi si shtypje jashtë rezultatin përfundimtar për Mario, 646 00:41:23,810 --> 00:41:28,020 ne jemi në nuk prerjet asgjë. 647 00:41:28,020 --> 00:41:30,080 Unë do të thotë që ne mund të mbajë Deklarata logging. 648 00:41:30,080 --> 00:41:41,490 Përveç kësaj, ne dërgoni readout ne vetëm 649 00:41:41,490 --> 00:41:47,622 krijuar për pikëpamjen e prodhimit, e cila është një UI textview ne sapo krijuar. 650 00:41:47,622 --> 00:41:48,746 Tani le të shohim se çfarë ndodh. 651 00:41:48,746 --> 00:41:54,470 652 00:41:54,470 --> 00:41:56,620 Wow. 653 00:41:56,620 --> 00:41:59,130 Ne kemi një piramidë në app tani. 654 00:41:59,130 --> 00:42:06,720 >> Kështu që përdoruesit mund të shihni prodhimit tonë sepse ne kemi kopjuar prodhimit nga kodit tonë 655 00:42:06,720 --> 00:42:08,045 në ndërfaqe tonë. 656 00:42:08,045 --> 00:42:10,950 Kjo është shumë e mirë. 657 00:42:10,950 --> 00:42:14,990 Ajo në fakt nuk është se emocionuese sepse ne can-- 658 00:42:14,990 --> 00:42:18,250 Të gjitha app është duke bërë është duke treguar një piramidë për ju, 659 00:42:18,250 --> 00:42:20,520 dhe nuk ka asgjë që mund të bëni në lidhje me të. 660 00:42:20,520 --> 00:42:22,330 Kjo nuk është veçanërisht emocionuese. 661 00:42:22,330 --> 00:42:27,840 Pra, tani le të bëjnë një buton që do të qartë pikëpamjet. 662 00:42:27,840 --> 00:42:30,290 Duket se një buton do të jetë e dobishme. 663 00:42:30,290 --> 00:42:33,270 Drag and drop. 664 00:42:33,270 --> 00:42:33,900 Një buton. 665 00:42:33,900 --> 00:42:36,730 666 00:42:36,730 --> 00:42:37,320 Button dy. 667 00:42:37,320 --> 00:42:49,170 668 00:42:49,170 --> 00:42:52,052 >> Pra, kur ne të klikoni majtë button, pikëpamje duhet të qartë. 669 00:42:52,052 --> 00:42:53,635 Duhet të ketë asgjë në ekran. 670 00:42:53,635 --> 00:42:56,970 Dhe kur ne të klikoni button drejtë, Mario, 671 00:42:56,970 --> 00:42:59,740 pamje do të shfaqet sërish. 672 00:42:59,740 --> 00:43:05,510 Pra, në këtë mënyrë ne gjithashtu bëjmë sende magjike, kontrollin dhe terhiq 673 00:43:05,510 --> 00:43:08,740 në deklaratën e klasës në asistent director-- 674 00:43:08,740 --> 00:43:11,600 në asistent shikuesit. 675 00:43:11,600 --> 00:43:18,620 Në këtë rast kemi të specifikuar se kjo duhet të jetë një veprim. 676 00:43:18,620 --> 00:43:19,120 clearMario. 677 00:43:19,120 --> 00:43:21,650 678 00:43:21,650 --> 00:43:26,830 >> Pra, këtu ne kemi krijuar tashmë një veprim i quajtur clearMario, 679 00:43:26,830 --> 00:43:34,210 cila është metodë që do të quajtur sa herë që ne të shtypni butonin qartë. 680 00:43:34,210 --> 00:43:41,030 Pra, në fakt në kodin tonë, le të vetëm vënë tekstin e prodhimit dhe pamjen e prodhimit 681 00:43:41,030 --> 00:43:44,620 në asgjë, dhe në këtë mënyrë kjo do të duket të jetë i qartë. 682 00:43:44,620 --> 00:43:47,500 683 00:43:47,500 --> 00:43:57,230 Përveç kësaj, le të krijojnë një tjetër metodë të quajtur runMario. 684 00:43:57,230 --> 00:44:00,140 685 00:44:00,140 --> 00:44:03,436 Oh sorry, se nuk duhet të jetë një pronë. 686 00:44:03,436 --> 00:44:12,107 687 00:44:12,107 --> 00:44:13,940 Në rregull, që duhet të jetë një veprim si. 688 00:44:13,940 --> 00:44:25,780 689 00:44:25,780 --> 00:44:34,740 >> Dhe kur kjo funksion është quajtur, ne vetëm të drejtuar Mario dhjetë. 690 00:44:34,740 --> 00:44:37,620 691 00:44:37,620 --> 00:44:39,780 Shpresojmë se do të jetë mirë. 692 00:44:39,780 --> 00:44:41,120 A do të përpiloj? 693 00:44:41,120 --> 00:44:43,920 Po. 694 00:44:43,920 --> 00:44:45,090 Tani ne kemi një pamje. 695 00:44:45,090 --> 00:44:46,560 Ne kemi një prodhim. 696 00:44:46,560 --> 00:44:50,040 Dhe le të vetëm të shohim se çfarë ndodh. 697 00:44:50,040 --> 00:44:52,590 Kjo e shkuar. 698 00:44:52,590 --> 00:44:54,500 Është kthyer përsëri. 699 00:44:54,500 --> 00:44:57,620 Pra, këtu ne kemi specifikuar çfarë lloj të funksionit 700 00:44:57,620 --> 00:45:00,400 do të quhet kur ne shkruani në diçka, 701 00:45:00,400 --> 00:45:03,160 kur ne të shtypni një buton të veçantë. 702 00:45:03,160 --> 00:45:07,890 Kjo është në thelb Skema veprim objektiv 703 00:45:07,890 --> 00:45:12,510 për ngjarje të shtyrë Programimi në Objektivi C. 704 00:45:12,510 --> 00:45:15,030 >> Përveç kësaj, kjo nuk është shumë emocionuese 705 00:45:15,030 --> 00:45:19,810 sepse ne nuk mund të vërtetë të ndryshojë sa e lartë piramidale do të jetë, 706 00:45:19,810 --> 00:45:23,640 kështu që ne ndoshta dëshironi të disi merrni një input nga përdoruesi 707 00:45:23,640 --> 00:45:29,490 dhe të ndryshojë lartësinë e piramidë bazuar në atë që ata e prodhimit. 708 00:45:29,490 --> 00:45:32,900 Pra, ne jemi duke shkuar për të bërë këtë. 709 00:45:32,900 --> 00:45:38,720 Pra, këtë herë, kur ne e quajmë runMario, ne nuk do të vetëm thirrje Mario drejtpërdrejt. 710 00:45:38,720 --> 00:46:06,280 711 00:46:06,280 --> 00:46:07,000 Titulli i këtij dikujt. 712 00:46:07,000 --> 00:46:22,180 713 00:46:22,180 --> 00:46:23,700 >> Delegat. 714 00:46:23,700 --> 00:46:25,160 Kjo është shumë interesante. 715 00:46:25,160 --> 00:46:26,720 Çfarë është një delegat? 716 00:46:26,720 --> 00:46:28,950 Unë jam duke shkuar për të vënë veten këtu. 717 00:46:28,950 --> 00:46:31,038 Dhe ne jemi duke shkuar për të parë çka do të thotë më vonë. 718 00:46:31,038 --> 00:46:46,380 719 00:46:46,380 --> 00:46:51,120 Pra, këtu ne kemi krijuar në thelb një shembull specifik i quajtur një alarm UI 720 00:46:51,120 --> 00:46:52,210 pamje. 721 00:46:52,210 --> 00:46:54,440 Një pamje UI vigjilent është në thelb ajo që ju do të 722 00:46:54,440 --> 00:46:58,940 shih çdo kohë diçka pops up dhe ju pyet për të dhëna, 723 00:46:58,940 --> 00:47:03,080 si çfarë do të ndodhë kur ju jeni duke u përpjekur për të blerë diçka në një dyqan app. 724 00:47:03,080 --> 00:47:14,250 >> Përveç kësaj, pas jush e krijoni atë, ne vetëm tregojnë alarm. 725 00:47:14,250 --> 00:47:20,090 726 00:47:20,090 --> 00:47:22,568 Në rregull, le të vetëm të shpejt Testi do të qe puna apo jo. 727 00:47:22,568 --> 00:47:31,105 728 00:47:31,105 --> 00:47:32,140 Kjo është shumë i ftohtë. 729 00:47:32,140 --> 00:47:55,370 730 00:47:55,370 --> 00:47:59,120 Tani le të vërtetë të krijojë një fushë input për gatishmëri UI. 731 00:47:59,120 --> 00:48:01,170 Kjo është se si ne e bëjmë këtë. 732 00:48:01,170 --> 00:48:07,490 Dhe ne duhet të kemi një pamje të dhëna për gatishmëri. 733 00:48:07,490 --> 00:48:09,020 Very cool. 734 00:48:09,020 --> 00:48:12,330 Le të thonë se vetëm 10. 735 00:48:12,330 --> 00:48:14,900 >> Kjo nuk është e drejtë duke bërë ndonjë gjë tani sepse thirrja në të vërtetë 736 00:48:14,900 --> 00:48:17,770 nuk ka ndryshuar për ekzekutimin mario. 737 00:48:17,770 --> 00:48:23,470 Pra, kjo është bërë pak pak i çuditshëm sepse sa herë 738 00:48:23,470 --> 00:48:30,790 ne shtypni një buton poshtë, kur ne shtypni një buton në pikëpamje vëmëndshëm, 739 00:48:30,790 --> 00:48:35,560 diçka duhet të ndodhë, por kjo nuk do të ndodhë. 740 00:48:35,560 --> 00:48:37,220 Si nuk kemi kapur atë? 741 00:48:37,220 --> 00:48:41,280 Si e bëjmë ne e dimë se një përdorues ka hedhur poshtë një pamje alarm 742 00:48:41,280 --> 00:48:45,630 dhe tashmë ka hyrë një numër, sepse tani asgjë nuk është në të vërtetë ndodh. 743 00:48:45,630 --> 00:48:50,450 >> E pra, ju mund të keni mendoi kjo e drejtë, delegacioni. 744 00:48:50,450 --> 00:48:55,440 Pra, përveç të gjithë këto deklarata, 745 00:48:55,440 --> 00:49:03,190 ne kemi nevojë për të shtuar një delegacion të ri në ajo quhet UI view vigjilent delegat. 746 00:49:03,190 --> 00:49:06,440 Kështu që çdo të vetme bashkëveprim apo ngjarje 747 00:49:06,440 --> 00:49:10,190 se ne do të kemi me pamje UI vëmëndshëm 748 00:49:10,190 --> 00:49:14,100 do të trajtohen me klasën tonë si. 749 00:49:14,100 --> 00:49:26,297 >> Pra, përveç kësaj, do të jetë vigjilent pamje Kliko Butonin në indeks. 750 00:49:26,297 --> 00:49:34,260 751 00:49:34,260 --> 00:49:37,730 Kjo është arritur. 752 00:49:37,730 --> 00:49:42,020 Pra, në rast se ne kemi already-- kështu që ne kemi 753 00:49:42,020 --> 00:49:46,210 kuptova një protokoll që do të merret me ngjarjen kur 754 00:49:46,210 --> 00:49:51,320 ne kliko butonin Done në pikëpamjen vëmëndshëm. 755 00:49:51,320 --> 00:49:55,976 Pra, çdo herë që ne të shkarkojë pamje vigjilent, kjo duhet të ndodhë. 756 00:49:55,976 --> 00:49:57,350 Më lejoni vetëm të provuar atë shumë shpejt. 757 00:49:57,350 --> 00:50:16,220 758 00:50:16,220 --> 00:50:19,300 E pra me të vërtetë, ne kemi arritur këtu. 759 00:50:19,300 --> 00:50:22,210 >> Pra këtu, ajo që ne nuk do të të ketë në fakt është në të vërtetë 760 00:50:22,210 --> 00:50:43,120 merrni the-- Pra, ne duam që të dal teksti që ne kemi parë 761 00:50:43,120 --> 00:50:45,350 hyri në pamje vëmëndshëm. 762 00:50:45,350 --> 00:50:48,505 Dhe në bazë të tekstit, ne jemi duke shkuar për të shfaqur Mario. 763 00:50:48,505 --> 00:50:52,336 764 00:50:52,336 --> 00:50:55,480 Kjo shumë shpejt rezulton nëse në fakt ajo punon apo jo. 765 00:50:55,480 --> 00:50:59,476 Pra në këtë rast, në qoftë se ne të dhëna, le të themi, 10, ne duhet të shohim 10. 766 00:50:59,476 --> 00:51:02,740 767 00:51:02,740 --> 00:51:05,210 >> Shumë mirë, ne kemi një numër të këtu. 768 00:51:05,210 --> 00:51:06,470 Kjo është shumë e mirë. 769 00:51:06,470 --> 00:51:16,840 Tani hapi i fundit do be-- Pra Hapi i fundit që duhet të bëjmë tani 770 00:51:16,840 --> 00:51:21,100 është vetëm një quajnë Mario me Niveli i bazuar në të dhëna 771 00:51:21,100 --> 00:51:23,270 që ne kemi vënë në pamje vëmëndshëm. 772 00:51:23,270 --> 00:51:26,920 Pra, ne kemi nevojë për të kthyer ky varg në iOS. 773 00:51:26,920 --> 00:51:33,820 774 00:51:33,820 --> 00:51:35,496 Del nga shtrati Static është shumë e awesome. 775 00:51:35,496 --> 00:51:44,930 776 00:51:44,930 --> 00:51:51,182 Dhe atëherë ne vetëm thirrje vetë Vlera marioWithLevels. 777 00:51:51,182 --> 00:51:54,550 778 00:51:54,550 --> 00:51:56,284 Le të shohim se do të në të vërtetë punojnë apo jo. 779 00:51:56,284 --> 00:51:59,070 780 00:51:59,070 --> 00:52:01,550 >> Ne jemi duke dhënë tashmë një piramidë. 781 00:52:01,550 --> 00:52:04,785 Le të përpiqen për të ndryshuar lartësinë. 782 00:52:04,785 --> 00:52:06,530 Që në të vërtetë punon. 783 00:52:06,530 --> 00:52:07,610 Kjo është pretty cool. 784 00:52:07,610 --> 00:52:10,420 Kështu që tani ju mund vetëm input çdo vlerë që ju dëshironi. 785 00:52:10,420 --> 00:52:12,440 Le të thonë se vetëm katër. 786 00:52:12,440 --> 00:52:14,260 Kjo është shumë e awesome. 787 00:52:14,260 --> 00:52:17,090 Pra, kjo është në thelb një shembull i vërtetë i shpejtë 788 00:52:17,090 --> 00:52:23,170 për mënyrën se si për të krijuar një projekt në kod s dhe se si të vërtetë të shpejt wire up 789 00:52:23,170 --> 00:52:26,220 disa ngjarje të vërtetë të thjeshtë dhe funksionet. 790 00:52:26,220 --> 00:52:28,840 >> Pra, burimi është duke shkuar që do të vënë në internet më vonë. 791 00:52:28,840 --> 00:52:33,400 Pra, nëse ju jeni të interesuar në mënyrën se si funksionon iOS Mario, 792 00:52:33,400 --> 00:52:38,360 Unë jam duke shkuar për të vënë pikërisht njëjtë Projektet onto faqen e internetit CS50 të mëvonshëm. 793 00:52:38,360 --> 00:52:41,260 Ne jemi bërë në thelb me verë, dhe para se të përfundojë 794 00:52:41,260 --> 00:52:45,190 Unë vetëm dua të theksoj ju djema për të disa burime vërtetë të tmerrshëm se 795 00:52:45,190 --> 00:52:47,550 janë në dispozicion online. 796 00:52:47,550 --> 00:52:52,270 >> Natyrisht dokumentacioni Apple do të jetë shumë e dobishme. 797 00:52:52,270 --> 00:52:57,630 Por përveç kësaj, unë veçanërisht rekomandojmë katër burime, shkollore kod, 798 00:52:57,630 --> 00:53:02,120 shtëpi pemë, AppCoda dhe WWDC videos. 799 00:53:02,120 --> 00:53:07,270 Shkollë Code dhe shtëpi pemë janë Dy faqet e internetit online edukimin, 800 00:53:07,270 --> 00:53:10,210 që në mënyrë specifike të përqëndrohet në inxhinieri software. 801 00:53:10,210 --> 00:53:16,930 Sidomos për shkollë të kodit, ata kanë tutorial të vërtetë të mirë në iOS. 802 00:53:16,930 --> 00:53:19,550 >> Kjo është një shembull i vërtetë i shpejtë për të. 803 00:53:19,550 --> 00:53:22,980 Ata në të vërtetë të krijuar një të vërtetë të cute-- shikoni në atë iPhone të vogël të bukur 804 00:53:22,980 --> 00:53:24,920 tip atje, kjo është shumë e awesome. 805 00:53:24,920 --> 00:53:31,010 Dhe mënyra ata shpjegojnë Objektivi C Sintaksa është krejtësisht i qartë. 806 00:53:31,010 --> 00:53:32,230 Shtëpi pemë është e njëjtë. 807 00:53:32,230 --> 00:53:34,660 Dhe AppCoda është një forum. 808 00:53:34,660 --> 00:53:38,130 Është në fakt një blog që ishte e drejtuar me një përvojë të vërtetë Objektivi C 809 00:53:38,130 --> 00:53:39,120 programues. 810 00:53:39,120 --> 00:53:43,950 Dhe të gjitha ato mësime në AppCoda janë goxha të shkurtër dhe të lehtë për të zbatuar, 811 00:53:43,950 --> 00:53:45,390 shumë e rekomanduar. 812 00:53:45,390 --> 00:53:47,700 >> Dhe në qoftë se ju jeni një zhvillues, patjetër të shkoni shikoni 813 00:53:47,700 --> 00:53:55,660 sa videot WWDC ku ju mund të mësojnë në lidhje me programimin e fundit IOS 814 00:53:55,660 --> 00:53:58,250 teknika, TV dhe bibliotekat. 815 00:53:58,250 --> 00:54:02,850 Kështu që është shumë e shumë ajo për seminarin. 816 00:54:02,850 --> 00:54:03,820 Thank you so much. 817 00:54:03,820 --> 00:54:08,040 Dhe unë shpresoj se ju të argëtohen krijimin e vet app tuaj IOS. 818 00:54:08,040 --> 00:54:09,302