1 00:00:00,000 --> 00:00:11,420 2 00:00:11,420 --> 00:00:13,590 >> Tianyu Лиу: Еј, како е тоа се случува на сите? 3 00:00:13,590 --> 00:00:20,250 И ова е IOS стан програмирање на објективни в семинарот. 4 00:00:20,250 --> 00:00:21,520 И моето име е Tianyu Лиу. 5 00:00:21,520 --> 00:00:26,114 Јас сум LOWELL JUNIOR токму сега, се концентрира во компјутерската наука. 6 00:00:26,114 --> 00:00:28,030 Значи во овој семинар Јас сум ќе ви учат момци 7 00:00:28,030 --> 00:00:30,770 малку за тоа како да се направи еден стан. 8 00:00:30,770 --> 00:00:33,030 Yay, се возбудени за тоа. 9 00:00:33,030 --> 00:00:36,790 >> Значи пред да се дури и на проектот за нуркање во конкретната програмирање страна, 10 00:00:36,790 --> 00:00:41,840 ајде да зборуваме за навистина брзо зошто можеби ќе сакате да се изгради IOS стан? 11 00:00:41,840 --> 00:00:43,940 Зошто iOS е толку страшно? 12 00:00:43,940 --> 00:00:47,250 Така, првиот проблем, прво нешто што е прилично страшно за нас, 13 00:00:47,250 --> 00:00:51,190 особено како CS50 студент, е дека iOS 14 00:00:51,190 --> 00:00:55,860 користи Цел В. Па, има нов јазик наречен Свифт, 15 00:00:55,860 --> 00:00:58,260 но ние нема да се користење дека во овој семинар. 16 00:00:58,260 --> 00:01:01,540 Ако сте заинтересирани во Свифт, таму е независна семинар за тоа. 17 00:01:01,540 --> 00:01:05,590 Но, Цел C е во основа супермножество на C. Значење 18 00:01:05,590 --> 00:01:10,230 дека она што се користи во Ц може да да бидат преведени на Цел C 19 00:01:10,230 --> 00:01:11,630 многу лесно. 20 00:01:11,630 --> 00:01:15,730 >> Како што можете да видите подоцна, дека навистина постојат некои многу основни синтакса, се 21 00:01:15,730 --> 00:01:19,790 во основа иста, Цел C и C. Значи, 22 00:01:19,790 --> 00:01:22,860 бидејќи сте ги направиле CS50 до овој далеку, што веќе 23 00:01:22,860 --> 00:01:26,500 знаете Цел Ц, најмалку 40%. 24 00:01:26,500 --> 00:01:30,720 Исто така, Apple има навистина робустен API за iOS. 25 00:01:30,720 --> 00:01:33,750 Постојат многу навистина лудо работи што можете да направите со него. 26 00:01:33,750 --> 00:01:36,760 Еден од нив е некој всушност се создаваат на IOS стан 27 00:01:36,760 --> 00:01:40,600 за контрола на автомобили, кои е прилично интересен. 28 00:01:40,600 --> 00:01:42,610 Веројатно еден хеликоптер е повеќе интересен. 29 00:01:42,610 --> 00:01:47,020 Но, тоа е како моќен на iOS API, може да биде. 30 00:01:47,020 --> 00:01:49,340 >> И како може да се сфатиле токму сега, 31 00:01:49,340 --> 00:01:53,000 магацинот претекување е веројатно една од најважните онлајн ресурси 32 00:01:53,000 --> 00:01:54,250 достапни за вас. 33 00:01:54,250 --> 00:01:58,090 И добрата вест, за секој еден проблем може да можеби 34 00:01:58,090 --> 00:02:01,840 мислам на, додека зградата вашите финалниот проект во Цел C, 35 00:02:01,840 --> 00:02:05,910 постои веројатност магацинот претекување одговор. 36 00:02:05,910 --> 00:02:07,420 Тоа е само страшни. 37 00:02:07,420 --> 00:02:12,780 Во прилог на тоа, iOS е навистина платформа 38 00:02:12,780 --> 00:02:16,260 каде што може да се постигне голем публиката со малку напор. 39 00:02:16,260 --> 00:02:20,170 Тоа не е како Андроид, каде сè е прилично фрагментирана. 40 00:02:20,170 --> 00:02:22,540 >> Се 'iOS е обединета. 41 00:02:22,540 --> 00:02:25,920 И додека се создаде еден стан за iPhone, 42 00:02:25,920 --> 00:02:31,260 можете многу лесно можат да се префрлат дека на iPad, Мини iPad, iPhone или различни големини. 43 00:02:31,260 --> 00:02:33,050 Овие се навистина удобен. 44 00:02:33,050 --> 00:02:36,430 И тоа е само навистина добра за импресионира вашите пријатели. 45 00:02:36,430 --> 00:02:38,920 Вие само може да се одржи на iPhone и кажете му на вашиот пријател еј, 46 00:02:38,920 --> 00:02:40,250 ова е стан можам да направам. 47 00:02:40,250 --> 00:02:43,860 Можете да го направи тоа за секој десктоп апликации, што е убаво. 48 00:02:43,860 --> 00:02:48,870 >> Добро, сега ајде да всушност се на јазикот Цел В. 49 00:02:48,870 --> 00:02:52,910 Па зошто да не почнеме со некои навистина основната синтакса. 50 00:02:52,910 --> 00:02:57,410 Како што споменав пред Цел С Тоа е во основа супермножество од В. 51 00:02:57,410 --> 00:03:01,860 Толку многу на основната синтакса се всушност токму истото. 52 00:03:01,860 --> 00:03:06,150 За прогласување на променлива и додавање на две променливи заедно 53 00:03:06,150 --> 00:03:09,440 е токму онака како што сме го направиле во Марио. 54 00:03:09,440 --> 00:03:11,140 Ништо ново тука. 55 00:03:11,140 --> 00:03:17,370 >> Слично на ова, потстанар за телефонска линија и состојбата е иста. 56 00:03:17,370 --> 00:03:22,370 Можете да направите за телефонска линија исто како што го направи тоа на Марио [нечујни]. 57 00:03:22,370 --> 00:03:26,280 И можете да го направите услови исто како и она што 58 00:03:26,280 --> 00:03:29,240 се прави во вашите претходни стр комплети. 59 00:03:29,240 --> 00:03:33,400 Сепак, Цел C не е целосно C, 60 00:03:33,400 --> 00:03:36,640 и таму е нешто што е вид на чуден за тоа. 61 00:03:36,640 --> 00:03:42,340 >> Првиот е во тоа што кога ќе се прават C програмскиот, обично го нарекуваме 62 00:03:42,340 --> 00:03:46,310 вклучуваат и потоа библиотека име. 63 00:03:46,310 --> 00:03:49,860 Но, во Цел C ти се јавам дека увозот. 64 00:03:49,860 --> 00:03:53,100 Во основа велејќи функционалност, само различни имиња. 65 00:03:53,100 --> 00:03:55,940 И стрингови се всушност малку чудно. 66 00:03:55,940 --> 00:03:58,250 Можете да видите дека првиот Она што е вид на чудни 67 00:03:58,250 --> 00:04:04,190 е дека ќе има доста weird-- sorry-- имаш доста чудно Н.С. 68 00:04:04,190 --> 00:04:04,960 потпише овде. 69 00:04:04,960 --> 00:04:07,452 70 00:04:07,452 --> 00:04:09,160 И втората работа тоа е вид на чудни 71 00:04:09,160 --> 00:04:14,090 се имате во знак пред всушност прогласување на стрингот. 72 00:04:14,090 --> 00:04:19,209 Значи го знакот во основа значи дека стрингот не е само низа, 73 00:04:19,209 --> 00:04:20,880 тоа е всушност еден објект. 74 00:04:20,880 --> 00:04:22,780 Ние сме случува да се објасни кои подоцна па не 75 00:04:22,780 --> 00:04:25,800 паника ако не се разбере што значи тоа. 76 00:04:25,800 --> 00:04:29,980 И печатење на конзола е малку различни, бидејќи во C ние го нарекуваме printf, 77 00:04:29,980 --> 00:04:33,350 но Цел C ние го нарекуваме [нечујни]. 78 00:04:33,350 --> 00:04:35,640 >> Може да се прашуваат што е тоа. 79 00:04:35,640 --> 00:04:38,070 Тоа е во основа printf, само на различен јазик. 80 00:04:38,070 --> 00:04:41,370 Токму истото употреба, иста функционалност. 81 00:04:41,370 --> 00:04:44,060 Добро, тоа излегува дека Цел C, всушност, 82 00:04:44,060 --> 00:04:50,040 има Ns префикс во речиси сè, секој основен тип на податоци, 83 00:04:50,040 --> 00:04:52,690 nsstring, nsarray, nsdictionary. 84 00:04:52,690 --> 00:04:56,340 Причината е во тоа што Ns всушност стои за следниот чекор, 85 00:04:56,340 --> 00:04:59,980 кој е компанија која Стив Џобс е основана, 86 00:04:59,980 --> 00:05:03,960 која е фирма која Цел јазик C е роден. 87 00:05:03,960 --> 00:05:06,140 Значи ова е во основа традиција. 88 00:05:06,140 --> 00:05:09,010 Знам дека е малку чудно, но тоа е на Apple. 89 00:05:09,010 --> 00:05:16,840 >> Значи, она што е уште почуден од тоа е функција декларација. 90 00:05:16,840 --> 00:05:22,600 Ова е многу различно од она што го види во C, бидејќи тука, всушност, 91 00:05:22,600 --> 00:05:25,190 не изгледа како C повеќе. 92 00:05:25,190 --> 00:05:28,810 Што ви here-- има од страна на Начинот на кој ова не е куршум точка, 93 00:05:28,810 --> 00:05:30,690 ова е минус. 94 00:05:30,690 --> 00:05:36,440 Имате минус заграда празнина, а потоа името на функцијата. 95 00:05:36,440 --> 00:05:38,450 Да речеме, ако ние имаат здраво светот, тогаш 96 00:05:38,450 --> 00:05:42,820 тип на враќање ќе биде неважечки бидејќи ние се врати ништо. 97 00:05:42,820 --> 00:05:44,680 >> Што добива навистина чудно е дека кога сте 98 00:05:44,680 --> 00:05:49,580 кои имаат повеќе од еден параметар поминува во иста функција која 99 00:05:49,580 --> 00:05:53,870 ќе биде навистина чудно како што е прикажано тука. 100 00:05:53,870 --> 00:05:58,230 Имаме метод име, наречен addInt на [нечујни] 101 00:05:58,230 --> 00:06:00,370 и ние сме поминува еден параметар. 102 00:06:00,370 --> 00:06:05,170 Но после тоа, ние имаме повеќе метод име разговор со. 103 00:06:05,170 --> 00:06:08,500 И после со што го поминува вториот параметар. 104 00:06:08,500 --> 00:06:11,940 Ова е, всушност, малку чудно, Но, сите овие функција декларации 105 00:06:11,940 --> 00:06:14,770 ја следи истата шема како ова. 106 00:06:14,770 --> 00:06:17,450 >> Ние имаме минус од самиот почеток. 107 00:06:17,450 --> 00:06:21,550 Знакот минус би можело да биде знак плус понекогаш врз основа на она што вид на метод 108 00:06:21,550 --> 00:06:22,340 е тоа. 109 00:06:22,340 --> 00:06:25,000 Метод е во основа друго име за функцијата. 110 00:06:25,000 --> 00:06:26,760 И ние си оди за да објасни дека подоцна, кога 111 00:06:26,760 --> 00:06:30,580 ние зборуваме за објектот ориентираното програмирање. 112 00:06:30,580 --> 00:06:34,300 Вие прво наведете враќање напишете во загради, 113 00:06:34,300 --> 00:06:37,450 по што доаѓа името на методот. 114 00:06:37,450 --> 00:06:40,310 Ти си поминува еден параметар. 115 00:06:40,310 --> 00:06:44,750 И ако имате повеќе параметри што треба да се прошири на име на метод 116 00:06:44,750 --> 00:06:46,770 и во основа да се напише нешто повеќе тука. 117 00:06:46,770 --> 00:06:48,090 >> Тоа може да биде нешто што сакате. 118 00:06:48,090 --> 00:06:50,140 Во нашиот случај тоа е со. 119 00:06:50,140 --> 00:06:56,160 Но, може да се каже крај, или или, или ABC целосна бар, она што го сакате. 120 00:06:56,160 --> 00:06:59,500 А потоа по што сте поминува параметар б. 121 00:06:59,500 --> 00:07:01,750 Ова е навистина чудно Конвенцијата, но ние сме 122 00:07:01,750 --> 00:07:05,800 случува да се види зошто Apple сакаше да го стори тоа многу брзо. 123 00:07:05,800 --> 00:07:10,530 Па како да ти се јавам функција? 124 00:07:10,530 --> 00:07:15,520 Повикувајќи функција во цел Ц е исто така различен од В. 125 00:07:15,520 --> 00:07:18,170 >> Всушност, нарекувајќи функција во Цел C 126 00:07:18,170 --> 00:07:21,030 е повеќе како си зборува со некого. 127 00:07:21,030 --> 00:07:27,030 Тука сме јас, кое се нарекува објектот. 128 00:07:27,030 --> 00:07:33,830 Ти си во основа кажува противат само да се каже "Здраво Светот!" 129 00:07:33,830 --> 00:07:36,830 Тоа е како да се јавите на функција. 130 00:07:36,830 --> 00:07:41,690 Предмет и метод име во комбинација со едни со други. 131 00:07:41,690 --> 00:07:49,600 И ова е местото каде што на чуден продолжување метод за името навистина стапува на сцена. 132 00:07:49,600 --> 00:07:52,150 >> Ајде да погледнеме во вториот пример. 133 00:07:52,150 --> 00:07:56,780 Ние само се дефинирани метод наречен addInt со бла бла бла. 134 00:07:56,780 --> 00:08:00,066 Значи во овој случај кога се јавувате таа специфична [? порака?] тоа се случува 135 00:08:00,066 --> 00:08:02,035 за да изгледа како само addInt: 10 со: 2. 136 00:08:02,035 --> 00:08:05,410 137 00:08:05,410 --> 00:08:08,070 Тоа звучи како англиски јазик. 138 00:08:08,070 --> 00:08:11,980 Иако функцијата функција декларација е чудно, 139 00:08:11,980 --> 00:08:15,600 точка на Цел на C метод декларација шема, 140 00:08:15,600 --> 00:08:18,830 е дека кога ќе се јавувате функција или метод 141 00:08:18,830 --> 00:08:21,980 ќе звучи како вистински англиски јазик. 142 00:08:21,980 --> 00:08:25,270 Така, тоа е многу интуитивен штом ќе се влезе во неа. 143 00:08:25,270 --> 00:08:28,740 >> Особено во овој случај, каде што можете да во основа 144 00:08:28,740 --> 00:08:33,010 види дека името на функцијата е вид на самата документирање. 145 00:08:33,010 --> 00:08:35,390 Вие не се потребни никакви повеќе објаснување за да ја видите 146 00:08:35,390 --> 00:08:42,770 што точно се случува, она што точно еден параметар прави. 147 00:08:42,770 --> 00:08:48,470 Одење надвор од тоа, ајде да разговараме малку малку за објектно ориентирано програмирање. 148 00:08:48,470 --> 00:08:52,160 Објектно ориентирано програмирање е еден од основните програмски 149 00:08:52,160 --> 00:08:57,110 техники и модели што е користи од страна на В. Цел Цел C 150 00:08:57,110 --> 00:09:03,110 се нарекува Цел C, а не Ц, за навистина добра причина. 151 00:09:03,110 --> 00:09:07,560 >> Значи пред да се влезе во Цел C синтакса, 152 00:09:07,560 --> 00:09:11,670 Ајде навистина брзо се погледне што точно е објект. 153 00:09:11,670 --> 00:09:15,480 Ние веројатно направи нешто како објект пред, за кое 154 00:09:15,480 --> 00:09:19,780 се нарекува struct кога сте спроведување на дрво или поврзано листа 155 00:09:19,780 --> 00:09:25,730 или [? се обиде. ?] Значи, тоа е во основа како struct, 156 00:09:25,730 --> 00:09:28,560 но тоа е многу помоќен од тоа. 157 00:09:28,560 --> 00:09:33,150 Објектот има методи и својства. 158 00:09:33,150 --> 00:09:35,310 Методи се во основа функции. 159 00:09:35,310 --> 00:09:39,480 Во суштина функции кои еден специфични за одреден објект. 160 00:09:39,480 --> 00:09:45,440 >> И својства се во основа поле ќе се определи во struct. 161 00:09:45,440 --> 00:09:48,500 Значи за секој објект ние имаме некои имот 162 00:09:48,500 --> 00:09:53,160 што има некои променливи кои се специфични за објектот. 163 00:09:53,160 --> 00:09:57,170 И ние имаме некои функции кои Исто така, постојат специфични за објектот. 164 00:09:57,170 --> 00:10:01,180 И функции се нарекуваат методи и променливи, се нарекуваат својства. 165 00:10:01,180 --> 00:10:03,190 Тоа е само фенси име. 166 00:10:03,190 --> 00:10:10,440 Додека вие всушност, секој поглед додека ја отвори IOS стан, 167 00:10:10,440 --> 00:10:17,720 да речеме Твитер или Фејсбук, секој поглед го гледате е објектот. 168 00:10:17,720 --> 00:10:22,110 Па дури и целиот стан е објект за да се започне со. 169 00:10:22,110 --> 00:10:25,340 Многу интересен концепт. 170 00:10:25,340 --> 00:10:28,480 >> И зошто сакаме објектот ориентираното програмирање? 171 00:10:28,480 --> 00:10:33,530 Значи можете да си замислите дека кога ќе програма се добива прилично комплицирано. 172 00:10:33,530 --> 00:10:36,400 Да речеме, кога сте спроведување на шаховска табла, 173 00:10:36,400 --> 00:10:40,020 логиката се случува да да биде навистина комплицирано. 174 00:10:40,020 --> 00:10:43,280 Имаш 36 различни парчиња, така што ако 175 00:10:43,280 --> 00:10:48,370 сакате да напишете логика за сите 36 различни парчиња во шах, 176 00:10:48,370 --> 00:10:52,150 кој се случува да биде многу различни функции и променливи. 177 00:10:52,150 --> 00:10:54,070 Тоа е многу проблеми. 178 00:10:54,070 --> 00:10:58,980 И веројатно сте ќе треба да се напише различен метод или различна функција 179 00:10:58,980 --> 00:11:03,950 за секоја од парче да точно го контролираат она што тие го прават. 180 00:11:03,950 --> 00:11:08,830 >> Но, ако го направите објектно ориентирано програмирање, сите овие парчиња 181 00:11:08,830 --> 00:11:12,440 можат да бидат апстрахирани во еден објект. 182 00:11:12,440 --> 00:11:16,111 И објектот ќе имаат некои заеднички својства, како и она што вид на парче 183 00:11:16,111 --> 00:11:16,610 е тоа? 184 00:11:16,610 --> 00:11:17,740 Која боја е тоа? 185 00:11:17,740 --> 00:11:19,480 Како тоа може да се движи? 186 00:11:19,480 --> 00:11:24,660 И на тој начин, имате голема мера поедноставен логиката на тоа. 187 00:11:24,660 --> 00:11:28,480 Така, тоа е само еден навистина добар начин да се направи комплицирани програми, 188 00:11:28,480 --> 00:11:33,700 и хиерархиска врска во рамките на програмата, многу едноставно. 189 00:11:33,700 --> 00:11:36,800 Како што ќе видиме зошто многу брзо кога 190 00:11:36,800 --> 00:11:39,660 ние сме всушност прават programming-- кога сме всушност 191 00:11:39,660 --> 00:11:42,830 водење на С код програмирање сесија. 192 00:11:42,830 --> 00:11:48,120 >> Па во прилог на тоа, објектно ориентирано програмирање 193 00:11:48,120 --> 00:11:50,030 е само еден многу забавно. 194 00:11:50,030 --> 00:11:51,990 Имаш да дизајнирате сопствен објект. 195 00:11:51,990 --> 00:11:56,080 Имаш да се дизајнира она што го прави тоа изгледа како од себе. 196 00:11:56,080 --> 00:11:58,250 Не постои вистински одговор на тоа. 197 00:11:58,250 --> 00:12:02,940 И тоа е сосема интересно. 198 00:12:02,940 --> 00:12:07,270 Значи во објектно ориентирано програмирање, две фундаментални концепти 199 00:12:07,270 --> 00:12:10,130 ќе биде класа и пример. 200 00:12:10,130 --> 00:12:13,570 А класа е во основа дефиниција за објектот. 201 00:12:13,570 --> 00:12:18,070 И пример е во основа еден специфичен објект. 202 00:12:18,070 --> 00:12:21,090 >> Да речеме сте правење колаче. 203 00:12:21,090 --> 00:12:24,800 Во овој случај, секој колаче што всушност се заокружи со 204 00:12:24,800 --> 00:12:27,310 се случува да биде предмет. 205 00:12:27,310 --> 00:12:35,830 Но колаче плоча го користите да се пече сите колачиња ќе бидат класа. 206 00:12:35,830 --> 00:12:37,880 А класа е во основа на дефиниција. 207 00:12:37,880 --> 00:12:46,170 И на пример, ќе биде една специфична објект создаден од таа класа. 208 00:12:46,170 --> 00:12:49,970 >> И пример ќе биде создадена врз основа на класа декларација, 209 00:12:49,970 --> 00:12:56,760 како што ќе видиме подоцна слајдови. 210 00:12:56,760 --> 00:13:00,010 Значи, да всушност се направи навистина брз пример [нечујни]. 211 00:13:00,010 --> 00:13:04,280 Да речеме дека ние сме прогласување објект за една мачка. 212 00:13:04,280 --> 00:13:07,930 Објектот треба да have-- класа мачка треба 213 00:13:07,930 --> 00:13:11,260 има некои својства и методи. 214 00:13:11,260 --> 00:13:17,300 Каков вид на имот треба да го класа have-- мачката треба да имаат? 215 00:13:17,300 --> 00:13:20,580 >> На пример, бојата на кожата, возраст и раса, оние 216 00:13:20,580 --> 00:13:24,440 ќе бидат променливи кои се специфични за секоја мачка. 217 00:13:24,440 --> 00:13:27,790 И оние кои се некои работи дека ние ги користиме за да се опише мачка. 218 00:13:27,790 --> 00:13:31,880 Каков вид на метод, или она што може да се мачка направам? 219 00:13:31,880 --> 00:13:37,160 Со неколку брзи примери ќе биде потера глувчето, јадете риба или само meow. 220 00:13:37,160 --> 00:13:40,900 Ова е навистина брзо пример на мачка класа. 221 00:13:40,900 --> 00:13:46,920 И навистина специфични мачка објектот ќе биде мачка 222 00:13:46,920 --> 00:13:50,930 каде што ние наведете боја, возраста и раса. 223 00:13:50,930 --> 00:13:53,790 >> Во тој случај, нашата цел е повеќе не е класа повеќе. 224 00:13:53,790 --> 00:14:00,010 Ние го копирате образец од класа и ние наведете секој конкретни информации 225 00:14:00,010 --> 00:14:04,510 на конкретни објект да се направи независно. 226 00:14:04,510 --> 00:14:09,350 И кога ќе се јавувате метод во внатрешноста на објектот, 227 00:14:09,350 --> 00:14:16,640 можете да се јавите meow на објектот, која е мачка што сте го креирале. 228 00:14:16,640 --> 00:14:19,020 >> Веројатно ќе испечатите нешто како "Здраво Светот! 229 00:14:19,020 --> 00:14:20,000 Meow. " 230 00:14:20,000 --> 00:14:22,110 Прилично симпатична. 231 00:14:22,110 --> 00:14:24,500 Добро, ајде да добие во некои детали 232 00:14:24,500 --> 00:14:30,650 и да видиме што точно значи дека се претвори во iOS програмирање. 233 00:14:30,650 --> 00:14:36,500 Значи во iOS програмирање секој класа ќе се спроведува во две датотеки. 234 00:14:36,500 --> 00:14:41,420 Еден датотеката е тука, што се нарекува интерфејс. 235 00:14:41,420 --> 00:14:45,300 Уште една датотека е тука, што се нарекува имплементација. 236 00:14:45,300 --> 00:14:48,890 >> Обично интерфејс ќе мора extension.h 237 00:14:48,890 --> 00:14:51,740 како што видовме во C библиотеки. 238 00:14:51,740 --> 00:14:56,340 И имплементација на датотеката е ќе мора extension.n. 239 00:14:56,340 --> 00:14:57,260 Тоа е вид на чудно. 240 00:14:57,260 --> 00:15:01,270 Но .n значи .c всушност, не постои Основната разлика помеѓу оние 241 00:15:01,270 --> 00:15:02,100 две. 242 00:15:02,100 --> 00:15:06,650 Значи во овој случај, можеме да видиме дека ние сме прогласување интерфејс, Кат: објект. 243 00:15:06,650 --> 00:15:10,660 244 00:15:10,660 --> 00:15:13,760 Тоа се нарекува наследство. 245 00:15:13,760 --> 00:15:19,170 Ние сме во основа наследување мачка класа од класата на објектот. 246 00:15:19,170 --> 00:15:24,790 Така што секој имот и метод кој беше претходно дефинирани во класата на објектот 247 00:15:24,790 --> 00:15:28,560 автоматски ќе бидат дефинирани во мачка класа, како и. 248 00:15:28,560 --> 00:15:35,900 >> Во прилог на тоа, ние се дефинира боја, раса, и возраст, три променливи. 249 00:15:35,900 --> 00:15:39,360 Тоа всушност изгледа како нешто што сум го правел. 250 00:15:39,360 --> 00:15:41,770 Тоа изгледа како struct. 251 00:15:41,770 --> 00:15:44,950 Тоа е во основа на синтаксата за struct декларација, 252 00:15:44,950 --> 00:15:47,710 и тоа е сосема точно. 253 00:15:47,710 --> 00:15:51,825 И бидејќи веќе напоменав претходно, разликата на struct 254 00:15:51,825 --> 00:15:53,960 и објект, еден од фундаментални разлики 255 00:15:53,960 --> 00:15:59,080 е тоа што објектот има метод, додека struct има само променливи. 256 00:15:59,080 --> 00:16:03,450 Значи во прилог на имот или променливи ние сме создадени за објектот, 257 00:16:03,450 --> 00:16:05,700 ние наведете некои метод. 258 00:16:05,700 --> 00:16:09,720 >> Да речеме, тука имаме два начини, еден е meow, 259 00:16:09,720 --> 00:16:12,460 уште еден е потера глувчето. 260 00:16:12,460 --> 00:16:18,600 Ние веројатно ќе сакате да се поминува на параметар врз основа на претходниот метод 261 00:16:18,600 --> 00:16:20,440 декларација шема. 262 00:16:20,440 --> 00:16:22,160 Веројатно сакате да биде донесување на глувчето. 263 00:16:22,160 --> 00:16:25,180 И можеби ќе сакате да се врати bool означување 264 00:16:25,180 --> 00:16:30,010 ако вашата мачка има успешно фатени на глувчето или не. 265 00:16:30,010 --> 00:16:33,170 >> Ова е интерфејс, но можеме да види дека интерфејс, всушност, 266 00:16:33,170 --> 00:16:35,150 не прават ништо. 267 00:16:35,150 --> 00:16:40,800 Тоа само кажува програма што exists-- она што постои во мачка класа. 268 00:16:40,800 --> 00:16:43,640 Значи, со цел за програма да се направи нешто, 269 00:16:43,640 --> 00:16:46,680 ние треба да имаат имплементација датотеки. 270 00:16:46,680 --> 00:16:51,940 Па еве, првото нешто што го правиме е очигледно ние увоз на интерфејс. 271 00:16:51,940 --> 00:16:56,470 По ние увоз на интерфејс, ние се дефинира метод. 272 00:16:56,470 --> 00:17:00,150 >> Да речеме тука meow само ќе испечатите 273 00:17:00,150 --> 00:17:01,740 "Здраво Светот!" до конзола. 274 00:17:01,740 --> 00:17:04,319 275 00:17:04,319 --> 00:17:08,460 И по спроведување датотека, ние сме доста направено. 276 00:17:08,460 --> 00:17:14,530 Ова е во основа една класа декларација за една класа. 277 00:17:14,530 --> 00:17:19,970 Па сега прашањето е, како да се прогласи променлива? 278 00:17:19,970 --> 00:17:26,880 Начинот на кој ќе се користи класа да се создаде објект во целта C е напишано тука. 279 00:17:26,880 --> 00:17:30,730 >> Прво се каже дека ова е мачка покажувач, 280 00:17:30,730 --> 00:17:38,700 бидејќи секој објект во целта C конечно спроведување како покажувач. 281 00:17:38,700 --> 00:17:46,210 И ќе се јавите на класа, ги нарекуваат како alloc, кој во основа е Примерок, 282 00:17:46,210 --> 00:17:51,220 кажува на оперативниот систем што го треба некои мемориски простор за овој објект. 283 00:17:51,220 --> 00:17:55,780 По што ќе имам објект веќе и вие само да го иницијализирам. 284 00:17:55,780 --> 00:17:56,780 Ова е само конвенцијата. 285 00:17:56,780 --> 00:17:59,390 286 00:17:59,390 --> 00:18:04,410 Знам дека е малку чудно, но ова е всушност начинот на кој Епл го прави нешта. 287 00:18:04,410 --> 00:18:07,130 >> Доделување имоти се всушност прилично јасна. 288 00:18:07,130 --> 00:18:09,250 Тоа е многу слична на она што го правиш кога 289 00:18:09,250 --> 00:18:13,780 ти си доделување некои специфични поле внатрешноста на struct. 290 00:18:13,780 --> 00:18:16,830 Вие само треба променливата име, име на имотот, 291 00:18:16,830 --> 00:18:20,140 и додели одредена вредност на него. 292 00:18:20,140 --> 00:18:24,120 И повикување метод е многу сличен. 293 00:18:24,120 --> 00:18:29,080 Свикување метод е во основа она што се зборува за 294 00:18:29,080 --> 00:18:32,390 за повикување на кој било начин во Цел В. 295 00:18:32,390 --> 00:18:36,660 >> Ти си поминува некој објект, во овој случај тоа се случува да биде myCat, 296 00:18:36,660 --> 00:18:42,490 а ти си поминува името на методот. 297 00:18:42,490 --> 00:18:47,130 Како што ако зборуваме на објектот, myCat, дека треба да meow. 298 00:18:47,130 --> 00:18:48,570 Тоа е прилично интересен. 299 00:18:48,570 --> 00:18:52,010 300 00:18:52,010 --> 00:18:55,680 После тоа, постои една посуштински дизајн шема 301 00:18:55,680 --> 00:18:59,940 дека ние треба да се зборува за пред да дојдеме до вистинските С код. 302 00:18:59,940 --> 00:19:03,300 Тоа дизајн шема се нарекува настан управувано програмирање. 303 00:19:03,300 --> 00:19:09,660 Ова е, исто така, веројатно една од најпознатите основните идеи во iOS програмирање. 304 00:19:09,660 --> 00:19:14,410 >> Значи, вие веројатно не знаете што точно е настан управувано програмирање, 305 00:19:14,410 --> 00:19:16,990 но тоа не е навистина толку страшно. 306 00:19:16,990 --> 00:19:20,400 Па, всушност, ќе мора веќе го направиле тоа порано. 307 00:19:20,400 --> 00:19:24,894 Ова е една од линиите сте веројатно пишувавме во минатиот [нечујни] 308 00:19:24,894 --> 00:19:26,810 на CS50, google.maps.event.addListener (маркер, 309 00:19:26,810 --> 00:19:27,810 "Клик", функција () {}) :. 310 00:19:27,810 --> 00:19:32,410 311 00:19:32,410 --> 00:19:37,620 Со повикување на оваа линија ќе се во суштина кажува на компјутерот 312 00:19:37,620 --> 00:19:42,650 дека секогаш кога настан кој се вика "Кликнете" се случува на маркер, 313 00:19:42,650 --> 00:19:43,630 ја користат таа функција. 314 00:19:43,630 --> 00:19:46,910 315 00:19:46,910 --> 00:19:50,950 >> Ова е многу различно од она што го правите во mario.c. 316 00:19:50,950 --> 00:19:56,670 Во mario.c само ја стартувате програмата еднаш, тоа ви дава излез, 317 00:19:56,670 --> 00:19:58,590 и ќе завршиш. 318 00:19:58,590 --> 00:20:02,590 Тие се вид на како еден истрел програми. 319 00:20:02,590 --> 00:20:05,830 Настан управувано програми се многу, многу различно. 320 00:20:05,830 --> 00:20:10,230 Ајде да си замислите, ако Фејсбук е еден истрел програма тоа не е навистина добра. 321 00:20:10,230 --> 00:20:13,750 Вие само одете на Фејсбук еднаш и тоа е направено. 322 00:20:13,750 --> 00:20:16,700 Тоа ви дава некои излез и никогаш не сте го доби назад. 323 00:20:16,700 --> 00:20:19,380 Вие никогаш не добив ништо повеќе. 324 00:20:19,380 --> 00:20:23,880 >> Па еве, особено моделот се користи, е 325 00:20:23,880 --> 00:20:26,940 настан управувано, така што секоја функција ќе 326 00:20:26,940 --> 00:20:31,480 да бидат фатени врз основа на она што Настанот се случи. 327 00:20:31,480 --> 00:20:34,670 На пример, ако се има копче и ние наведете 328 00:20:34,670 --> 00:20:39,870 дека секогаш кога тоа е кликнато на копчето, јавете се во функција наречена "Здраво Светот!" 329 00:20:39,870 --> 00:20:47,810 На тој начин навистина може да управување со функција логика 330 00:20:47,810 --> 00:20:50,560 проток во високо флексибилен начин. 331 00:20:50,560 --> 00:20:55,840 Корисникот може да го направи или јавете се на функција кој веќе бил повикан. 332 00:20:55,840 --> 00:20:59,900 Тоа е целосно врз основа на она што корисниците го прават. 333 00:20:59,900 --> 00:21:04,080 >> Значи, можеме да видиме дека ова е всушност, многу подобро отколку mario.c. 334 00:21:04,080 --> 00:21:07,190 И добрата вест е дека тоа е всушност не е нов концепт. 335 00:21:07,190 --> 00:21:12,140 Вие момци имаат веќе направено дека во последните проблем во собата. 336 00:21:12,140 --> 00:21:16,640 Значи, со цел С постојат три различни дијаграми 337 00:21:16,640 --> 00:21:19,030 за настан управувано програмирање. 338 00:21:19,030 --> 00:21:21,970 Првиот е дијаграмот наречен целна акција, 339 00:21:21,970 --> 00:21:26,990 каде што ќе се поврзе со копчето печат со некои функција. 340 00:21:26,990 --> 00:21:31,590 Да речеме, секогаш кога ќе кликнете некои копчето, ќе се јавите на некоја функција. 341 00:21:31,590 --> 00:21:33,620 Ова е многу едноставна цел акција. 342 00:21:33,620 --> 00:21:35,580 >> Вториот е всушност најтешките еден, 343 00:21:35,580 --> 00:21:38,450 што се вика на делегацијата протокол. 344 00:21:38,450 --> 00:21:41,800 Ние сме случува да се објасни кои во голема детали подоцна. 345 00:21:41,800 --> 00:21:44,420 И третиот начин е известување. 346 00:21:44,420 --> 00:21:46,770 Ова всушност не многу важно колку 347 00:21:46,770 --> 00:21:50,920 што ние сме загрижени, бидејќи шансата кои ви се случува да се користи за известување 348 00:21:50,920 --> 00:21:53,310 во твојот последен проект е прилично ниско. 349 00:21:53,310 --> 00:21:56,440 Значи ние си оди за да го прескокнете тој дел. 350 00:21:56,440 --> 00:21:59,460 >> И ние си оди за да се нурне во делегацијата на протоколот. 351 00:21:59,460 --> 00:22:02,380 352 00:22:02,380 --> 00:22:04,470 Значи, што точно е протокол? 353 00:22:04,470 --> 00:22:06,450 Или, што точно е делегацијата? 354 00:22:06,450 --> 00:22:09,670 Ајде да зборуваме за протоколот за да се започне со. 355 00:22:09,670 --> 00:22:13,360 Протоколите се ништо друго туку настани. 356 00:22:13,360 --> 00:22:19,230 Но, овие настани се дадени на што од страна на Apple да се започне со. 357 00:22:19,230 --> 00:22:22,640 На пример, јас не сум сосема сигурен колку од вас 358 00:22:22,640 --> 00:22:27,930 момци користете оригинални Епл стан пошта или контакт, 359 00:22:27,930 --> 00:22:32,180 но секој пат кога ќе дојдете на маса и притиснете на одредена ќелија 360 00:22:32,180 --> 00:22:36,130 на маса, која е настан. 361 00:22:36,130 --> 00:22:38,330 >> И ако сакате да се направи тој настан од себе, 362 00:22:38,330 --> 00:22:40,410 тоа е всушност малку тешко. 363 00:22:40,410 --> 00:22:44,880 Значи, Apple има дадено дека дури и да ви така што ќе може директно да ги користат само 364 00:22:44,880 --> 00:22:49,610 случај да се направи нешто за своја. 365 00:22:49,610 --> 00:22:52,980 Протоколите се, всушност, навистина, навистина широко се користи 366 00:22:52,980 --> 00:22:58,320 во В. Цел Па во Всушност, секој стан 367 00:22:58,320 --> 00:23:00,870 има нешто фатени стан делегат. 368 00:23:00,870 --> 00:23:06,330 Во внатрешноста на деликатни е на сите протоколи за вчитување на стан. 369 00:23:06,330 --> 00:23:12,470 >> Да речеме постои настан за стан го товарот. 370 00:23:12,470 --> 00:23:18,200 Значи она што треба да се случи откако ќе го создаде еден стан, откако ќе ја отворите апликацијата, 371 00:23:18,200 --> 00:23:22,630 кога ќе ја затворите стан, или по ќе се стави на вашиот iPhone да спијам. 372 00:23:22,630 --> 00:23:27,480 Овие се сите настани што има веќе се дадени за вас. 373 00:23:27,480 --> 00:23:34,730 И првично во внатрешноста на овие честички нема да има примена. 374 00:23:34,730 --> 00:23:39,750 Епл само ти реков дека оваа функција ќе се случи кога некој настан се случува, 375 00:23:39,750 --> 00:23:44,380 но она што го правиш со таа функција е целосно зависи од вас. 376 00:23:44,380 --> 00:23:49,290 >> Делегацијата е во основа кажува класа 377 00:23:49,290 --> 00:23:53,060 што треба да се справи со овие протоколи. 378 00:23:53,060 --> 00:23:55,340 Тоа е малку збунувачки, но тоа ќе биде 379 00:23:55,340 --> 00:23:59,380 многу појасно кога ќе се направи Полиса на кодови во акција. 380 00:23:59,380 --> 00:24:04,760 Делегација на протоколот е, всушност, високо робустен механизам во смисла 381 00:24:04,760 --> 00:24:08,160 дека ако правиме делегација за одредена класа, 382 00:24:08,160 --> 00:24:12,400 ние во суштина може да се справи со сите видови на настани 383 00:24:12,400 --> 00:24:17,040 користење на било која класа што го имаме, многу удобен инструмент. 384 00:24:17,040 --> 00:24:21,530 >> Значи еден брз пример за Делегација на протокол 385 00:24:21,530 --> 00:24:24,120 ќе биде она што Јас само зборуваше. 386 00:24:24,120 --> 00:24:26,720 387 00:24:26,720 --> 00:24:30,890 Овој протокол конкретно се нарекува tableview [нечујни] одберете улога 388 00:24:30,890 --> 00:24:35,480 во [? индекс?] [? минатото. ?] Значи ова е настан кој ќе биде фатен, кога ќе 389 00:24:35,480 --> 00:24:39,710 всушност се приклучи на одредена клетка во вашето tableview, 390 00:24:39,710 --> 00:24:43,570 да речеме во вашата пошта или во вашите контакти стан. 391 00:24:43,570 --> 00:24:48,180 >> Во функција имаше првично се прави ништо. 392 00:24:48,180 --> 00:24:51,950 Функцијата не направи нешто по дифолт. 393 00:24:51,950 --> 00:24:55,540 Но, можете да наведете во која функција го прави, 394 00:24:55,540 --> 00:24:59,610 со оглед на она што го сакате од вашиот стан. 395 00:24:59,610 --> 00:25:01,610 Многу удобен инструмент. 396 00:25:01,610 --> 00:25:06,840 И со сето она што се рече, јас во основа 397 00:25:06,840 --> 00:25:11,430 покријат некои многу основни синтаксата и Фундаменталниот концепт за Цел C 398 00:25:11,430 --> 00:25:15,860 програмирање, и можеме да направиме некои Полиса код. 399 00:25:15,860 --> 00:25:17,980 Повозбудлива. 400 00:25:17,980 --> 00:25:21,070 Така е кодот е всушност малку преголема 401 00:25:21,070 --> 00:25:23,330 кога ќе го отворите за прв пат. 402 00:25:23,330 --> 00:25:26,640 >> Еден брз нота, па ако сакате да го направите iOS развој, 403 00:25:26,640 --> 00:25:29,630 Силно препорачувам да имате Mac. 404 00:25:29,630 --> 00:25:33,930 Бидејќи прави iOS развој на Windows е навистина, навистина тешко. 405 00:25:33,930 --> 00:25:37,560 Тоа е остварливо, но тоа е навистина тешко. 406 00:25:37,560 --> 00:25:40,610 И ти дефинитивно не не сакате да го користите g уреди. 407 00:25:40,610 --> 00:25:47,950 Значи во ОК код имаме неколку различни области. 408 00:25:47,950 --> 00:25:53,050 Кога за прв пат се отвори Полиса код ќе видите навигација област, 409 00:25:53,050 --> 00:25:57,470 што во основа ви покажува сите додадени фајлови: дека е во вашата тековна работа. 410 00:25:57,470 --> 00:26:03,590 >> Имате алатникот област, која во основа е управување со ставови, 411 00:26:03,590 --> 00:26:08,570 или некои малку брзо алатки за е кодот себе. 412 00:26:08,570 --> 00:26:11,140 И ова е вистински уредник област. 413 00:26:11,140 --> 00:26:15,900 Оваа област е многу слична g уреди, но многу подобро отколку g уреди. 414 00:26:15,900 --> 00:26:21,150 И во ова право површина, е наречен Нови област. 415 00:26:21,150 --> 00:26:27,170 Областа станува навистина корисна кога сте создавање интерфејс или специфицирање 416 00:26:27,170 --> 00:26:30,070 некои брзи поставување за вашиот стан. 417 00:26:30,070 --> 00:26:34,570 >> И конечниот област е дебагирање. 418 00:26:34,570 --> 00:26:37,970 Овој дел ги содржи конзола. 419 00:26:37,970 --> 00:26:43,170 Значи секогаш кога ќе се каже printf, или nslog во нашиот случај, 420 00:26:43,170 --> 00:26:47,330 сите вашите резултати се ќе треба да се печатат тука. 421 00:26:47,330 --> 00:26:48,260 Сите права? 422 00:26:48,260 --> 00:26:52,090 Претпоставувам дека можеме да се направи навистина брзо пример за iOS програмирање. 423 00:26:52,090 --> 00:26:54,220 И ајде да всушност се отвори Полиса код. 424 00:26:54,220 --> 00:26:57,210 425 00:26:57,210 --> 00:27:01,346 Така што секој пат кога ќе се отвори на кодот, тоа е да се појави нешто слично. 426 00:27:01,346 --> 00:27:03,220 Тоа се случува да ве прашам Што сакате да направите? 427 00:27:03,220 --> 00:27:06,830 Дали сакате да започнете нешто по случаен избор, игралиште, во основа ти 428 00:27:06,830 --> 00:27:11,250 само може да го тестира код без всушност извршување на било стан. 429 00:27:11,250 --> 00:27:13,020 >> Дали сакате да креирате нов проект? 430 00:27:13,020 --> 00:27:16,660 Или пак сакате да продолжите работа на постоечкиот проект? 431 00:27:16,660 --> 00:27:20,270 Во нашиот случај ние ќе за да креирате нов проект. 432 00:27:20,270 --> 00:27:22,980 Така, тоа е навистина убаво, S кодот всушност има веќе 433 00:27:22,980 --> 00:27:26,820 ви даде некои шаблони за креирање на објекти. 434 00:27:26,820 --> 00:27:32,680 Ако сакате да се направи игра, е код всушност има играта дефиниција за вас, 435 00:27:32,680 --> 00:27:36,890 има страница базирани апликации, таб-базирана апликација. 436 00:27:36,890 --> 00:27:39,280 Во овој случај, ние ќе да се направи нешто многу едноставно, 437 00:27:39,280 --> 00:27:43,230 и ние сме случува да се користи еден поглед апликација. 438 00:27:43,230 --> 00:27:48,270 >> После тоа само она што сакате да го повикате вашиот производ, и она што е вашето име, 439 00:27:48,270 --> 00:27:52,760 она што е вашиот идентификатор, и кој јазик ќе се користи. 440 00:27:52,760 --> 00:27:57,060 Тука ние не сакаме да проверете користење на основни податоци. 441 00:27:57,060 --> 00:28:00,170 Основни податоци е основа на databasing iOS. 442 00:28:00,170 --> 00:28:05,360 Ако го направите основни податоци, е кодот ќе се дефинираат 443 00:28:05,360 --> 00:28:07,710 многу покомплицирана часови за вас. 444 00:28:07,710 --> 00:28:12,740 Значи, да се задржи сето едноставна, ние сме само се случува да се направи без основни податоци 445 00:28:12,740 --> 00:28:15,290 во моментов. 446 00:28:15,290 --> 00:28:18,030 >> Проблемот што се случува да биде користење е that-- проблемот 447 00:28:18,030 --> 00:28:23,770 ние си оди за да биде создавање е дека ние во основа сакаат да увезуваат Марио од C 448 00:28:23,770 --> 00:28:25,437 на IOS стан. 449 00:28:25,437 --> 00:28:26,645 Значи, да се јавите дека Марио-iOS. 450 00:28:26,645 --> 00:28:31,230 451 00:28:31,230 --> 00:28:34,880 Се разбира дека, наведете го она што сакате да се стави во вашиот проект. 452 00:28:34,880 --> 00:28:37,870 И таму ќе одиме. 453 00:28:37,870 --> 00:28:41,390 >> Значи ова е малку огромна, но ова е всушност 454 00:28:41,390 --> 00:28:43,540 она што го видоа на слајдови. 455 00:28:43,540 --> 00:28:49,710 И првата област ги гледаме во моментов во основа е проект конфигурација. 456 00:28:49,710 --> 00:28:53,390 Значи се што сакате да го направите Проектот, каков вид на уред, 457 00:28:53,390 --> 00:28:58,810 да речеме она што вид на уред Дали сакате вашиот стан да се појави? 458 00:28:58,810 --> 00:29:01,280 Дали iPhone, iPad или универзална? 459 00:29:01,280 --> 00:29:04,660 Значи уред ориентација, сето тоа работи. 460 00:29:04,660 --> 00:29:08,490 Не е многу важно, но може да биде, но тоа 461 00:29:08,490 --> 00:29:11,050 е место каде што ќе се постави Вашиот проект ако навистина 462 00:29:11,050 --> 00:29:15,180 сакаат да се распоредат во продавница на Apple. 463 00:29:15,180 --> 00:29:20,420 >> Добро, ајде да погледнеме нешто што е во нашиот код. 464 00:29:20,420 --> 00:29:22,360 Ајде да одиме преку датотеката навигатор. 465 00:29:22,360 --> 00:29:30,140 И овие се сите датотеки кои веќе дојде со дефиниција, многу убаво. 466 00:29:30,140 --> 00:29:35,980 Значи, кога ќе кликнете на еден од нив тоа е она што изгледа како. 467 00:29:35,980 --> 00:29:38,530 Многу слична на г уреди. 468 00:29:38,530 --> 00:29:41,340 Но, можете да видите дека означување на синтаксата е веројатно 469 00:29:41,340 --> 00:29:42,780 малку поубаво. 470 00:29:42,780 --> 00:29:45,610 И тоа е всушност многу повеќе помоќни од г уредување. 471 00:29:45,610 --> 00:29:49,970 И вие може автоматски да заврши многу работи за вас, 472 00:29:49,970 --> 00:29:52,370 како што ќе видиме многу брзо. 473 00:29:52,370 --> 00:29:54,100 >> Ајде да се отвори дебагирање област, како и. 474 00:29:54,100 --> 00:30:02,790 475 00:30:02,790 --> 00:30:07,000 Сите во право, како што можеме да видиме, конзолата е во право тука. 476 00:30:07,000 --> 00:30:13,840 Тоа е она што ви се случува да се види каде сте во printf или nsloging нешто. 477 00:30:13,840 --> 00:30:17,155 Значи без понатамошно ado, ајде да се, всушност, собере на стан и да видиме што се случува. 478 00:30:17,155 --> 00:30:20,000 479 00:30:20,000 --> 00:30:23,410 Една клучна карактеристика за ОК код, е тоа што е кодот 480 00:30:23,410 --> 00:30:25,850 доаѓа со iPhone симулатор. 481 00:30:25,850 --> 00:30:29,820 Значи, вие не треба да имаат iPhone за да се обиде својата проектот, 482 00:30:29,820 --> 00:30:34,440 ОК код може да се симулира дека за Вие, како може да се види во моментов. 483 00:30:34,440 --> 00:30:36,406 >> Тоа е прилично убаво. 484 00:30:36,406 --> 00:30:38,640 Тоа е преземање на малку малку време за да ги собере 485 00:30:38,640 --> 00:30:43,040 и во основа имаме празен апликација, 486 00:30:43,040 --> 00:30:44,640 кои всушност не прави ништо. 487 00:30:44,640 --> 00:30:46,175 Но, тоа компајлира. 488 00:30:46,175 --> 00:30:47,380 Тоа е прилично неверојатна. 489 00:30:47,380 --> 00:30:50,200 Тоа е многу подобро отколку Ц, нели? 490 00:30:50,200 --> 00:30:52,130 Сите во право, тогаш ајде обидете се да додадете нешто. 491 00:30:52,130 --> 00:30:56,050 492 00:30:56,050 --> 00:31:02,650 Еден датотеката која е малку чудно тука се нарекува сценариото. 493 00:31:02,650 --> 00:31:08,020 Ова всушност е еден голем, страшни карактеристика за с код. 494 00:31:08,020 --> 00:31:14,170 Бидејќи во с код, всушност можете да влечете и да го испуштите елементи врз интерфејс 495 00:31:14,170 --> 00:31:17,430 и тоа директно ќе се појави. 496 00:31:17,430 --> 00:31:18,055 Ајде да се обидеме тоа. 497 00:31:18,055 --> 00:31:21,230 498 00:31:21,230 --> 00:31:27,236 >> Ние капка етикета тука "Здраво Светот !!!" 499 00:31:27,236 --> 00:31:29,740 Ние можеме да центрирате тоа. 500 00:31:29,740 --> 00:31:30,970 Прилично кул. 501 00:31:30,970 --> 00:31:33,915 Сега ајде да ја извршите оваа станица симулација. 502 00:31:33,915 --> 00:31:36,940 503 00:31:36,940 --> 00:31:38,700 Тука имаме "Здраво !!!" 504 00:31:38,700 --> 00:31:40,810 Ние дури и не се направи било кодирање уште. 505 00:31:40,810 --> 00:31:42,750 Што е грижам се случува? 506 00:31:42,750 --> 00:31:45,880 Ова е како моќен Интерфејс градител може да биде. 507 00:31:45,880 --> 00:31:48,030 Некој дури и изјави дека веројатно може да се само 508 00:31:48,030 --> 00:31:52,800 заврши на стан без писмо веројатно илјада линии на код 509 00:31:52,800 --> 00:31:54,820 само со користење на интерфејс градител. 510 00:31:54,820 --> 00:31:59,680 Но, тоа е веројатно не најдобар начин да го стори тоа. 511 00:31:59,680 --> 00:32:01,670 >> Сега ајде да се, всушност, се фаќате за кодирање. 512 00:32:01,670 --> 00:32:04,860 513 00:32:04,860 --> 00:32:08,330 Значи структура за датотеката е всушност навистина интересно 514 00:32:08,330 --> 00:32:15,610 затоа што, како што може да видите, постојат не е главната функција насекаде. 515 00:32:15,610 --> 00:32:17,466 Види? 516 00:32:17,466 --> 00:32:19,340 Како што споменавме порано, може да се види дека ова 517 00:32:19,340 --> 00:32:22,830 е датотека за имплементација за одредена класа. 518 00:32:22,830 --> 00:32:25,690 Но, не постои главна насекаде. 519 00:32:25,690 --> 00:32:27,490 Значи, каде што е главен? 520 00:32:27,490 --> 00:32:31,970 Всушност, таму е главната, но Главните е, всушност, скриени од вас. 521 00:32:31,970 --> 00:32:34,560 Главните е тука. 522 00:32:34,560 --> 00:32:37,120 Тоа изгледа познато. 523 00:32:37,120 --> 00:32:41,000 >> Значи, во основа она што iOS прави во главниот 524 00:32:41,000 --> 00:32:43,540 е дека секогаш кога е главната вика, кој во основа е 525 00:32:43,540 --> 00:32:49,000 секогаш кога стан е погубен, со него создава објект наречен AppDelegate. 526 00:32:49,000 --> 00:32:52,980 527 00:32:52,980 --> 00:32:57,350 Како што споменавме порано, целиот стан е всушност предмет по себе. 528 00:32:57,350 --> 00:33:02,270 Така на овој начин, во основа на IOS стан кажува компајлер 529 00:33:02,270 --> 00:33:05,540 дека во ред, јас ќе одам да се создаде производ наречен AppDelegate, 530 00:33:05,540 --> 00:33:07,620 и тоа ќе биде мојот стан. 531 00:33:07,620 --> 00:33:09,640 Значи треба да се оди преку кои AppDelegate 532 00:33:09,640 --> 00:33:12,040 и да видиме што тој и тој прави. 533 00:33:12,040 --> 00:33:14,850 Мојата работа е направено за мене. 534 00:33:14,850 --> 00:33:22,070 >> И во AppDelegate можете да видите дека постојат некои навистина чудни функции, 535 00:33:22,070 --> 00:33:25,290 и всушност методи, кои Apple веќе ти даде. 536 00:33:25,290 --> 00:33:27,464 Што се овие? 537 00:33:27,464 --> 00:33:31,010 Ова се всушност само протоколи што зборувам. 538 00:33:31,010 --> 00:33:35,670 Значи овие се настани што Apple ти даде да се започне со. 539 00:33:35,670 --> 00:33:38,050 Нема ништо во некои на функциите во моментов, 540 00:33:38,050 --> 00:33:40,820 но ако сакаме да се иницијализира нешто за нашиот стан 541 00:33:40,820 --> 00:33:46,140 пред да влезат прикажување секој поглед, тоа го правиме тука. 542 00:33:46,140 --> 00:33:51,150 >> Вие само може да го прочитате името и претпоставувам настанот е всушност навистина јасно. 543 00:33:51,150 --> 00:33:54,160 544 00:33:54,160 --> 00:33:58,350 Така, сега главниот создаде објект за AppDelegate. 545 00:33:58,350 --> 00:34:05,220 И што AppDelegate се случува да се направи е, всушност, исто така, сокриени од вас. 546 00:34:05,220 --> 00:34:09,250 На AppDelegate се случува да започне вчитувањето на акции ViewController. 547 00:34:09,250 --> 00:34:13,170 Така, тоа е во основа се случува да се започне товарењето сите погледи дека имате 548 00:34:13,170 --> 00:34:17,500 и само да ја даде на гледање врз основа на хиерархијата. 549 00:34:17,500 --> 00:34:21,280 >> Значи во овој случај имаме само еден поглед, кој е тука. 550 00:34:21,280 --> 00:34:25,060 Па тоа е само поглед што се случува да се нарече. 551 00:34:25,060 --> 00:34:28,159 На ViewController логика е во право тука. 552 00:34:28,159 --> 00:34:32,159 Ова е кодот, кој, всушност, го контролира поглед кој го видоа. 553 00:34:32,159 --> 00:34:33,679 Добро, ајде да направиме нешто тука. 554 00:34:33,679 --> 00:34:44,030 555 00:34:44,030 --> 00:34:50,560 Значи viewDidLoad звучи како некој настан, кога, всушност, ова е, исто така, пратеник, 556 00:34:50,560 --> 00:34:52,500 ова е, исто така, на друг протокол. 557 00:34:52,500 --> 00:34:56,350 >> Значи она што погледот е натоварен, Сè што во внатрешноста на функцијата 558 00:34:56,350 --> 00:34:57,920 ќе бидат повикани. 559 00:34:57,920 --> 00:35:02,840 Во овој случај ќе треба да се види "Здраво Tianyu! "Ако ние ја стартувате програмата. 560 00:35:02,840 --> 00:35:09,820 561 00:35:09,820 --> 00:35:12,842 Тоа е добивање малку бавен составувањето на сценариото датотеки. 562 00:35:12,842 --> 00:35:15,440 563 00:35:15,440 --> 00:35:18,190 Па навистина, гледам излез за тоа. 564 00:35:18,190 --> 00:35:20,720 Тоа е прилично кул. 565 00:35:20,720 --> 00:35:22,000 Сега ајде да всушност прават Марио. 566 00:35:22,000 --> 00:35:25,400 567 00:35:25,400 --> 00:35:27,625 Одам да се дефинираат функционира многу брзо. 568 00:35:27,625 --> 00:35:31,510 569 00:35:31,510 --> 00:35:54,245 marioWithLevels: (int) ниво резултати. 570 00:35:54,245 --> 00:36:01,120 571 00:36:01,120 --> 00:36:06,410 >> Добро, ова е всушност одличен карактеристика е кодот авто проектот. 572 00:36:06,410 --> 00:36:10,680 Па кога ќе пишувам за и напишете го внесете, што веќе се откажал од дефиниција 573 00:36:10,680 --> 00:36:12,325 за вас, што е прилично кул. 574 00:36:12,325 --> 00:36:50,480 575 00:36:50,480 --> 00:36:52,850 Тоа би требало да изгледа навистина запознаени за вас момци. 576 00:36:52,850 --> 00:36:55,940 577 00:36:55,940 --> 00:36:59,680 За жал, тоа е моја вина. 578 00:36:59,680 --> 00:37:15,790 579 00:37:15,790 --> 00:37:18,120 Добро, кул. 580 00:37:18,120 --> 00:37:22,710 Таа логика би требало да изгледа навистина познато да ви момци, особено само Марио. 581 00:37:22,710 --> 00:37:26,140 >> Но, ние сега ќе печати до конзола секој пат, 582 00:37:26,140 --> 00:37:29,280 затоа што ние сакаме некако да се задржи ги пратите на она што се печатење. 583 00:37:29,280 --> 00:37:31,810 Ние сме случува да се користи резултира некако подоцна, 584 00:37:31,810 --> 00:37:35,010 за да се прикаже печатење надвор да доведе до корисникот. 585 00:37:35,010 --> 00:37:37,730 Така, наместо ние сме само nslogging сè, 586 00:37:37,730 --> 00:37:42,410 кои ние сме чување на сето она во повик на функција резултат на тоа, 587 00:37:42,410 --> 00:37:44,070 но логиката е иста. 588 00:37:44,070 --> 00:37:48,030 589 00:37:48,030 --> 00:37:51,800 Откако се тоа, ние заврши само печати нашите резултати. 590 00:37:51,800 --> 00:37:59,330 591 00:37:59,330 --> 00:38:04,970 >> И тука, наместо на печатење мојот име, ние ќе треба да се јавите на функција. 592 00:38:04,970 --> 00:38:15,340 593 00:38:15,340 --> 00:38:18,090 Ајде да видиме што се случува. 594 00:38:18,090 --> 00:38:21,240 Упс, очигледно. 595 00:38:21,240 --> 00:38:24,320 Ние имаме убав малку пирамида од тука. 596 00:38:24,320 --> 00:38:28,370 Ова е во основа C, ние сме само манипулирање, каде што ќе се јавите на функција 597 00:38:28,370 --> 00:38:30,010 и како функција изгледа. 598 00:38:30,010 --> 00:38:31,560 Нема ништо различно. 599 00:38:31,560 --> 00:38:34,040 Но, ова е, всушност, не многу возбудливо тука, 600 00:38:34,040 --> 00:38:37,500 бидејќи ние не гледате ништо од iPhone стан. 601 00:38:37,500 --> 00:38:42,120 >> Значи, ако навистина имаат iPhone app-- ако навистина имаат Марио iOS право 602 00:38:42,120 --> 00:38:45,080 Сега, вие не си оди да се види нешто што 603 00:38:45,080 --> 00:38:49,450 има нешто да се прави со Марио, бидејќи сите оние резултати во конзола 604 00:38:49,450 --> 00:38:51,620 се скриени од корисникот. 605 00:38:51,620 --> 00:38:53,850 Ова е она што го гледате, која е "Здраво Светот !!!" 606 00:38:53,850 --> 00:38:55,720 Не е добра. 607 00:38:55,720 --> 00:39:03,090 Сега ајде да се обидеме да се направи на корисникот видите што точно сме печатење. 608 00:39:03,090 --> 00:39:06,000 Значи ние не треба да се означат повеќе. 609 00:39:06,000 --> 00:39:09,800 Ајде да се обиде да дознаам нешто друго што може да биде корисно. 610 00:39:09,800 --> 00:39:12,140 >> Таму е, всушност една елемент кој се нарекува 611 00:39:12,140 --> 00:39:16,460 текстуално поле, што би можело да да биде многу корисна за нас. 612 00:39:16,460 --> 00:39:19,880 Тоа во основа се прикажува во регионот од текст кој може да се уредува. 613 00:39:19,880 --> 00:39:22,320 Така што изгледа навистина корисни. 614 00:39:22,320 --> 00:39:23,810 Сега ајде да го повлечете и да го испуштите. 615 00:39:23,810 --> 00:39:26,880 616 00:39:26,880 --> 00:39:32,670 Леле, ние имаме текстот изглед Според наше мислење, навистина фенси. 617 00:39:32,670 --> 00:39:35,430 Тоа е малку преголема. 618 00:39:35,430 --> 00:39:38,150 Ајде да ја направи помала. 619 00:39:38,150 --> 00:39:40,290 Ставете го во центар. 620 00:39:40,290 --> 00:39:43,760 Да ја направи помала, како и. 621 00:39:43,760 --> 00:39:50,110 >> Сега имаме текст поглед, што ги се користи за приказ на нашата конечниот резултат. 622 00:39:50,110 --> 00:39:52,860 Но, во моментов тоа е дефинитивно не оди на работа 623 00:39:52,860 --> 00:39:56,970 бидејќи постои no-- на ViewController ние само 624 00:39:56,970 --> 00:40:03,010 дефинирани не знае дека постои текст поглед таму. 625 00:40:03,010 --> 00:40:06,550 Значи ние треба да некако линк текстот поглед ние само 626 00:40:06,550 --> 00:40:11,660 создадени со класата која веќе дојде со нас. 627 00:40:11,660 --> 00:40:14,860 >> Начинот на кој го правиме е всушност навистина магично. 628 00:40:14,860 --> 00:40:18,190 Значи се отвори сценариото. 629 00:40:18,190 --> 00:40:22,220 Постои посебна [нечујни] наречен [? асистент?] [нечујни]. 630 00:40:22,220 --> 00:40:25,190 Кога ќе кликнете на тоа, тоа е ќе се отвори уште две датотеки. 631 00:40:25,190 --> 00:40:29,425 Еден е класа, а другиот е соодветна поглед за тоа. 632 00:40:29,425 --> 00:40:31,920 Тоа е многу, многу корисни. 633 00:40:31,920 --> 00:40:35,950 И ајде да оди преку .h датотека. 634 00:40:35,950 --> 00:40:39,110 Контрола, ова е [нечујни] логика. 635 00:40:39,110 --> 00:40:47,280 Прес контрола и повлечете текст поглед во декларацијата. 636 00:40:47,280 --> 00:40:48,780 Ние ќе се јавите дека outputView. 637 00:40:48,780 --> 00:40:52,189 638 00:40:52,189 --> 00:40:53,670 Поврзете се. 639 00:40:53,670 --> 00:40:59,420 Значи тука имаме прогласи нови имот за нашите ViewController класа. 640 00:40:59,420 --> 00:41:02,300 И новиот имот е само текстот изглед 641 00:41:02,300 --> 00:41:05,000 ние сме создадени во зградата интерфејс. 642 00:41:05,000 --> 00:41:07,990 Така, на тој начин што можевме пристап на сите податоци 643 00:41:07,990 --> 00:41:13,630 и манипулираат со сето она што е внатре на излез поглед, што е неверојатна. 644 00:41:13,630 --> 00:41:19,260 >> Значи, во нашиот вистински код, ајде да се направи нешто со неа. 645 00:41:19,260 --> 00:41:23,810 Значи ова време кога ние сме како печатење од конечниот резултат за Марио, 646 00:41:23,810 --> 00:41:28,020 ние сме во не влезете ништо. 647 00:41:28,020 --> 00:41:30,080 Мислам ние може да се задржи логирање изјава. 648 00:41:30,080 --> 00:41:41,490 Во прилог на тоа, испрати на отчитување ние само 649 00:41:41,490 --> 00:41:47,622 создадени за излез гледиште кое е адаптери textview ние само замислен. 650 00:41:47,622 --> 00:41:48,746 Сега да видиме што се случува. 651 00:41:48,746 --> 00:41:54,470 652 00:41:54,470 --> 00:41:56,620 Леле. 653 00:41:56,620 --> 00:41:59,130 Имаме пирамида во стан во моментов. 654 00:41:59,130 --> 00:42:06,720 >> Значи, корисникот може да видите нашите излез, бидејќи ние се копирани на излез од нашиот код 655 00:42:06,720 --> 00:42:08,045 за нашите интерфејс. 656 00:42:08,045 --> 00:42:10,950 Тоа е прилично добар. 657 00:42:10,950 --> 00:42:14,990 Тоа е всушност не дека возбудлив, бидејќи ние can-- 658 00:42:14,990 --> 00:42:18,250 Сите стан го прави е покажуваат пирамида за вас, 659 00:42:18,250 --> 00:42:20,520 и нема ништо што можете да направите во врска со тоа. 660 00:42:20,520 --> 00:42:22,330 Тоа не е особено возбудливо. 661 00:42:22,330 --> 00:42:27,840 Па сега ајде да се направи копче Тоа ќе му го погледи. 662 00:42:27,840 --> 00:42:30,290 Се чини дека само едно копче ќе бидат од корист. 663 00:42:30,290 --> 00:42:33,270 Drag and drop. 664 00:42:33,270 --> 00:42:33,900 Батон еден. 665 00:42:33,900 --> 00:42:36,730 666 00:42:36,730 --> 00:42:37,320 Батон две. 667 00:42:37,320 --> 00:42:49,170 668 00:42:49,170 --> 00:42:52,052 >> Значи, кога ќе кликнете на левото копчето, погледот треба да се расчисти. 669 00:42:52,052 --> 00:42:53,635 Треба да има ништо на екранот. 670 00:42:53,635 --> 00:42:56,970 И кога ќе кликнете на десното копче, Марио, 671 00:42:56,970 --> 00:42:59,740 погледот ќе се појави повторно. 672 00:42:59,740 --> 00:43:05,510 Така на овој начин ние, исто така, го направи магија работи, контрола и влечете 673 00:43:05,510 --> 00:43:08,740 на класа декларација во асистент director-- 674 00:43:08,740 --> 00:43:11,600 во асистент гледачот. 675 00:43:11,600 --> 00:43:18,620 Во овој случај ние се специфицирање дека тоа треба да биде акција. 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 >> Значи тука сме веќе имаш креирано акција наречена clearMario, 679 00:43:26,830 --> 00:43:34,210 која е метод кој ќе се вика кога ние притиснете го копчето јасно. 680 00:43:34,210 --> 00:43:41,030 Значи, во нашиот всушност код, ајде да стави на излез текст и излез поглед 681 00:43:41,030 --> 00:43:44,620 во ништо, и на тој начин тоа ќе се појави за да биде јасно. 682 00:43:44,620 --> 00:43:47,500 683 00:43:47,500 --> 00:43:57,230 Во прилог на тоа, да се создаде друг метод наречен runMario. 684 00:43:57,230 --> 00:44:00,140 685 00:44:00,140 --> 00:44:03,436 Ох жал, тоа не треба да биде во сопственост. 686 00:44:03,436 --> 00:44:12,107 687 00:44:12,107 --> 00:44:13,940 Сите во право, дека треба да биде акција, како и. 688 00:44:13,940 --> 00:44:25,780 689 00:44:25,780 --> 00:44:34,740 >> И кога таа функција е вика, ние едноставно се кандидира Марио десет. 690 00:44:34,740 --> 00:44:37,620 691 00:44:37,620 --> 00:44:39,780 Се надеваме дека ќе биде во ред. 692 00:44:39,780 --> 00:44:41,120 Дали тоа ги собере? 693 00:44:41,120 --> 00:44:43,920 Да. 694 00:44:43,920 --> 00:44:45,090 Сега имаме цел. 695 00:44:45,090 --> 00:44:46,560 Имаме излез. 696 00:44:46,560 --> 00:44:50,040 И ајде да видиме што се случува. 697 00:44:50,040 --> 00:44:52,590 Тоа го нема. 698 00:44:52,590 --> 00:44:54,500 Тоа е повторно назад. 699 00:44:54,500 --> 00:44:57,620 Значи тука имаме одреден каков вид на функција 700 00:44:57,620 --> 00:45:00,400 ќе се вика кога ние напишете нешто, 701 00:45:00,400 --> 00:45:03,160 кога ќе притиснете на копчето специфични. 702 00:45:03,160 --> 00:45:07,890 Ова е во основа целта акција шема 703 00:45:07,890 --> 00:45:12,510 за настан управувано Цел програмирање во В. 704 00:45:12,510 --> 00:45:15,030 >> Во прилог на тоа, тоа не е многу возбудливо 705 00:45:15,030 --> 00:45:19,810 затоа што навистина не може да се промени колку високо на пирамидата ќе биде, 706 00:45:19,810 --> 00:45:23,640 па веројатно ќе сакате да се некако добие влез од корисникот 707 00:45:23,640 --> 00:45:29,490 и промена на висината на пирамида врз основа на она што тие излез. 708 00:45:29,490 --> 00:45:32,900 Така ние ќе го направи тоа. 709 00:45:32,900 --> 00:45:38,720 Значи ова време кога ние го нарекуваме runMario, ние не само повик Марио директно. 710 00:45:38,720 --> 00:46:06,280 711 00:46:06,280 --> 00:46:07,000 Наслов ова ми е. 712 00:46:07,000 --> 00:46:22,180 713 00:46:22,180 --> 00:46:23,700 >> Делегат. 714 00:46:23,700 --> 00:46:25,160 Ова е многу интересно. 715 00:46:25,160 --> 00:46:26,720 Што е делегат? 716 00:46:26,720 --> 00:46:28,950 Одам да се стави само тука. 717 00:46:28,950 --> 00:46:31,038 И ние си оди за да се види што значи тоа подоцна. 718 00:46:31,038 --> 00:46:46,380 719 00:46:46,380 --> 00:46:51,120 Значи тука имаме основа е замислен специфичен пример се нарекува адаптери алармирање 720 00:46:51,120 --> 00:46:52,210 поглед. 721 00:46:52,210 --> 00:46:54,440 А адаптери алармирање поглед е во основа она што ќе 722 00:46:54,440 --> 00:46:58,940 види секој пат кога нешто се појавува и ве прашува за влез, 723 00:46:58,940 --> 00:47:03,080 како што ќе се случи кога ќе се обидуваш да купите нешто на еден стан продавница. 724 00:47:03,080 --> 00:47:14,250 >> Во прилог на тоа, откако ќе се создаде тоа, ние само се покаже на алармирање. 725 00:47:14,250 --> 00:47:20,090 726 00:47:20,090 --> 00:47:22,568 Добро, ајде да брзо тест кој ќе работи или не. 727 00:47:22,568 --> 00:47:31,105 728 00:47:31,105 --> 00:47:32,140 Тоа е многу кул. 729 00:47:32,140 --> 00:47:55,370 730 00:47:55,370 --> 00:47:59,120 Сега ајде да всушност се создаде поле за внес за адаптери алармирање. 731 00:47:59,120 --> 00:48:01,170 Ова е како да го направи тоа. 732 00:48:01,170 --> 00:48:07,490 И ние треба да имаат влез поглед за алармирање. 733 00:48:07,490 --> 00:48:09,020 Многу кул. 734 00:48:09,020 --> 00:48:12,330 Да речеме 10. 735 00:48:12,330 --> 00:48:14,900 >> Тоа не е ништо во право сега, бидејќи повикот всушност 736 00:48:14,900 --> 00:48:17,770 не се промени за извршување на Марио. 737 00:48:17,770 --> 00:48:23,470 Значи ова стана малку малку чудно, бидејќи секогаш кога 738 00:48:23,470 --> 00:48:30,790 ние притиснете само едно копче надолу, секогаш кога притиснете копче во поглед на алармирање, 739 00:48:30,790 --> 00:48:35,560 нешто треба да се случи, но тоа не се случи. 740 00:48:35,560 --> 00:48:37,220 Како да се фати тоа? 741 00:48:37,220 --> 00:48:41,280 Како да знаеме дека ако еден корисник ја отфрли поглед на алармирање 742 00:48:41,280 --> 00:48:45,630 и веќе влезе во број, бидејќи во моментов ништо не е навистина се случува. 743 00:48:45,630 --> 00:48:50,450 >> Добро, вие може да се претпостави тоа право, делегација. 744 00:48:50,450 --> 00:48:55,440 Значи во прилог на сите овие декларации, 745 00:48:55,440 --> 00:49:03,190 ние треба да додадете нова делегација го нарече адаптери алармирање поглед делегат. 746 00:49:03,190 --> 00:49:06,440 Така што секој интеракција или настан 747 00:49:06,440 --> 00:49:10,190 дека ние ќе треба да имаат со адаптери алармирање поглед 748 00:49:10,190 --> 00:49:14,100 се случува да се ракува од страна на нашата класа, како и. 749 00:49:14,100 --> 00:49:26,297 >> Така, во прилог на тоа, ќе биде алармирање поглед кликнете на копчето на индекс. 750 00:49:26,297 --> 00:49:34,260 751 00:49:34,260 --> 00:49:37,730 Ова е достигнат. 752 00:49:37,730 --> 00:49:42,020 Значи во тој случај имаме already-- така што мораме 753 00:49:42,020 --> 00:49:46,210 дознав дека протоколот ќе се справи со случај кога 754 00:49:46,210 --> 00:49:51,320 ние кликнете на копчето Признаена од приказот на алармирање. 755 00:49:51,320 --> 00:49:55,976 Значи, секој пат кога ние го разреши алармирање, ова треба да се случи. 756 00:49:55,976 --> 00:49:57,350 Дозволете ми да го пробате многу брзо. 757 00:49:57,350 --> 00:50:16,220 758 00:50:16,220 --> 00:50:19,300 Па навистина, сме постигнале тука. 759 00:50:19,300 --> 00:50:22,210 >> Па еве, Она што нема да всушност е, всушност, 760 00:50:22,210 --> 00:50:43,120 добие the-- Значи, сакаме да се излезе текстот што го имаме претходно 761 00:50:43,120 --> 00:50:45,350 внесуваат во поглед на алармирање. 762 00:50:45,350 --> 00:50:48,505 И врз основа на текстот, ние сме ќе се прикаже Марио. 763 00:50:48,505 --> 00:50:52,336 764 00:50:52,336 --> 00:50:55,480 Ова многу брзо Излегува ако тоа всушност функционира или не. 765 00:50:55,480 --> 00:50:59,476 Значи во тој случај, ако ние влез, да речеме, 10, треба да се види 10. 766 00:50:59,476 --> 00:51:02,740 767 00:51:02,740 --> 00:51:05,210 >> Многу добро, ние имаме голем број тука. 768 00:51:05,210 --> 00:51:06,470 Тоа е прилично добар. 769 00:51:06,470 --> 00:51:16,840 Сега последниот чекор ќе be-- Значи Последниот чекор што треба да направите во моментов 770 00:51:16,840 --> 00:51:21,100 е само повик Марио со ниво врз основа на внесување 771 00:51:21,100 --> 00:51:23,270 дека ние се стави во поглед на алармирање. 772 00:51:23,270 --> 00:51:26,920 Значи ние треба да го претворите овој стринг во iOS. 773 00:51:26,920 --> 00:51:33,820 774 00:51:33,820 --> 00:51:35,496 Статични overflow е многу страшно. 775 00:51:35,496 --> 00:51:44,930 776 00:51:44,930 --> 00:51:51,182 И тогаш ние само се јавите себе marioWithLevels вредност. 777 00:51:51,182 --> 00:51:54,550 778 00:51:54,550 --> 00:51:56,284 Ајде да видиме што ќе всушност работат или не. 779 00:51:56,284 --> 00:51:59,070 780 00:51:59,070 --> 00:52:01,550 >> Ние сме веќе со оглед на пирамида. 781 00:52:01,550 --> 00:52:04,785 Да се ​​обидеме да ја менува висината. 782 00:52:04,785 --> 00:52:06,530 Тоа всушност се работи. 783 00:52:06,530 --> 00:52:07,610 Тоа е прилично кул. 784 00:52:07,610 --> 00:52:10,420 Така што сега може да се само внесување на било која вредност што го сакате. 785 00:52:10,420 --> 00:52:12,440 Да речеме четири. 786 00:52:12,440 --> 00:52:14,260 Тоа е прилично неверојатна. 787 00:52:14,260 --> 00:52:17,090 Значи ова е во основа навистина брз пример 788 00:52:17,090 --> 00:52:23,170 за тоа како да се создаде проект во ОК код и како да се навистина брзо жица до 789 00:52:23,170 --> 00:52:26,220 некои навистина едноставни настани и функции. 790 00:52:26,220 --> 00:52:28,840 >> Значи изворот се случува да се стави онлајн подоцна. 791 00:52:28,840 --> 00:52:33,400 Значи, ако сте заинтересирани во тоа како iOS Марио работи, 792 00:52:33,400 --> 00:52:38,360 Одам да се стави токму на истиот проекти со излез на веб страница CS50 подоцна. 793 00:52:38,360 --> 00:52:41,260 Ние сме во основа се направи со лето, и пред да заврши 794 00:52:41,260 --> 00:52:45,190 Јас само сакам да ви точка момци да некои навистина страшни ресурси кои 795 00:52:45,190 --> 00:52:47,550 се достапни онлајн. 796 00:52:47,550 --> 00:52:52,270 >> Очигледно на Apple документација се случува да биде многу корисна. 797 00:52:52,270 --> 00:52:57,630 Но, во прилог на тоа, јас особено препорачуваме четири извори, кодот училиште, 798 00:52:57,630 --> 00:53:02,120 дрво куќа, AppCoda и WWDC видео клипови. 799 00:53:02,120 --> 00:53:07,270 Код училиште и дрво куќа се две онлајн Едукација веб-сајтови, 800 00:53:07,270 --> 00:53:10,210 што посебно ќе се фокусира на софтверското инженерство. 801 00:53:10,210 --> 00:53:16,930 Особено за код училиште, имаат навистина добри туториал за iOS. 802 00:53:16,930 --> 00:53:19,550 >> Тоа е навистина брз пример за тоа. 803 00:53:19,550 --> 00:53:22,980 Тие всушност се создаде навистина cute-- гледам дека мала симпатична iPhone 804 00:53:22,980 --> 00:53:24,920 Еј таму, тоа е прилично неверојатна. 805 00:53:24,920 --> 00:53:31,010 И начинот на кој тие се објасни Цел C синтакса е совршено јасно. 806 00:53:31,010 --> 00:53:32,230 Дрво куќа е иста. 807 00:53:32,230 --> 00:53:34,660 И AppCoda е форум. 808 00:53:34,660 --> 00:53:38,130 Тоа е всушност блог, кој ја водеше со навистина искусни Цел C 809 00:53:38,130 --> 00:53:39,120 програмер. 810 00:53:39,120 --> 00:53:43,950 И сите тие упатства во AppCoda се прилично краток и лесно да се спроведе, 811 00:53:43,950 --> 00:53:45,390 високо препорачливо. 812 00:53:45,390 --> 00:53:47,700 >> И ако сте програмер, дефинитивно оди провери 813 00:53:47,700 --> 00:53:55,660 како WWDC видеа каде што можете да се запознаат со најновите iOS програмирање 814 00:53:55,660 --> 00:53:58,250 техники, API и библиотеки. 815 00:53:58,250 --> 00:54:02,850 Па тоа е доста тоа за семинарот. 816 00:54:02,850 --> 00:54:03,820 Ви благодарам многу. 817 00:54:03,820 --> 00:54:08,040 И се надевам дека ќе се забавувате создавање на свој IOS стан. 818 00:54:08,040 --> 00:54:09,302