1 00:00:00,000 --> 00:00:07,880 2 00:00:07,880 --> 00:00:09,800 >> RHED SHI: Добре дошли в виж CS50 семинар - 3 00:00:09,800 --> 00:00:11,630 Въведение в IOS. 4 00:00:11,630 --> 00:00:13,290 Благодаря на всички ви, че дойдохте. 5 00:00:13,290 --> 00:00:16,610 Надявам се, че вие ​​сте също толкова развълнувани тъй като аз съм за IOS. 6 00:00:16,610 --> 00:00:22,300 Миналата година взех CS50 като второкурсник, и аз основно се научили IOS за моя 7 00:00:22,300 --> 00:00:23,490 окончателен проект. 8 00:00:23,490 --> 00:00:26,350 И това беше доста - 9 00:00:26,350 --> 00:00:30,530 добре, че не беше лесно, но има много уроци за подкрепа онлайн. 10 00:00:30,530 --> 00:00:33,760 И аз наистина се надявам, че с тази семинар, аз ще ви дам момчета за глава 11 00:00:33,760 --> 00:00:36,750 начало на развитие IOS 12 00:00:36,750 --> 00:00:40,490 >> Така че, от гледна точка на развитието на IOS, има две основни неща, които ние 13 00:00:40,490 --> 00:00:42,090 Искам да обхване днес. 14 00:00:42,090 --> 00:00:43,290 Първо, на езика - 15 00:00:43,290 --> 00:00:46,650 езикът ще бъде в Objective-C. Ние всъщност ще чуете 16 00:00:46,650 --> 00:00:47,750 нещо наистина вълнуващо. 17 00:00:47,750 --> 00:00:51,500 Така че, можете да се присъедините цялата ябълка общност от разработчици и изграждане на някои 18 00:00:51,500 --> 00:00:52,940 наистина страхотни приложения. 19 00:00:52,940 --> 00:00:58,670 >> Също така, IOS 7 е красива, да се надяваме, за някои от вас. 20 00:00:58,670 --> 00:01:01,130 Но това е спорно, знам. 21 00:01:01,130 --> 00:01:05,349 И най-вече, това, което искам да направя е водач вас чрез Objective-C, а също и 22 00:01:05,349 --> 00:01:10,650 Xcode, който е интегриран развитие на околната среда, която ще бъде 23 00:01:10,650 --> 00:01:13,460 работи в за IOS. 24 00:01:13,460 --> 00:01:19,140 >> И така, само една дума на Objective-C. По принцип, това е точно същото като C, 25 00:01:19,140 --> 00:01:22,790 но с много други неща. 26 00:01:22,790 --> 00:01:27,710 И така, по-строго, това всъщност е супер-комплект от C. Така че всичко, което ви 27 00:01:27,710 --> 00:01:32,280 може да се направи в C точно сега, което е основно като PSET от 0 до 6, вие 28 00:01:32,280 --> 00:01:34,170 може да се направи в Objective-C. 29 00:01:34,170 --> 00:01:38,620 >> Така че, не се страхуват за тази нова език, че започваш да се учи. 30 00:01:38,620 --> 00:01:42,120 Вече сме обхванати голяма част от нея, защото всичко, което съм правил C това минало 31 00:01:42,120 --> 00:01:45,880 семестър, с изключение на сега започваш да има още много да се работи. 32 00:01:45,880 --> 00:01:49,270 И аз съм просто ще ви отведе чрез няколко примера, за да подчертае някои 33 00:01:49,270 --> 00:01:53,920 от основните разлики, които намерих бяха Наистина е важно, когато научих, 34 00:01:53,920 --> 00:01:57,180 Objective-C миналата година. 35 00:01:57,180 --> 00:02:00,910 >> И действително, така, друга точка е, Objective-C е, очевидно, 36 00:02:00,910 --> 00:02:02,200 обектно-ориентиран. 37 00:02:02,200 --> 00:02:06,340 И ние ще обсъдим малко за това, което означава, че по-късно. 38 00:02:06,340 --> 00:02:11,340 По принцип, това е като как сте работили с structs в това минало PSET, с 39 00:02:11,340 --> 00:02:13,360 възли и други подобни такива неща. 40 00:02:13,360 --> 00:02:17,110 С изключение, в Objective-C, всичко е обект, и ти започваш да бъде 41 00:02:17,110 --> 00:02:20,720 минаваща около указатели към обекти отколкото самите стойности. 42 00:02:20,720 --> 00:02:25,050 Така че, това е просто нещо важно да се има предвид. 43 00:02:25,050 --> 00:02:29,140 >> Така че, защо да не започнем с няколко разлики в синтаксис между С и 44 00:02:29,140 --> 00:02:30,540 Objective-C? 45 00:02:30,540 --> 00:02:38,310 Искам да подчертая # включват, вие знам, стандартна io.h в C и C + +, с 46 00:02:38,310 --> 00:02:44,030 на Objective-C версия на това, което # е внос, и след това някакъв вид 47 00:02:44,030 --> 00:02:44,790 заглавния файл. 48 00:02:44,790 --> 00:02:48,165 В този случай, би било UIKit, Знаете ли, наклонена черта UIKit.h. 49 00:02:48,165 --> 00:02:53,560 Тя също може да бъде, вие знаете, MKMapview да ви намали MKMapview.h ако искате 50 00:02:53,560 --> 00:02:56,370 да се направи, като, карта вътре на вашия апартамент. 51 00:02:56,370 --> 00:02:57,110 Подобни неща като това. 52 00:02:57,110 --> 00:03:01,250 >> Така че, най-важното е да включва вече е променена, за да импортирате. 53 00:03:01,250 --> 00:03:04,340 Но идеята все още остава. 54 00:03:04,340 --> 00:03:10,460 Ще бъде вносител някаква на заглавния файл във вашата програма. 55 00:03:10,460 --> 00:03:14,550 >> Аз също искам да се подчертае разликата между ФОРМАТ и NSLog. 56 00:03:14,550 --> 00:03:19,760 Въпреки това, както казахме по-рано, Objective-C е строго супер-комплект 57 00:03:19,760 --> 00:03:22,800 С, което означава, че съществува ФОРМАТ в Objective-C, също. 58 00:03:22,800 --> 00:03:24,340 Но повечето хора не използват това. 59 00:03:24,340 --> 00:03:28,245 Повечето хора използват този NSLog защото тя дава щемпел на времето, и ще видим 60 00:03:28,245 --> 00:03:29,780 го в действие по-късно. 61 00:03:29,780 --> 00:03:33,560 Но, това е като цяло по-полезен начин да разпечатате променливи. 62 00:03:33,560 --> 00:03:38,220 >> И аз също искам да подчертая, че NSLog отнема по същия 63 00:03:38,220 --> 00:03:41,650 контейнерите ценности като ФОРМАТ прави - 64 00:03:41,650 --> 00:03:45,900 така% г е за едно цяло число, % F е за оборотни средства. 65 00:03:45,900 --> 00:03:49,750 Въпреки това, аз искам да се подчертае този последният - 66 00:03:49,750 --> 00:03:52,960 NSLog% в знак - 67 00:03:52,960 --> 00:03:55,390 че е контейнер за даден обект. 68 00:03:55,390 --> 00:04:01,160 И както казах по-рано, Objective-C сделки до голяма степен най-вече в обекти, 69 00:04:01,160 --> 00:04:05,020 и така това ще дойде в употреба, когато сте искате да отпечатате, може би, може би един 70 00:04:05,020 --> 00:04:08,390 NSArray, или NSDictionary, или NSString. 71 00:04:08,390 --> 00:04:13,750 >> Така че, също така, забележете, че в нашия NSLog изявление, ние имаме най-знак пред 72 00:04:13,750 --> 00:04:15,380 на цитата - 73 00:04:15,380 --> 00:04:20,769 че трябва да означава, че струни, сега в Objective-C са обекти. 74 00:04:20,769 --> 00:04:23,310 Те вече не са просто Чар звезди. 75 00:04:23,310 --> 00:04:25,530 Те са обекти и са третирани като такива. 76 00:04:25,530 --> 00:04:28,690 >> Така че, това е наистина важно, че когато използвате NSLog отнема в NS 77 00:04:28,690 --> 00:04:32,580 низ, което означава, че вие ​​ще имате да се включи в в предната част на 78 00:04:32,580 --> 00:04:34,270 кавички. 79 00:04:34,270 --> 00:04:38,290 И това е защо вие виждате, тук, във всички моята функция призовава към това NSLog, I 80 00:04:38,290 --> 00:04:42,400 имат най-отпред на котировките, дори макар% D и% F-те на са 81 00:04:42,400 --> 00:04:45,200 все пак от С. 82 00:04:45,200 --> 00:04:47,930 >> Всякакви въпроси досега? 83 00:04:47,930 --> 00:04:50,920 Ще се опитам да мина през това бързо, така че че можем да имаме повече време, за да работят 84 00:04:50,920 --> 00:04:55,210 с Xcode и Objective-C, така че че вие ​​може да получите повече 85 00:04:55,210 --> 00:04:57,630 запознат с него. 86 00:04:57,630 --> 00:05:01,900 >> На следващо място, искам да подчертая нещо концептуално важно. 87 00:05:01,900 --> 00:05:05,130 Така че, в C, повечето неща са функции. 88 00:05:05,130 --> 00:05:06,280 Ние правим извикване на функция. 89 00:05:06,280 --> 00:05:10,190 Ние заявяваме функции по този начин, с връщането тип, а след това на 90 00:05:10,190 --> 00:05:13,570 име на функция, скоби, а след това каквито и да било аргументи, както и вида на 91 00:05:13,570 --> 00:05:15,590 тези аргументи, които искаме да преминават инча 92 00:05:15,590 --> 00:05:19,970 И Objective-C, защото всичко е обект или клас - 93 00:05:19,970 --> 00:05:23,970 така клас и обект са две понятия, които са предимно синоним с всеки друг, 94 00:05:23,970 --> 00:05:28,270 така че могат да ги използват взаимозаменяемо целия семинар. 95 00:05:28,270 --> 00:05:34,090 >> Но, вие ще видите, че ние имаме методи в Цел-C, отколкото функции. 96 00:05:34,090 --> 00:05:36,390 И методи принадлежат към обекти. 97 00:05:36,390 --> 00:05:38,950 Така че, точно както, може би да се например, възел - 98 00:05:38,950 --> 00:05:40,250 нашия тип [недоловим] 99 00:05:40,250 --> 00:05:44,390 възел от PSET 6 или 5 - 100 00:05:44,390 --> 00:05:49,590 имаме думата, собствеността, или на следващия показалеца възел. 101 00:05:49,590 --> 00:05:53,880 Методи са просто функции вътре на някаква структура. 102 00:05:53,880 --> 00:05:57,510 >> Така, в този случай, структурата ще бъде обекта, и след това методът е 103 00:05:57,510 --> 00:05:59,260 нещо, което е обект. 104 00:05:59,260 --> 00:06:02,650 И това е начина, по който ще декларира, вид, метод. 105 00:06:02,650 --> 00:06:07,990 Ще започнем с това, отново, за връщане вид - така, аз се опитах да цвят 106 00:06:07,990 --> 00:06:12,990 кодират ключовите думи тук, така, че вие може да видите, най-малко, форматирането 107 00:06:12,990 --> 00:06:17,650 прилики между функция декларации и декларациите метод. 108 00:06:17,650 --> 00:06:21,990 Така че, да започнете с, нали знаеш, за връщане тип - в този случай, това е един масив, или 109 00:06:21,990 --> 00:06:23,910 на показалеца NSArray - 110 00:06:23,910 --> 00:06:26,710 и тогава ще трябва този метод. 111 00:06:26,710 --> 00:06:30,900 И след това, което е интересно тук е че вместо скоби, ние 112 00:06:30,900 --> 00:06:32,900 имаме тези колони. 113 00:06:32,900 --> 00:06:38,450 И тогава, в предната част на нашите аргументи, ние постави отново в скоби вида 114 00:06:38,450 --> 00:06:39,370 на нашия аргумент. 115 00:06:39,370 --> 00:06:43,160 >> Така че, сега аз се опитвам да се направи сравнение между, нали знаете, и п 116 00:06:43,160 --> 00:06:45,450 номер, защото те са като двете цели числа. 117 00:06:45,450 --> 00:06:49,580 И след това, друга една е тип NSUInteger. 118 00:06:49,580 --> 00:06:56,390 И тогава, с Objective-C, когато искате да имате множество аргументи в 119 00:06:56,390 --> 00:07:00,030 Вашата клауза метод, можете, вид, разделянето им вид като този - 120 00:07:00,030 --> 00:07:03,790 Аз не съм съвсем сигурен как да го опиша, но това е един добър пример за това как 121 00:07:03,790 --> 00:07:06,530 може да има множество аргументи в там. 122 00:07:06,530 --> 00:07:10,360 >> Можеше, разбира се, просто напълно игнорират дебелото черво andArray NSArray 123 00:07:10,360 --> 00:07:13,240 масив, ако искаш просто метод че отнема в един аргумент. 124 00:07:13,240 --> 00:07:13,677 Да, въпрос. 125 00:07:13,677 --> 00:07:18,701 >> ПУБЛИКАТА: Прави ли NSUInteger както и Аргументи NSArray, които могат да бъдат предприети в 126 00:07:18,701 --> 00:07:21,530 в рамките на NSArray? 127 00:07:21,530 --> 00:07:22,060 >> RHED SHI: Да. 128 00:07:22,060 --> 00:07:23,400 Така че, нека ти обясня. 129 00:07:23,400 --> 00:07:23,790 Така че, да. 130 00:07:23,790 --> 00:07:30,260 Така че, въпросът е, са NSUInteger и NSArray * типа на аргументите, 131 00:07:30,260 --> 00:07:31,570 и това е вярно. 132 00:07:31,570 --> 00:07:35,700 Така че, вие винаги искате да се уточни какво типа на аргументите ви е. 133 00:07:35,700 --> 00:07:41,570 И ето, аз се опитвам да ви запозная на някои от синтаксиса и Vocab на 134 00:07:41,570 --> 00:07:45,910 Цел-C, така че тези видове са действителни че ще се занимават с теб. 135 00:07:45,910 --> 00:07:48,970 >> И тъй като вие ще забележите, масиви вече не са, един вид, 136 00:07:48,970 --> 00:07:50,780 прости неща скоба. 137 00:07:50,780 --> 00:07:52,060 Те са обекти. 138 00:07:52,060 --> 00:07:56,700 Макар че, ако се върнем към следващата слайд, можем да видим, че можем 139 00:07:56,700 --> 00:08:02,510 Трудно-код за NSArray в Objective-C с просто символ на пред 140 00:08:02,510 --> 00:08:04,190 скобите. 141 00:08:04,190 --> 00:08:08,650 Аз не съм, всъщност, съвсем сигурен дали I синтактично трудно кодирани масив 142 00:08:08,650 --> 00:08:16,020 правилно за C версия, но това е Предполага се, че в С масив. 143 00:08:16,020 --> 00:08:19,760 >> Така че, това е начина, по който би знаете, може би използвате функциите или 144 00:08:19,760 --> 00:08:21,990 методи, които сме създали по-рано. 145 00:08:21,990 --> 00:08:22,250 Нали така? 146 00:08:22,250 --> 00:08:25,340 Така че, това е мястото, където ние заявяваме нашата функция и нашия метод. 147 00:08:25,340 --> 00:08:28,020 И сега искаме да ги използваме в нашата програма, и това е 148 00:08:28,020 --> 00:08:29,450 как ние ще го направим. 149 00:08:29,450 --> 00:08:32,400 Така че, в C, вие ще трябва, вие знаете, може би, един булев б, а вие да го настроите да 150 00:08:32,400 --> 00:08:36,549 равна на функцията, и след това да премине в аргументите. 151 00:08:36,549 --> 00:08:39,190 >> В Objective-C, това е доста едно и също нещо. 152 00:08:39,190 --> 00:08:43,370 Имате NSArray * my_array, и това е ще се равнява - сега, единственото 153 00:08:43,370 --> 00:08:47,460 Разликата тук е, този обект нещо, които съм оцветена в жълто, и 154 00:08:47,460 --> 00:08:51,180 както можете да видите, в C, има Няма друг жълт дума. 155 00:08:51,180 --> 00:08:54,170 И това е, защото методи принадлежат с определен обект. 156 00:08:54,170 --> 00:08:59,800 Така че защо аз трябва да имате обект че, нещо, нарича този метод на 157 00:08:59,800 --> 00:09:04,360 числото нула, и след това на NSArray а, б, в, г. 158 00:09:04,360 --> 00:09:05,350 Всякакви въпроси, свързани с това? 159 00:09:05,350 --> 00:09:12,190 >> Ще видим тези понятия в действие съвсем скоро, когато отидем в демо. 160 00:09:12,190 --> 00:09:13,400 OK. 161 00:09:13,400 --> 00:09:17,170 Сега, аз искам да поговоря малко за кратко за Xcode 5, което е най- 162 00:09:17,170 --> 00:09:21,160 интегрирана среда за разработка , че ще се работи с. 163 00:09:21,160 --> 00:09:26,160 Знам, че много от вас, или някой от вас, не разполагат с Mac-ове, което е проблем 164 00:09:26,160 --> 00:09:30,490 Xcode, защото не е на разположение за Windows и PC. 165 00:09:30,490 --> 00:09:32,785 Не ме питайте защо, но най-вероятно - 166 00:09:32,785 --> 00:09:33,730 Да, корпоративни. 167 00:09:33,730 --> 00:09:35,290 Каквото. 168 00:09:35,290 --> 00:09:39,360 Но така или иначе, така че, аз се извинявам, ако някои от ви е нужно да изтеглите някаква 169 00:09:39,360 --> 00:09:43,000 виртуална машина за Mac в За да се изпълни Xcode 5. 170 00:09:43,000 --> 00:09:46,460 Но това е доста готин софтуер, за да използвате. 171 00:09:46,460 --> 00:09:51,280 >> И така, преди да се потопите в някаква на демо, аз просто искам да ви покажа 172 00:09:51,280 --> 00:09:55,700 картина на това, което изглежда като Xcode във вашата прозорец, а след това също говори за 173 00:09:55,700 --> 00:09:57,670 какво цялото това пространство е. 174 00:09:57,670 --> 00:10:01,600 Така че, това е един вид като да се учиш как да се използвате Microsoft Word, с изключение на който искате да 175 00:10:01,600 --> 00:10:04,675 се запознае с всички различни неща, които 176 00:10:04,675 --> 00:10:06,250 се случва тук. 177 00:10:06,250 --> 00:10:11,160 >> Така че, на първо място, искам да ви посоча към лентата с инструменти в горната част. 178 00:10:11,160 --> 00:10:14,450 Ще видите, че в горната част, ще имате името на файла - 179 00:10:14,450 --> 00:10:18,100 или, всъщност, си име на проекта и след това името на вашия файл. 180 00:10:18,100 --> 00:10:20,940 Обърнете внимание на пиесата и бутоните STOP. 181 00:10:20,940 --> 00:10:24,210 Това са тези, които ще бъдат използвате, за да стартирате приложението ти относно 182 00:10:24,210 --> 00:10:25,600 тренажор - 183 00:10:25,600 --> 00:10:26,550 симулатора IOS. 184 00:10:26,550 --> 00:10:29,940 Това автоматично идва с Xcode 5, така че не е нужно да се притеснявате за 185 00:10:29,940 --> 00:10:32,070 изтегляне на някакъв вид симулатор. 186 00:10:32,070 --> 00:10:34,700 Просто натиснете бутона за възпроизвеждане и След това той работи приложението ти. 187 00:10:34,700 --> 00:10:39,230 И вие можете да си поиграете с вас, и ще видите как тя работи по-късно. 188 00:10:39,230 --> 00:10:42,690 >> И след това, в центъра, разбира се, е където всички от вашата красива код е 189 00:10:42,690 --> 00:10:44,240 ще отида. 190 00:10:44,240 --> 00:10:48,340 И тогава, от страната на лявата ръка, вие ще имам този, нещо, папка - 191 00:10:48,340 --> 00:10:50,340 навигация - 192 00:10:50,340 --> 00:10:53,970 и след това, вие също така ще се види, че, заедно Заедно с иконата на папката, има 193 00:10:53,970 --> 00:10:57,680 куп други икони там, че ще бъде полезно по-късно. 194 00:10:57,680 --> 00:11:04,710 >> И тогава, от дясната страна е инструмент, област, в която можете да работите с 195 00:11:04,710 --> 00:11:09,620 някои от обектите и уточни, вие знаем, какво трябва да бъде цвета, какво 196 00:11:09,620 --> 00:11:12,040 шрифта на текста трябва да бъде, и така нататък. 197 00:11:12,040 --> 00:11:15,890 Въпреки, че всичко, което правите в района на полезност, можете да 198 00:11:15,890 --> 00:11:17,480 направи в код, както добре. 199 00:11:17,480 --> 00:11:21,630 И така, ще се преминава през две примери за използване, просто не се изобразява код на 200 00:11:21,630 --> 00:11:23,730 всички - или много минимална код - 201 00:11:23,730 --> 00:11:28,290 стихове целия код, просто така, че вие, момчета, Знам какво може и какво не може да се направи в 202 00:11:28,290 --> 00:11:29,260 Xcode и Objective-C. 203 00:11:29,260 --> 00:11:32,770 >> И тогава, най-накрая, на дъното, имате зоната за отстраняване на грешки. 204 00:11:32,770 --> 00:11:37,270 Така, че вече не трябва да стартирате GDB, и т.н., на вашите програми. 205 00:11:37,270 --> 00:11:39,180 Това автоматично го прави за вас. 206 00:11:39,180 --> 00:11:42,880 И вие можете също така да отпечатате неща за тази област. 207 00:11:42,880 --> 00:11:46,790 Така че, всъщност, по-късно, ние ще мине през mario.c, ако вие все още помнят 208 00:11:46,790 --> 00:11:49,000 че в Xcode. 209 00:11:49,000 --> 00:11:50,360 Така, че трябва да бъде забавно. 210 00:11:50,360 --> 00:11:55,870 >> И тогава, само за да го върне към Objective-C, искам да подчертая това, което 211 00:11:55,870 --> 00:11:57,440 можете да направите, ако отчети. 212 00:11:57,440 --> 00:12:03,160 Така че, знаете ли, защото Objective-C е надмножество на C, всичко, което правя е, 213 00:12:03,160 --> 00:12:06,890 буквално същият като C. Ти просто има малки разлики. 214 00:12:06,890 --> 00:12:10,810 Така че, вие ще забележите, че формата за ако твърдение е все същата - да имате 215 00:12:10,810 --> 00:12:14,280 ако и тогава имате скоби с състояние вътре на това и след това 216 00:12:14,280 --> 00:12:17,150 фигурни скоби за каквото и да искам да правя вътре от там. 217 00:12:17,150 --> 00:12:21,680 >> Въпреки това, аз исках да поставя този слайд нагоре тук, просто за да се убедите, че 218 00:12:21,680 --> 00:12:25,680 защото си имаме работа с обекти, сега, ние ще трябва да използвате тези неща 219 00:12:25,680 --> 00:12:31,240 нарича така, е равна на низ, който е случайно, метод на 220 00:12:31,240 --> 00:12:33,710 низ или NSString обект. 221 00:12:33,710 --> 00:12:38,600 Така че, дума, в този случай, е NSString възразят, и тя има метод, наречен е 222 00:12:38,600 --> 00:12:44,150 равна на низ и след това ние сме преминаване в трудно кодирани низ, за ​​да видите 223 00:12:44,150 --> 00:12:48,110 дали тези хора са равни един към друг. 224 00:12:48,110 --> 00:12:51,580 >> Всякакви въпроси досега? 225 00:12:51,580 --> 00:12:52,440 OK. 226 00:12:52,440 --> 00:12:56,190 И аз искам да отида а за изявлението също. 227 00:12:56,190 --> 00:13:01,420 >> Така, например, ако искаме да се накъдрят по дължината на низ в С, този 228 00:13:01,420 --> 00:13:03,710 трябва да бъде запознат с теб. 229 00:13:03,710 --> 00:13:07,840 И, в Objective-C, аз искам за да подчертае това, нещо, 230 00:13:07,840 --> 00:13:09,235 метод, наречен брой. 231 00:13:09,235 --> 00:13:13,260 232 00:13:13,260 --> 00:13:15,550 Ами, всъщност, нека ме просто приемете, че обратно. 233 00:13:15,550 --> 00:13:17,200 Брой е метод на масив. 234 00:13:17,200 --> 00:13:21,070 Въпреки това, той е по-специфично собственост на масив, което е причината да 235 00:13:21,070 --> 00:13:22,380 може да се използва нотация точка. 236 00:13:22,380 --> 00:13:25,870 Но аз не искам да отида в твърде много от Тази концептуална неща, аз просто искам 237 00:13:25,870 --> 00:13:30,140 да ви покажа как ще изглеждат нещата като в Objective-C в сравнение с C. 238 00:13:30,140 --> 00:13:35,400 >> И също така, аз искам да подчертая, че въпреки че аз бях с NSUInteger 239 00:13:35,400 --> 00:13:39,860 пред всичките си аз в Objective-C, можете да използвате и ПНА, защото е Int 240 00:13:39,860 --> 00:13:42,290 напълно валидно в Objective-C, също. 241 00:13:42,290 --> 00:13:42,475 Да? 242 00:13:42,475 --> 00:13:44,350 >> ПУБЛИКАТА: Дали тя просто стилистичен, или е - 243 00:13:44,350 --> 00:13:44,760 >> RHED SHI: Да. 244 00:13:44,760 --> 00:13:46,060 Така че, както ще видите - 245 00:13:46,060 --> 00:13:49,390 Така че, въпросът е, че е просто стилистичен въпрос. 246 00:13:49,390 --> 00:13:54,820 Както ще видите, имам, нещо, звезда звездичка нещо надолу към дъното, и 247 00:13:54,820 --> 00:13:59,870 тази връзка ще ви отведе до Stack Overflow образуват, когато някой обяснява 248 00:13:59,870 --> 00:14:03,640 разликата между едно цяло число в NSInteger и NSUInteger. 249 00:14:03,640 --> 00:14:05,540 И това е така, можете да прочетете за това по-късно. 250 00:14:05,540 --> 00:14:07,640 Тези слайдове ще бъде, разбира се, достъпни за Вас. 251 00:14:07,640 --> 00:14:10,300 252 00:14:10,300 --> 00:14:11,280 >> Нека да видим. 253 00:14:11,280 --> 00:14:12,150 Добре, страхотно. 254 00:14:12,150 --> 00:14:15,410 Така, това също е включена в слайда защото си мислех, че това е страхотна 255 00:14:15,410 --> 00:14:19,370 уеб сайт, който ви запознава да Objective-C синтаксис. 256 00:14:19,370 --> 00:14:24,410 Така че, всъщност, защо не се движим към Chrome и разгледате този сайт? 257 00:14:24,410 --> 00:14:30,650 258 00:14:30,650 --> 00:14:31,300 >> Точно така. 259 00:14:31,300 --> 00:14:36,670 Така че, това, което искам да ви покажа момчета тук е този образ. 260 00:14:36,670 --> 00:14:41,630 Така че, това е, един вид, ще бъде това, което ти започваш да се види вътрешността на всяко 261 00:14:41,630 --> 00:14:42,890 Xcode файл. 262 00:14:42,890 --> 00:14:47,400 263 00:14:47,400 --> 00:14:51,430 Всъщност, защо не можем просто да се момент да, нещо, вземи това инча 264 00:14:51,430 --> 00:14:53,470 >> Така че, тази книга - 265 00:14:53,470 --> 00:14:55,880 това е обект, който че си имаме работа с. 266 00:14:55,880 --> 00:14:59,680 И след това, тя очевидно ще бъде наследена от някакъв друг обект, но 267 00:14:59,680 --> 00:15:01,810 не е нужно да се притеснявате за това. 268 00:15:01,810 --> 00:15:04,430 И след това, тя, може би, има някои променливи членки. 269 00:15:04,430 --> 00:15:09,160 >> Най-важното нещо, което искам да ви покажа е методите за Например, ето. 270 00:15:09,160 --> 00:15:12,670 Така, например методи, са обозначени от този знак минус. 271 00:15:12,670 --> 00:15:15,550 И тогава, както ще забележите, че сме Вече започваме да виждаме парадигмата 272 00:15:15,550 --> 00:15:17,670 за декларация метод, нали? 273 00:15:17,670 --> 00:15:22,670 Типът на връщане, името на метода, и след това вида на спора, и 274 00:15:22,670 --> 00:15:24,660 след името на аргумента. 275 00:15:24,660 --> 00:15:29,090 И този знак минус означава, че това е метод например, което означава, че 276 00:15:29,090 --> 00:15:32,270 тези методи са достъпни само за обекти, които са били инстанция. 277 00:15:32,270 --> 00:15:35,050 278 00:15:35,050 --> 00:15:39,100 >> За контраст, който, методи с плюс подпише пред тях са клас 279 00:15:39,100 --> 00:15:43,640 методи, което означава, че можете да се обадите тези методи, дори ако не разполагате 280 00:15:43,640 --> 00:15:45,970 един обект е създаден още. 281 00:15:45,970 --> 00:15:51,600 Така че, за ясен пример, NSString е клас. 282 00:15:51,600 --> 00:15:55,850 И вие можете да се обадите, например, класове и методи за NSString - 283 00:15:55,850 --> 00:15:58,660 действителната, така, дума NSString. 284 00:15:58,660 --> 00:16:02,050 >> Все пак, за да се използват тези методи, вие всъщност 285 00:16:02,050 --> 00:16:03,460 трябва да създадете низ. 286 00:16:03,460 --> 00:16:08,980 Например, NSString низ звезда се равнява на в кавички, здравей свят. 287 00:16:08,980 --> 00:16:10,910 И след това, можете да използвате тези методи - 288 00:16:10,910 --> 00:16:11,990 методи инстанция - 289 00:16:11,990 --> 00:16:14,790 по този здравей свят низ. 290 00:16:14,790 --> 00:16:17,825 Така че, това е разликата между методи съд и методи на клас. 291 00:16:17,825 --> 00:16:20,390 292 00:16:20,390 --> 00:16:21,930 >> И ние просто покрита тази част. 293 00:16:21,930 --> 00:16:25,300 294 00:16:25,300 --> 00:16:33,750 Имоти са друго нещо, което са във вътрешността на обекти, основно. 295 00:16:33,750 --> 00:16:37,530 И да ги декларира с най имот ключова дума. 296 00:16:37,530 --> 00:16:39,940 Вие имате тези опции, тук, че аз ще обясня по-късно, когато 297 00:16:39,940 --> 00:16:43,110 отиваме в демо. 298 00:16:43,110 --> 00:16:43,660 Да? 299 00:16:43,660 --> 00:16:43,950 Hi. 300 00:16:43,950 --> 00:16:45,440 >> ПУБЛИКАТА: Може ли да увеличите, моля? 301 00:16:45,440 --> 00:16:46,130 >> RHED SHI: О, да. 302 00:16:46,130 --> 00:16:46,560 Извинете. 303 00:16:46,560 --> 00:16:49,140 >> ПУБЛИКАТА: Благодаря ви. 304 00:16:49,140 --> 00:16:50,005 >> RHED SHI: Това трябва да бъде много по-добре. 305 00:16:50,005 --> 00:16:51,240 >> Публика: Да. 306 00:16:51,240 --> 00:16:53,940 Благодаря. 307 00:16:53,940 --> 00:16:56,815 >> RHED SHI: Да, моля те ми напомнят, ако Забравям да увеличите или намалите. 308 00:16:56,815 --> 00:17:00,590 309 00:17:00,590 --> 00:17:03,570 Така че, това е всичко, което исках да ви покажа за - 310 00:17:03,570 --> 00:17:05,970 Уау, това е много - 311 00:17:05,970 --> 00:17:06,790 за този сайт. 312 00:17:06,790 --> 00:17:12,210 Така че, нека да се върнем към нашите слайдове. 313 00:17:12,210 --> 00:17:17,819 >> Всъщност, сега нека да вземем един момент да се потопите в едно демо. 314 00:17:17,819 --> 00:17:25,490 Така че, ние ще започнем с нов проект Xcode. 315 00:17:25,490 --> 00:17:33,040 Така че, ако ще се отвори Xcode за всички Вашите машини, тя трябва да ви отнеме известно 316 00:17:33,040 --> 00:17:36,720 страница, където се казва, като, било открито на съществуващ проект или нов 317 00:17:36,720 --> 00:17:39,230 проект, а вие трябва да щракнете върху нов проект. 318 00:17:39,230 --> 00:17:41,477 И след това, тя трябва да вземе да този екран. 319 00:17:41,477 --> 00:17:41,593 Да? 320 00:17:41,593 --> 00:17:44,279 >> ПУБЛИКАТА: Ако не разполагате с Mac, можем просто вид чил? 321 00:17:44,279 --> 00:17:46,870 >> RHED SHI: Или изгледаха с някого, да. 322 00:17:46,870 --> 00:17:47,740 Да. 323 00:17:47,740 --> 00:17:50,660 Можете да се отпуснете, също. 324 00:17:50,660 --> 00:17:51,570 OK. 325 00:17:51,570 --> 00:17:55,410 >> Така че, това, което ние ще направим първо, сега, е, всъщност, ние отиваме да се направи 326 00:17:55,410 --> 00:17:56,600 едно заявление гледка. 327 00:17:56,600 --> 00:18:01,340 Така че, ако вие ще забележите, това, което е страхотно за Xcode и подкрепа за Apple 328 00:18:01,340 --> 00:18:05,690 разработчиците е, че имате много шаблони, за да работят с вече. 329 00:18:05,690 --> 00:18:09,210 Може, например, да направи майстор-подробно заявление. 330 00:18:09,210 --> 00:18:10,920 Можете да направите една игра - 331 00:18:10,920 --> 00:18:13,860 и всъщност, аз няма да отида в игри, защото игрите са друга история 332 00:18:13,860 --> 00:18:15,320 за развитие на IOS. 333 00:18:15,320 --> 00:18:18,930 И те са вид на отдели, така че аз няма да отида в това. 334 00:18:18,930 --> 00:18:22,580 >> След това, като сте страница, базирана приложения. 335 00:18:22,580 --> 00:18:24,010 Имате заявка за раздела - 336 00:18:24,010 --> 00:18:29,350 Така че, както, например, банка на Америка Вероятно има, като, с раздели ап. 337 00:18:29,350 --> 00:18:32,140 Това са тези, които имате бутоните в долната част. 338 00:18:32,140 --> 00:18:34,750 И след това, имате Sprite Kit игра. 339 00:18:34,750 --> 00:18:38,670 >> Или можете да работите от нулата, което е това, което ние ще направим по-късно. 340 00:18:38,670 --> 00:18:42,470 Но нека първо място, да започне с едно заявление гледка. 341 00:18:42,470 --> 00:18:48,590 След това ще помоля за име на продукта, и просто не можем да направим тест. 342 00:18:48,590 --> 00:18:50,190 Име на организацията - 343 00:18:50,190 --> 00:18:54,140 така, име на организацията, компания идентификатор - 344 00:18:54,140 --> 00:18:58,100 тези, които са от значение, ако ти започваш да сложиш ап на хранилището на ап. 345 00:18:58,100 --> 00:19:01,110 346 00:19:01,110 --> 00:19:05,116 Друг отколкото този, вашия код ще тече абсолютно добре и без това. 347 00:19:05,116 --> 00:19:09,940 >> Това ще бъде важно, ако искате - това е така, само по себе си, като, сложи си ап 348 00:19:09,940 --> 00:19:14,080 на вашия телефон или нещо такова, и тест това, вие знаете, в реалния живот - 349 00:19:14,080 --> 00:19:15,360 това ще бъде важно. 350 00:19:15,360 --> 00:19:20,110 Тази тенденция да обикновено се свързва с някакъв разработчик сметка 351 00:19:20,110 --> 00:19:20,970 с Apple. 352 00:19:20,970 --> 00:19:24,740 >> И така, аз знам, най-вероятно, че много от вас няма да се налага всеки разработчик сметки. 353 00:19:24,740 --> 00:19:26,460 Знам, че университетът има една. 354 00:19:26,460 --> 00:19:27,630 Мисля, че CS е един. 355 00:19:27,630 --> 00:19:32,770 Но, можете да ми пишете и аз ще се опитам да разбера, че за вас. 356 00:19:32,770 --> 00:19:38,210 Но точно сега, аз съм просто пуснати в контейнерите някои неща тук. 357 00:19:38,210 --> 00:19:41,250 >> И вие можете да, разбира се, тук, изберете дали искате тя да бъде единствено в 358 00:19:41,250 --> 00:19:44,410 iPhone, в IPAD, или и двете - 359 00:19:44,410 --> 00:19:46,630 универсално приложение. 360 00:19:46,630 --> 00:19:56,170 Така че, за сега, нека да направим универсално, просто да видят двете страни на платформата. 361 00:19:56,170 --> 00:19:57,120 >> Нека да видим. 362 00:19:57,120 --> 00:20:01,510 Така че, точно сега, аз отивам да се спаси то в някаква папка. 363 00:20:01,510 --> 00:20:04,500 Няма значение къде - вие Винаги можете да го преместите по-късно. 364 00:20:04,500 --> 00:20:09,380 И сега, ние са доведени в нашия Xcode проект. 365 00:20:09,380 --> 00:20:12,890 Аз не бих се притеснявал за всичко това. 366 00:20:12,890 --> 00:20:17,510 Бих предложил да не докосвате някоя от това, ако не знаете точно какво 367 00:20:17,510 --> 00:20:18,260 правиш. 368 00:20:18,260 --> 00:20:21,750 Така че, всичко това, просто да игнорираш за по-голямата част. 369 00:20:21,750 --> 00:20:26,940 Вие не ще трябва да го докосне, и ако смятате ли обърквам някои неща тук, го 370 00:20:26,940 --> 00:20:28,600 става малко сложно. 371 00:20:28,600 --> 00:20:32,480 >> Така че, защо да не погледнем в файловете на 372 00:20:32,480 --> 00:20:34,700 лява страна в нашия навигатор. 373 00:20:34,700 --> 00:20:37,060 Ето, ние имаме AppDelegate.h. 374 00:20:37,060 --> 00:20:43,430 Имаме AppDelegate.m Така че, тъй като ще предизвестие, ние сме заглавни файлове, които 375 00:20:43,430 --> 00:20:45,720 приключи през точка Н, и имаме изпълнение - 376 00:20:45,720 --> 00:20:46,970 Всъщност, нека да я увеличите инча 377 00:20:46,970 --> 00:20:56,270 378 00:20:56,270 --> 00:20:57,060 OK. 379 00:20:57,060 --> 00:20:59,940 Нека да я увеличите инча 380 00:20:59,940 --> 00:21:05,810 >> Нали, така сте заглавни файлове и имате файлове за изпълнение. 381 00:21:05,810 --> 00:21:07,060 Всъщност - 382 00:21:07,060 --> 00:21:08,680 383 00:21:08,680 --> 00:21:09,240 OK. 384 00:21:09,240 --> 00:21:11,800 Това е малко странно, но носят с мен. 385 00:21:11,800 --> 00:21:16,140 След това, тъй като сме избрали един изглед молба, ние ще бъдем 386 00:21:16,140 --> 00:21:17,340 работа с сториборд. 387 00:21:17,340 --> 00:21:22,140 >> Така че, сториборд е нещо, което Apple излезе с наистина да помогне 388 00:21:22,140 --> 00:21:26,550 разработчиците бързо прототип техните приложения. 389 00:21:26,550 --> 00:21:29,410 Така че, това е мястото, където можете да създадете един апартамент, без писане 390 00:21:29,410 --> 00:21:31,710 един ред код. 391 00:21:31,710 --> 00:21:35,390 Въпреки това, в нашата единна молба изглед, ние, разбира се, да има 392 00:21:35,390 --> 00:21:41,270 файл за нас, които е контролер гледка. 393 00:21:41,270 --> 00:21:45,150 Така че, ние имаме част и файл изпълнение, тук. 394 00:21:45,150 --> 00:21:52,350 >> И аз отивам да отдалечите сега, защото ние ще трябва да работим в монтажната маса. 395 00:21:52,350 --> 00:21:55,190 Така че, тук е нашето виждане. 396 00:21:55,190 --> 00:22:00,120 Ако ние, просто, стартирайте приложението, точно сега, там не е много по-вълнуващо става. 397 00:22:00,120 --> 00:22:03,270 398 00:22:03,270 --> 00:22:05,040 Така че, ще видите този бял екран. 399 00:22:05,040 --> 00:22:06,110 OK? 400 00:22:06,110 --> 00:22:14,010 >> И в нашата област комунални услуги, можем да добавим куп различни неща за него. 401 00:22:14,010 --> 00:22:19,290 Така че, когато имаш работа с екрани в IOS, Гледка контролери са на 402 00:22:19,290 --> 00:22:23,150 обекти, които капсулират, нещо, вашите възгледи. 403 00:22:23,150 --> 00:22:26,980 Така че, контролер оглед винаги е свойство гледка. 404 00:22:26,980 --> 00:22:29,610 И тази гледна точка, обикновено, съдържа, Знаете ли, това, което 405 00:22:29,610 --> 00:22:30,810 Искам да видя на екран. 406 00:22:30,810 --> 00:22:39,210 >> Така че, добре, нека просто да започнем с поставяне, може би, може би един етикет. 407 00:22:39,210 --> 00:22:41,450 Така че, нека да поставим етикет на там - 408 00:22:41,450 --> 00:22:44,080 го залепете в средата. 409 00:22:44,080 --> 00:22:49,560 Така че, сега, че съм кликнал върху етикет, I може да отиде в инспектор имоти 410 00:22:49,560 --> 00:22:51,510 и започнат да променят стойността си. 411 00:22:51,510 --> 00:22:55,040 Нека го наречем CS50 Colours. 412 00:22:55,040 --> 00:22:58,220 >> А, аз също може да промените шрифта. 413 00:22:58,220 --> 00:23:02,630 Така, вместо това система, която е по подразбиране, ние можем да направим един обичай. 414 00:23:02,630 --> 00:23:03,770 Ние можем да променим - 415 00:23:03,770 --> 00:23:06,453 нали знаеш, свръхлеки, да я направи 32. 416 00:23:06,453 --> 00:23:09,000 417 00:23:09,000 --> 00:23:11,370 И след това, ние можем да направим нашата кутия по-голям. 418 00:23:11,370 --> 00:23:14,410 >> ПУБЛИКАТА: Смятате ли, че можете да я увеличите само малко повече, може би? 419 00:23:14,410 --> 00:23:14,810 >> RHED SHI: Да? 420 00:23:14,810 --> 00:23:16,196 OK. 421 00:23:16,196 --> 00:23:17,450 >> ПУБЛИКАТА: Просто го докоснете? 422 00:23:17,450 --> 00:23:19,020 >> RHED SHI: Да видим. 423 00:23:19,020 --> 00:23:20,382 Има ли тази работа? 424 00:23:20,382 --> 00:23:22,270 >> ПУБЛИКАТА: Just премине на Xcode? 425 00:23:22,270 --> 00:23:23,520 >> RHED SHI: Разбира се. 426 00:23:23,520 --> 00:23:25,620 427 00:23:25,620 --> 00:23:25,940 OK. 428 00:23:25,940 --> 00:23:26,275 Awesome. 429 00:23:26,275 --> 00:23:27,072 >> ПУБЛИКАТА: Етикетът под? 430 00:23:27,072 --> 00:23:28,920 Етикетът? 431 00:23:28,920 --> 00:23:29,480 >> RHED SHI: Какво е това? 432 00:23:29,480 --> 00:23:32,050 >> ПУБЛИКАТА: Какво падащото беше етикета под? 433 00:23:32,050 --> 00:23:35,170 >> RHED SHI: Така че, въпросът е, какво падащия беше етикета под? 434 00:23:35,170 --> 00:23:37,260 Тя трябва, просто, да бъде под тук. 435 00:23:37,260 --> 00:23:39,330 Предполагам, че това е нещо, което един куб. 436 00:23:39,330 --> 00:23:40,910 Но обикновено, това е по подразбиране - 437 00:23:40,910 --> 00:23:43,250 Отивам тук докато не се намери етикет. 438 00:23:43,250 --> 00:23:45,800 439 00:23:45,800 --> 00:23:47,730 Да. 440 00:23:47,730 --> 00:23:48,950 >> Така че сега, ние имаме нашия етикет. 441 00:23:48,950 --> 00:23:51,040 Нека си го центрирате. 442 00:23:51,040 --> 00:23:56,410 И Xcode ни дава насоки за центриране на обекти. 443 00:23:56,410 --> 00:23:59,510 444 00:23:59,510 --> 00:24:01,480 Така че, сега нека да тече нашия код отново. 445 00:24:01,480 --> 00:24:08,110 446 00:24:08,110 --> 00:24:08,800 >> Ето. 447 00:24:08,800 --> 00:24:10,310 Така че, ние имаме CS50 Colours. 448 00:24:10,310 --> 00:24:13,720 449 00:24:13,720 --> 00:24:15,420 И сега, нека да поставим един бутон там, нали? 450 00:24:15,420 --> 00:24:17,480 Защото ние искаме да направим този интерактивен. 451 00:24:17,480 --> 00:24:19,410 Така че, нека да поставим един бутон тук. 452 00:24:19,410 --> 00:24:39,020 И ние ще се обадя на този бутон чешмата "тук да продължи. "Ние ще го центрирате, също 453 00:24:39,020 --> 00:24:39,990 Всъщност, това е вече в центъра. 454 00:24:39,990 --> 00:24:40,630 Да. 455 00:24:40,630 --> 00:24:43,130 >> Така че, сега имаме един бутон. 456 00:24:43,130 --> 00:24:53,000 И ако ще свършим това отново, ще да има един хубав малък бутон тук. 457 00:24:53,000 --> 00:24:56,520 И мога да щракнете върху него, но той не прави нищо, защото ние не сме направили 458 00:24:56,520 --> 00:24:58,500 нещо с бутона все още. 459 00:24:58,500 --> 00:25:01,740 >> Така че, нека да създадем друг поглед, нали? 460 00:25:01,740 --> 00:25:04,160 Така че, нека да кажа, че искам да се включи този бутон и искам да 461 00:25:04,160 --> 00:25:05,730 отидете на друга страница - 462 00:25:05,730 --> 00:25:06,820 друг изглед. 463 00:25:06,820 --> 00:25:14,440 Това, което аз ще направя, е, не мога да се създаде контролер гледка, нали? 464 00:25:14,440 --> 00:25:19,690 Сега ще кликнете върху бутона ми, а след това, Важното е, че аз отивам да 465 00:25:19,690 --> 00:25:20,910 кликнете - или - 466 00:25:20,910 --> 00:25:23,660 Да, натиснете контрол върху клавиатурата ми. 467 00:25:23,660 --> 00:25:24,880 Control. 468 00:25:24,880 --> 00:25:27,005 Щракнете върху бутона, и след това плъзнете. 469 00:25:27,005 --> 00:25:29,960 470 00:25:29,960 --> 00:25:33,550 >> Така че, не забравяйте да държи контролния бутон. 471 00:25:33,550 --> 00:25:35,160 Да го направим отново. 472 00:25:35,160 --> 00:25:40,930 Така че, дръжте контрол, кликнете и плъзнете на това, което искате да направите. 473 00:25:40,930 --> 00:25:41,520 OK. 474 00:25:41,520 --> 00:25:43,610 >> И сега, имам няколко възможности тук. 475 00:25:43,610 --> 00:25:47,900 Аз може или бута, или мога да направя модал, или мога да направя една поръчка. 476 00:25:47,900 --> 00:25:50,900 Push е само ако имате навигация контролер. 477 00:25:50,900 --> 00:25:54,270 Точно сега, много първата наша гледна контролер не е вътре в някоя 478 00:25:54,270 --> 00:25:55,610 навигация контролер. 479 00:25:55,610 --> 00:25:59,500 Така че, контролерът навигация е едно , която ви дава бутона за връщане на 480 00:25:59,500 --> 00:26:03,910 на IOS ап, където имате, вие знаете, че в началото, нещо, с дебелина бар - 481 00:26:03,910 --> 00:26:06,480 , където можете да се върнете, или напред, и така нататък. 482 00:26:06,480 --> 00:26:07,740 Точно сега, аз нямам такъв. 483 00:26:07,740 --> 00:26:11,050 И така, ето защо аз не мога да направя едно натискане. 484 00:26:11,050 --> 00:26:12,480 >> Така че, аз кликнали върху бута случайно, тук. 485 00:26:12,480 --> 00:26:16,480 И всъщност, нека да стартирате код, и тя трябва да се срине върху мен. 486 00:26:16,480 --> 00:26:19,770 487 00:26:19,770 --> 00:26:22,960 Само ако натиснете бутона обаче, така - 488 00:26:22,960 --> 00:26:23,420 прав. 489 00:26:23,420 --> 00:26:26,480 Така че, това е лошо. 490 00:26:26,480 --> 00:26:31,330 >> И, както виждате, тук, ние има съобщение за грешка. 491 00:26:31,330 --> 00:26:35,460 Така че, "могат да бъдат използвани само Push плавно преминава, когато източник контролер се управлява от 492 00:26:35,460 --> 00:26:40,700 Например на UI навигация контролер. " Така, тъй като това не е вътре в 493 00:26:40,700 --> 00:26:44,030 навигация контролер, Не можех да го направя. 494 00:26:44,030 --> 00:26:48,782 >> Така че, точно сега, Връщам се към папка, връщане назад към монтажната маса. 495 00:26:48,782 --> 00:26:51,680 >> Публика: Какъв е навигацията контролер, отново? 496 00:26:51,680 --> 00:26:55,260 >> RHED SHI: Така че, сега аз ще ти покажа. 497 00:26:55,260 --> 00:26:56,200 Нека да видим. 498 00:26:56,200 --> 00:27:00,510 Така че, аз отивам да кликнете върху този възглед контролер, и след това аз ще отида 499 00:27:00,510 --> 00:27:03,920 до продукта - 500 00:27:03,920 --> 00:27:06,240 всъщност, не, съжалявам - редактор. 501 00:27:06,240 --> 00:27:08,360 И аз ще отида в - 502 00:27:08,360 --> 00:27:09,350 всъщност, съм кликнете върху него? 503 00:27:09,350 --> 00:27:10,070 Не. 504 00:27:10,070 --> 00:27:11,080 Ето. 505 00:27:11,080 --> 00:27:16,270 Отивам да се изкачат в редактор, слез да се вгради в, и след това навигация 506 00:27:16,270 --> 00:27:17,520 контролер. 507 00:27:17,520 --> 00:27:20,130 508 00:27:20,130 --> 00:27:20,720 >> OK. 509 00:27:20,720 --> 00:27:27,750 И моето работно място изглежда наистина разхвърлян, така че нека изчистим това. 510 00:27:27,750 --> 00:27:29,000 Така че, всичко това е сценария. 511 00:27:29,000 --> 00:27:32,510 512 00:27:32,510 --> 00:27:33,760 И по този начин - 513 00:27:33,760 --> 00:27:37,030 514 00:27:37,030 --> 00:27:38,280 OK, спрете - 515 00:27:38,280 --> 00:27:49,320 516 00:27:49,320 --> 00:27:50,860 Аз може бързо да се изгради нещо по този начин. 517 00:27:50,860 --> 00:27:53,020 И тогава, сега мога да се върна, нали знаеш? 518 00:27:53,020 --> 00:27:55,730 >> Но това е нещо скучно, нали? 519 00:27:55,730 --> 00:28:03,020 Така че, това, което искам да направя е, аз не искам да се направи, просто, оглед 520 00:28:03,020 --> 00:28:03,870 контролер. 521 00:28:03,870 --> 00:28:07,720 Да кажем, че аз исках действително да се направи табличен изглед контролер, така че мога да сложа в 522 00:28:07,720 --> 00:28:12,110 някои хубави цветове, в таблицата. 523 00:28:12,110 --> 00:28:16,210 >> Така че, сега, че съм поставил по мое мнение маса контролер, аз трябва да го свържете обратно 524 00:28:16,210 --> 00:28:18,560 от този бутон към оглед контролер. 525 00:28:18,560 --> 00:28:21,780 Така че аз трябва да направя моя контрол, клик, плъзнете нещо отново. 526 00:28:21,780 --> 00:28:27,318 И сега не мога да направя бута, защото аз вградите го вътре на навигация контролер. 527 00:28:27,318 --> 00:28:32,210 >> ПУБЛИКАТА: Navigation контролер просто ви позволява да се премине от едно място на друго? 528 00:28:32,210 --> 00:28:33,540 >> RHED SHI: Да. 529 00:28:33,540 --> 00:28:38,670 Така че, по-технически, това е обект, където - 530 00:28:38,670 --> 00:28:43,150 така, вътре в навигацията контролер обект, той 531 00:28:43,150 --> 00:28:44,780 следи от масив. 532 00:28:44,780 --> 00:28:48,300 И този масив притежава всички последователни видите контролери. 533 00:28:48,300 --> 00:28:51,560 Ето защо, когато натиснете обратно, тя се връща към предишната страница. 534 00:28:51,560 --> 00:28:55,260 Тъй като контролера навигация обект, или код, който се грижи за 535 00:28:55,260 --> 00:28:58,890 този обект, е за масив, която поддържа следите на тези виждане контролери, и 536 00:28:58,890 --> 00:29:01,870 може след това, знаете ли, DQ мнението контролер и ще ви даде обратно 537 00:29:01,870 --> 00:29:02,750 предишния едно. 538 00:29:02,750 --> 00:29:05,200 >> Така че, това е технически неща, но - 539 00:29:05,200 --> 00:29:07,505 и аз ще ви покажа по-късно в код, ако имаме време. 540 00:29:07,505 --> 00:29:10,270 Аз съм вид на изчерпване на време, но - 541 00:29:10,270 --> 00:29:15,610 >> Така че, с гледката на масите, какво можем да направим, е - 542 00:29:15,610 --> 00:29:18,440 Това обикновено се настройва автоматично да Dynamic Prototype - 543 00:29:18,440 --> 00:29:20,640 ние ще го Статични Cells направи, в противен случай ние ще 544 00:29:20,640 --> 00:29:22,920 сблъскате с някои проблеми. 545 00:29:22,920 --> 00:29:28,470 >> И тогава, нека да кажа, че отивам да има един раздел. 546 00:29:28,470 --> 00:29:31,000 Така че, секции е като - 547 00:29:31,000 --> 00:29:35,160 ако някога сте виждали на музика ап, когато имате артисти, секции би 548 00:29:35,160 --> 00:29:37,830 бъде A-те години чрез Z's - 549 00:29:37,830 --> 00:29:38,780 буквите - 550 00:29:38,780 --> 00:29:42,600 и след това, знаете ли, индивидът реда ще бъдат имената на художника. 551 00:29:42,600 --> 00:29:47,460 И така, какво е готино тук, е, че аз мога достъп до всички обекти вътре 552 00:29:47,460 --> 00:29:50,430 на моя сториборд чрез тази падащото меню, също. 553 00:29:50,430 --> 00:29:56,600 >> Така че, аз отивам да кликнете върху моята секция, и аз искам, нали знаеш, може би пет реда. 554 00:29:56,600 --> 00:30:00,770 И тогава, вътре на всеки ред, Искам да се сложи етикет. 555 00:30:00,770 --> 00:30:04,080 556 00:30:04,080 --> 00:30:06,340 И аз отивам да се обадя на този Blue. 557 00:30:06,340 --> 00:30:09,530 558 00:30:09,530 --> 00:30:15,630 И след това, аз искам да поставя цел UI, вие знам, може би за нещо като малка кутийка. 559 00:30:15,630 --> 00:30:23,840 560 00:30:23,840 --> 00:30:28,710 >> Така че мога да покажа на хората визуализация на цвят. 561 00:30:28,710 --> 00:30:34,150 И аз ще се върна към имота и промените този цвят да, о, аз не правя 562 00:30:34,150 --> 00:30:35,510 знаете, това едно. 563 00:30:35,510 --> 00:30:38,630 564 00:30:38,630 --> 00:30:43,150 >> И след това, забележете също, тук, когато имам аксесоарите, мога да имат много 565 00:30:43,150 --> 00:30:46,160 на различните аксесоари което обикновено се наблюдават. 566 00:30:46,160 --> 00:30:55,250 Индикаторът за разкриване на информация, подробности, или отметка, или просто само детайл. 567 00:30:55,250 --> 00:30:59,080 Така че, може би можем да направим, като, разкриване индикатор, например. 568 00:30:59,080 --> 00:31:03,540 >> И тогава, защо не вземем тези, копие да ги поставите, и ги поставя в 569 00:31:03,540 --> 00:31:06,740 следващия ред от таблица. 570 00:31:06,740 --> 00:31:08,115 Така че, можем да наречем този Yellow. 571 00:31:08,115 --> 00:31:10,620 572 00:31:10,620 --> 00:31:12,155 И аз може да се наложи да се разшири това. 573 00:31:12,155 --> 00:31:15,730 574 00:31:15,730 --> 00:31:17,290 Нека го направим по-жълт. 575 00:31:17,290 --> 00:31:20,610 И по този начин, може да се копира поставите нашия път надолу. 576 00:31:20,610 --> 00:31:24,910 577 00:31:24,910 --> 00:31:25,370 Какво беше това? 578 00:31:25,370 --> 00:31:26,620 Purple. 579 00:31:26,620 --> 00:31:30,020 580 00:31:30,020 --> 00:31:34,740 >> Така че, това са всички типичния CS50 цветове, които сте виждали в клас - 581 00:31:34,740 --> 00:31:37,160 Всъщност, съжалявам - 582 00:31:37,160 --> 00:31:38,410 или на интернет страницата. 583 00:31:38,410 --> 00:31:49,700 584 00:31:49,700 --> 00:31:51,260 Надяваме се, вие може да видите какво правя тук. 585 00:31:51,260 --> 00:31:57,270 586 00:31:57,270 --> 00:31:57,890 OK. 587 00:31:57,890 --> 00:31:58,490 Последно едно. 588 00:31:58,490 --> 00:32:02,040 >> ПУБЛИКАТА: Как да добавите реда първоначално? 589 00:32:02,040 --> 00:32:04,740 >> RHED SHI: Така че, въпросът е, как се добавя реда първоначално? 590 00:32:04,740 --> 00:32:07,500 Влязох в този раздел на маса - или все пак мога 591 00:32:07,500 --> 00:32:09,200 изберете раздела на таблицата - 592 00:32:09,200 --> 00:32:11,250 и след това, ето, аз осъвременяване броя на редовете. 593 00:32:11,250 --> 00:32:19,920 594 00:32:19,920 --> 00:32:22,505 >> И, нека се надяваме, че това работи. 595 00:32:22,505 --> 00:32:30,620 596 00:32:30,620 --> 00:32:31,480 OK. 597 00:32:31,480 --> 00:32:32,870 Да видим дали това работи. 598 00:32:32,870 --> 00:32:34,000 О, перфектен, страхотно. 599 00:32:34,000 --> 00:32:35,300 OK. 600 00:32:35,300 --> 00:32:40,330 Докато бях изграждане на моята демо, някои нещата не са били приведени в съответствие, така че, благодаря за 601 00:32:40,330 --> 00:32:42,510 аплодисментите. 602 00:32:42,510 --> 00:32:42,920 >> Да. 603 00:32:42,920 --> 00:32:44,770 Така че, нека да видим. 604 00:32:44,770 --> 00:32:47,550 Ние ще направим това девет, само за да направи всичко - или всъщност, нека просто 605 00:32:47,550 --> 00:32:51,420 превърне всичко това в разкриването показатели. 606 00:32:51,420 --> 00:32:55,790 И след това, което искам да ви покажа, твърде, е как мога да взема всяка една от тези 607 00:32:55,790 --> 00:32:59,230 редове от таблицата и да ги взаимодействат - 608 00:32:59,230 --> 00:33:00,150 о. 609 00:33:00,150 --> 00:33:01,400 Не. 610 00:33:01,400 --> 00:33:05,700 611 00:33:05,700 --> 00:33:06,030 >> Oh. 612 00:33:06,030 --> 00:33:07,230 Също така, аз искам да ви покажа - 613 00:33:07,230 --> 00:33:13,080 тук, мога да сложа заглавието на моя навигация контролер, нали? 614 00:33:13,080 --> 00:33:17,090 Така че, всъщност, вие ще забележите, веднага щом вграден тази гледна контролер вътре 615 00:33:17,090 --> 00:33:22,010 на контролера навигация, виждаме тази лента за навигация в горната част на нашия 616 00:33:22,010 --> 00:33:25,340 сториборд представителство на контролер гледка. 617 00:33:25,340 --> 00:33:29,270 И така, това ни дава, като, визуална, вид, води към нашата видима екран. 618 00:33:29,270 --> 00:33:34,360 Това очевидно ще е лентата за навигация. 619 00:33:34,360 --> 00:33:40,950 >> И това, което искам да направя бързо, сега, се поставя в друга - 620 00:33:40,950 --> 00:33:45,880 така че това табличен контролер направих от като един от тях и го плъзнете 621 00:33:45,880 --> 00:33:49,800 тук, и това е, което ми позволи да бързо, наистина, да създадете изглед на маса 622 00:33:49,800 --> 00:33:50,850 контролер. 623 00:33:50,850 --> 00:33:54,100 Ако имаме време все пак, вие ще се види, че, програмно, това е 624 00:33:54,100 --> 00:33:57,660 малко по-сложно да се създаде таблица оглед контролер, защото има 625 00:33:57,660 --> 00:34:02,520 са няколко методи, които са необходими, за да, нещо, напиши 626 00:34:02,520 --> 00:34:07,130 навън, за да изгледа на маса контролер, за да се покаже правилно. 627 00:34:07,130 --> 00:34:15,340 >> Въпреки това, аз просто искам да ви покажа, сега, пример за това къде, ако аз се възползвам от тази, 628 00:34:15,340 --> 00:34:15,920 например - 629 00:34:15,920 --> 00:34:18,290 Сложих в друг изглед контролер. 630 00:34:18,290 --> 00:34:27,320 И сега, нека да кажа, че искам да се контролира Alt първия ми син 631 00:34:27,320 --> 00:34:28,980 табличен ред до тук. 632 00:34:28,980 --> 00:34:31,070 И аз искам да се обадя на този Blue. 633 00:34:31,070 --> 00:34:32,570 И след това - 634 00:34:32,570 --> 00:34:34,159 нека да видим. 635 00:34:34,159 --> 00:34:41,050 Аз съм на мнение, сега, и аз може да се промени На фона на синьо. 636 00:34:41,050 --> 00:34:45,945 >> И така, забележка, тук, този падащ меню ви дава йерархия на всички 637 00:34:45,945 --> 00:34:47,040 на тези обекти. 638 00:34:47,040 --> 00:34:50,530 Така че важно нещо е да се отбележи, тук, е, че всички тези неща, тук - 639 00:34:50,530 --> 00:34:54,330 този възглед маса контролер, таблицата изглед, изглед секция, маса, маса за оглед 640 00:34:54,330 --> 00:34:57,169 клетка - всички те са обекти, в код. 641 00:34:57,169 --> 00:35:03,752 Така че, знаете ли, етикет в момента е в процес на Разгледайте съдържанието, и така нататък. 642 00:35:03,752 --> 00:35:05,020 Така нататък и така нататък. 643 00:35:05,020 --> 00:35:08,765 >> Така че, ако ние изпълня този код, ние Трябва да видите нещо - 644 00:35:08,765 --> 00:35:15,816 645 00:35:15,816 --> 00:35:17,870 Нека да видим дали това - да. 646 00:35:17,870 --> 00:35:18,670 Така че, ето. 647 00:35:18,670 --> 00:35:22,120 Но, ако ние не го направим, никой на тези други неща работят. 648 00:35:22,120 --> 00:35:22,500 Нали така? 649 00:35:22,500 --> 00:35:23,800 Така че това само един работи. 650 00:35:23,800 --> 00:35:29,100 И в името на време, няма да го направя отида в, нали знаеш, извеждайки 651 00:35:29,100 --> 00:35:29,770 установяване на условията и други такива. 652 00:35:29,770 --> 00:35:32,020 И това е краят на, вид, сториборд - 653 00:35:32,020 --> 00:35:33,400 това, което аз исках да покажа ви за сториборд. 654 00:35:33,400 --> 00:35:36,330 655 00:35:36,330 --> 00:35:43,490 >> И имам разработена например, Всъщност, точно тук. 656 00:35:43,490 --> 00:35:48,090 Така че, това е сториборда че аз направих по-рано. 657 00:35:48,090 --> 00:35:52,740 Така че, както можете да видите, че това е моята навигация контролер. 658 00:35:52,740 --> 00:35:57,040 Тогава за първи път имах контролер изглед, След това имах табличен контролер, 659 00:35:57,040 --> 00:35:58,980 и след това имах всичко това - 660 00:35:58,980 --> 00:36:01,180 толкова по-рано, което правех нещо много по-различно. 661 00:36:01,180 --> 00:36:04,450 Така че, извинете тези неща. 662 00:36:04,450 --> 00:36:07,930 Аз най-вероятно ще го почистя по-късно, преди да Аз го изпрати с производството. 663 00:36:07,930 --> 00:36:12,800 >> Но, ако ще свършим това, ще видим че всички опции са 664 00:36:12,800 --> 00:36:14,050 на разположение за нас. 665 00:36:14,050 --> 00:36:18,540 666 00:36:18,540 --> 00:36:21,320 Само дето не направи фоновете тези цветове. 667 00:36:21,320 --> 00:36:26,510 Така че, хубаво просто приложение. 668 00:36:26,510 --> 00:36:28,340 >> Сега, нека се опитаме да се справим това програмно. 669 00:36:28,340 --> 00:36:31,270 670 00:36:31,270 --> 00:36:32,130 OK. 671 00:36:32,130 --> 00:36:37,570 Така че, за да постигнем това, ние просто ще да започне нов проект Xcode. 672 00:36:37,570 --> 00:36:41,920 Ние ще го празен заявление направи сега, защото ние не искаме да има 673 00:36:41,920 --> 00:36:42,380 сториборд. 674 00:36:42,380 --> 00:36:46,590 Така че, аз съм просто себе си, за да не се ограничава използвате някоя от сценария, и 675 00:36:46,590 --> 00:36:49,170 празно молба няма да дайте ми сториборд. 676 00:36:49,170 --> 00:36:52,256 Това е само за да се предотврати себе си в изневяра. 677 00:36:52,256 --> 00:36:54,428 Нека да видим. 678 00:36:54,428 --> 00:36:55,360 Изчакайте. 679 00:36:55,360 --> 00:36:55,960 Знаете I - 680 00:36:55,960 --> 00:36:56,448 Да. 681 00:36:56,448 --> 00:36:57,698 OK. 682 00:36:57,698 --> 00:37:08,650 683 00:37:08,650 --> 00:37:09,180 >> Точно така. 684 00:37:09,180 --> 00:37:16,790 Така че, ето, ние оставаме с нищо друго, освен код. 685 00:37:16,790 --> 00:37:19,460 Така че, нека да се премести този прозорец малко над. 686 00:37:19,460 --> 00:37:22,020 687 00:37:22,020 --> 00:37:22,260 Точно така. 688 00:37:22,260 --> 00:37:28,160 Както можете да видите тук, единствените файлове не ни дават са AppDelegate.h и дот 689 00:37:28,160 --> 00:37:30,500 м, а ние нямаме Сториборд вече. 690 00:37:30,500 --> 00:37:39,580 >> Така че, ако ще свършим това, ние все още ще стигнем до бял екран, благодаря на Бога. 691 00:37:39,580 --> 00:37:42,280 OK - бял екран, но нищо друго. 692 00:37:42,280 --> 00:37:45,260 И тук е най-важната част. 693 00:37:45,260 --> 00:37:47,810 Това е мястото, където действието се случва. 694 00:37:47,810 --> 00:37:51,410 В предишните версии, има обикновено без код тук, но 695 00:37:51,410 --> 00:37:55,600 сториборд същество осигурява кода за тази част. 696 00:37:55,600 --> 00:37:57,470 Аз няма да навлизам в подробности за това как. 697 00:37:57,470 --> 00:38:02,890 >> И това, което искам да направя сега е, ние искаме да отида в тук, и това малко пространство 698 00:38:02,890 --> 00:38:05,050 започва създаването на нашия ап отново. 699 00:38:05,050 --> 00:38:06,092 Така че - 700 00:38:06,092 --> 00:38:06,318 нали? 701 00:38:06,318 --> 00:38:07,450 >> ПУБЛИКАТА: Zoom? 702 00:38:07,450 --> 00:38:07,770 >> RHED SHI: Zoom. 703 00:38:07,770 --> 00:38:09,020 Да, разбира се. 704 00:38:09,020 --> 00:38:13,940 705 00:38:13,940 --> 00:38:14,520 OK. 706 00:38:14,520 --> 00:38:17,380 Ще се пише, така че това не трябва да значение, прекалено много. 707 00:38:17,380 --> 00:38:17,940 OK. 708 00:38:17,940 --> 00:38:22,720 >> Така че, на първо място, не забравяйте, ние искахме да се създаде навигационна контролер, нали? 709 00:38:22,720 --> 00:38:27,090 И също така, както можете да видите тук, Xcode върши наистина чудесна работа на 710 00:38:27,090 --> 00:38:28,070 самостоятелно пълнене. 711 00:38:28,070 --> 00:38:31,650 Така че, както ще забележите, имената на всичко е много по-дълъг от 712 00:38:31,650 --> 00:38:33,910 обикновено, но Xcode го попълва за вас. 713 00:38:33,910 --> 00:38:35,710 Така че аз може просто да натиснете Enter. 714 00:38:35,710 --> 00:38:40,180 >> Така че, аз искам да се създаде навигация UI показалка контролер, и аз мога да го нарека 715 00:38:40,180 --> 00:38:41,430 navigationController. 716 00:38:41,430 --> 00:38:43,040 717 00:38:43,040 --> 00:38:44,470 Сега, какво да правя сега? 718 00:38:44,470 --> 00:38:49,510 След този знак за равенство, трябва да се, на първо място, тя създаде вътре в паметта. 719 00:38:49,510 --> 00:38:53,790 Така че, аз ще направя NavigationController заделянето на памет - 720 00:38:53,790 --> 00:38:56,640 Така че, това е подобно на изчистване, че вие, момчета, използвани в C - 721 00:38:56,640 --> 00:38:58,400 и след това, аз отивам да го инициализиране. 722 00:38:58,400 --> 00:39:03,670 >> Така че, това е наистина важно, че всяко обект, който създавате, вие искате да 723 00:39:03,670 --> 00:39:04,940 заделянето на памет и инициализиране. 724 00:39:04,940 --> 00:39:08,600 Това ще да го създаде и тя instantialize вътре в паметта, и 725 00:39:08,600 --> 00:39:10,480 сега можете да го използвате. 726 00:39:10,480 --> 00:39:10,780 Добре? 727 00:39:10,780 --> 00:39:14,360 Ако не направите това, вашият обект прави не съществува, и вие ще се сблъскате с един куп 728 00:39:14,360 --> 00:39:17,290 проблеми. 729 00:39:17,290 --> 00:39:20,250 >> И след това, аз искам да се създаде контролер гледка, нали? 730 00:39:20,250 --> 00:39:25,580 Така че, аз искам да се създаде UIViewController звезда - 731 00:39:25,580 --> 00:39:29,620 Така че, всичко е указател в Objective-C, и аз отивам да правя 732 00:39:29,620 --> 00:39:31,600 нещо подобно, тук - 733 00:39:31,600 --> 00:39:32,850 заделянето на памет, първоначален. 734 00:39:32,850 --> 00:39:38,680 735 00:39:38,680 --> 00:39:40,150 OK. 736 00:39:40,150 --> 00:39:43,450 >> И след това, което аз ще направя, е, че съм ще - така, не забравяйте, когато сме направили 737 00:39:43,450 --> 00:39:45,360 за вграждане в навигационен контролер? 738 00:39:45,360 --> 00:39:46,920 Това е начина, по който го направи в код. 739 00:39:46,920 --> 00:39:54,550 Ти започваш да се направи navigationController 740 00:39:54,550 --> 00:39:55,780 pushViewController - 741 00:39:55,780 --> 00:39:57,636 >> ПУБЛИКАТА: [недоловим]. 742 00:39:57,636 --> 00:39:59,030 Дали това ще се случи за нас, или -? 743 00:39:59,030 --> 00:40:00,080 >> RHED SHI: О, да. 744 00:40:00,080 --> 00:40:00,550 Не. 745 00:40:00,550 --> 00:40:02,740 Това ми харесва повече. 746 00:40:02,740 --> 00:40:04,670 Не, че ще работи за вас, също. 747 00:40:04,670 --> 00:40:06,700 Така че, това са всички методи. 748 00:40:06,700 --> 00:40:10,400 Така pushViewController е метод, и Също така, по-специално, това е 749 00:40:10,400 --> 00:40:13,590 например метод на ПС навигация контролер. 750 00:40:13,590 --> 00:40:20,030 Защото аз трябваше да създам UI навигация контролер звезда, а след това 751 00:40:20,030 --> 00:40:24,510 да се обадите на този pushViewController на моя конкретен случай на навигационна UI 752 00:40:24,510 --> 00:40:25,010 контролер. 753 00:40:25,010 --> 00:40:29,490 >> Публика: Трябва ли да се направи точно дума, или пък вече съществува за него? 754 00:40:29,490 --> 00:40:31,380 >> RHED SHI: Да, защото това е един метод. 755 00:40:31,380 --> 00:40:32,200 Това е като функция. 756 00:40:32,200 --> 00:40:33,330 Това е като ФОРМАТ. 757 00:40:33,330 --> 00:40:34,390 Това е като scanf. 758 00:40:34,390 --> 00:40:36,250 Това е като strcompare. 759 00:40:36,250 --> 00:40:40,310 Освен това знае какво може да искате да пишете, и забележите, че това ще винаги 760 00:40:40,310 --> 00:40:42,740 излезе с неща, които са законно право за вас. 761 00:40:42,740 --> 00:40:47,620 Така че, ако нищо не се появява тук, тогава нещо не е наред. 762 00:40:47,620 --> 00:40:50,550 >> Така че, pushViewController. 763 00:40:50,550 --> 00:40:52,580 Така че, сега, искам да прокара ми новосъздадения 764 00:40:52,580 --> 00:40:56,850 UIViewController, и след това, анимирани - 765 00:40:56,850 --> 00:40:57,470 може би не. 766 00:40:57,470 --> 00:41:00,110 Тъй като това ще бъде на пръв поглед контролера. 767 00:41:00,110 --> 00:41:03,210 Искам да кажа, дори ако аз го направя анимационен, то вероятно няма да се появи, тъй като 768 00:41:03,210 --> 00:41:05,050 това е първия екран. 769 00:41:05,050 --> 00:41:06,540 >> И не забравяйте, скобите. 770 00:41:06,540 --> 00:41:08,850 Така че, не забравяйте, как използвахме конзолите? 771 00:41:08,850 --> 00:41:11,870 И вътре в скобите, в обект призовава метод - 772 00:41:11,870 --> 00:41:15,910 така че нашата цел е навигацията контролер, и методът е едно натискане 773 00:41:15,910 --> 00:41:17,210 оглед контролер анимирани. 774 00:41:17,210 --> 00:41:21,920 И да видим как тя отнема в два аргумента, и те са отделени от, нещо, 775 00:41:21,920 --> 00:41:24,390 думи, и на дебелото черво. 776 00:41:24,390 --> 00:41:28,300 Така че, Objective-C се опитва да направи това приятно и лесно за вас да се чете на глас - 777 00:41:28,300 --> 00:41:33,020 кода си - и да го имат полу, нещо, да има смисъл. 778 00:41:33,020 --> 00:41:37,150 >> Въпреки това, прави точно това не е достатъчно. 779 00:41:37,150 --> 00:41:39,780 Позволете ми да отдалечите сега. 780 00:41:39,780 --> 00:41:44,210 Правейки само това не е достатъчно, за да получавате това, което ние трябва да по-рано. 781 00:41:44,210 --> 00:41:48,580 Така че тук, вие ще забележите, че има всъщност няма да е каквато и да е 782 00:41:48,580 --> 00:41:50,190 Бар, тук, нали? 783 00:41:50,190 --> 00:41:54,680 Няма по лента за навигация, което означава, че ние все още не сте го придобили. 784 00:41:54,680 --> 00:41:58,850 >> И ние можем да проверим, че навън, също така, от, може би, промяна на фона на 785 00:41:58,850 --> 00:42:00,460 ViewController, нали? 786 00:42:00,460 --> 00:42:01,710 ViewController.background-- 787 00:42:01,710 --> 00:42:03,155 788 00:42:03,155 --> 00:42:03,640 ах. 789 00:42:03,640 --> 00:42:07,690 Така че, вижте как ViewController не е имал фонов цвят, въпреки че 790 00:42:07,690 --> 00:42:08,780 Исках да го отворите? 791 00:42:08,780 --> 00:42:14,080 И това е така, защото ViewController е контейнер за изгледа. 792 00:42:14,080 --> 00:42:19,490 Значи, това е с изглед собственост, която след това има цвят на фона. 793 00:42:19,490 --> 00:42:25,510 >> И аз мога да го определя, нещо досадно, като се обадите на цвета 794 00:42:25,510 --> 00:42:28,130 върху обекта UIColor. 795 00:42:28,130 --> 00:42:33,210 Така че, тук известие, redColor е метод. 796 00:42:33,210 --> 00:42:36,750 Това е метод, клас UIcolor. 797 00:42:36,750 --> 00:42:40,820 Защото аз не трябва да се създаде застроена инстанция на UIColor за 798 00:42:40,820 --> 00:42:42,020 да се обадя на метода върху него. 799 00:42:42,020 --> 00:42:45,050 Просто, просто, го нарече върху името на типа като. 800 00:42:45,050 --> 00:42:49,620 Аз, подобно, го нарича на ПНА, ако Int имаше, като, метод за това, например. 801 00:42:49,620 --> 00:42:52,380 >> И така, ако ние изпълня този код, ние ще забележите, че фонът е 802 00:42:52,380 --> 00:42:53,540 всъщност не е червено. 803 00:42:53,540 --> 00:42:54,790 Тя все още е бял. 804 00:42:54,790 --> 00:42:57,720 805 00:42:57,720 --> 00:43:04,550 И как можем да се получи около това е, забележете как там е self.window. 806 00:43:04,550 --> 00:43:08,260 Това е, като, крайната контейнера за вашето приложение. 807 00:43:08,260 --> 00:43:11,630 Тя е най-добрата нещо, което съдържа всичко на екрана, за 808 00:43:11,630 --> 00:43:13,650 iPhone или IPAD приложение. 809 00:43:13,650 --> 00:43:20,970 >> И, удобно, self.window има това свойство 810 00:43:20,970 --> 00:43:22,650 rootViewController. 811 00:43:22,650 --> 00:43:26,480 И това ще бъде на показалеца първи контролера оглед вътре 812 00:43:26,480 --> 00:43:27,270 на вашия апартамент. 813 00:43:27,270 --> 00:43:32,000 Така че, това, което ние искаме да направим тук, сега, е за да зададете, че равен на нашия навигация 814 00:43:32,000 --> 00:43:32,710 контролер. 815 00:43:32,710 --> 00:43:33,760 Нали така? 816 00:43:33,760 --> 00:43:37,490 Защото, технически, навигация контролер е много първата наша гледна 817 00:43:37,490 --> 00:43:38,770 контролер. 818 00:43:38,770 --> 00:43:46,160 То следи масив от друга гледна контролери, и ние избута този 819 00:43:46,160 --> 00:43:49,810 оглед контролер в този масив в контролера навигация. 820 00:43:49,810 --> 00:43:52,640 >> Така че, вие не искате да направите това. 821 00:43:52,640 --> 00:43:54,225 Това не би наистина да ви помогне. 822 00:43:54,225 --> 00:43:58,040 Вие искате да направите това, ако искате да направите навигационна контролер, който най- 823 00:43:58,040 --> 00:44:01,100 от вас вероятно ще тъй като вие ще искате да, нещо, има някакъв вид, 824 00:44:01,100 --> 00:44:04,840 като, меню, за да се върнете към някои или начална страница, за да се върнете към, а не като 825 00:44:04,840 --> 00:44:05,470 празен екран. 826 00:44:05,470 --> 00:44:05,920 Да? 827 00:44:05,920 --> 00:44:11,460 >> ПУБЛИКАТА: неудобно ли е за да можете да увеличите по - 828 00:44:11,460 --> 00:44:12,710 >> RHED SHI: Да. 829 00:44:12,710 --> 00:44:15,310 830 00:44:15,310 --> 00:44:15,720 Така че, да. 831 00:44:15,720 --> 00:44:22,370 Това е кодът, и сега нека да го тествате. 832 00:44:22,370 --> 00:44:27,920 >> Така че, ето. 833 00:44:27,920 --> 00:44:29,170 Magic. 834 00:44:29,170 --> 00:44:30,960 835 00:44:30,960 --> 00:44:32,690 Така че, OK. 836 00:44:32,690 --> 00:44:34,420 Благодаря. 837 00:44:34,420 --> 00:44:35,000 OK. 838 00:44:35,000 --> 00:44:38,690 Така че сега, това, което искаме да направим, е - така, ние сме вид ограничени, тук, нали? 839 00:44:38,690 --> 00:44:45,130 Ние може потенциално да напиша всичко във вътрешността на тази една функция. 840 00:44:45,130 --> 00:44:48,470 Но, това не е начина за развитие IOS обикновено работи. 841 00:44:48,470 --> 00:44:53,030 >> Така че, това, което ще направя, е, че сме ще създадем някои нови файлове. 842 00:44:53,030 --> 00:44:57,110 Но, по-специално, ние ще създадете друг Objective-C клас, или 843 00:44:57,110 --> 00:44:58,010 друг обект - 844 00:44:58,010 --> 00:45:00,700 клас и обекти са взаимозаменяеми тук. 845 00:45:00,700 --> 00:45:06,460 И, ето как можех, потенциално, създадете друг клас U контролери. 846 00:45:06,460 --> 00:45:12,030 >> Така че, това е един подклас, както ще забележите, тук, това е подклас на 847 00:45:12,030 --> 00:45:15,910 Предвид UI контролер, но не мога го наричат ​​всяко друго наименование тук. 848 00:45:15,910 --> 00:45:19,400 Мога да се обадя тази CS50, мога да се обадя този възглед контролер, можех да се обадя 849 00:45:19,400 --> 00:45:21,640 това бла оглед контролер - 850 00:45:21,640 --> 00:45:22,400 нещо, което искам. 851 00:45:22,400 --> 00:45:24,140 Това е само за името на класа. 852 00:45:24,140 --> 00:45:27,020 Въпреки това, той ще бъде важен защото по същество това, което правя 853 00:45:27,020 --> 00:45:29,720 тук е, че аз съм създаване друго име клас. 854 00:45:29,720 --> 00:45:34,140 Така че, това ще бъде, като, някои сортиране на тип или обект. 855 00:45:34,140 --> 00:45:35,910 Значи, това трябва да бъде малко по-родово. 856 00:45:35,910 --> 00:45:37,225 Това няма да бъде много специфична. 857 00:45:37,225 --> 00:45:40,410 858 00:45:40,410 --> 00:45:44,480 >> И също така, аз искам да подчертая тези две опции. 859 00:45:44,480 --> 00:45:48,430 Защото ние правим всичко вътре код, понякога е много по-лесно 860 00:45:48,430 --> 00:45:53,540 да се въвеждат в един файл интерфейс, така че Аз буквално може да плъзнете и пуснете, като 861 00:45:53,540 --> 00:45:54,960 ние направихме по-рано с сториборд - 862 00:45:54,960 --> 00:45:57,810 нали знаеш, етикет, или бутон, или каквото и друго. 863 00:45:57,810 --> 00:46:01,950 И така, xibs са файлове, които ви позволяват да се, че и вие трябва да го свържете 864 00:46:01,950 --> 00:46:04,310 този възглед файл контролер. 865 00:46:04,310 --> 00:46:06,540 >> Така че, аз ще умишлено не проверите това. 866 00:46:06,540 --> 00:46:12,510 Обикновено бих се провери това, и ако аз само че това за iPhone или IPAD, аз 867 00:46:12,510 --> 00:46:16,340 ще провери това и просто да има един Защото, знаете, iPhone или IPAD. 868 00:46:16,340 --> 00:46:19,750 Но тъй като аз правя универсален, аз отивам за създаване на две от тези по-късно. 869 00:46:19,750 --> 00:46:22,220 Така че, аз ще умишлено махнете отметката от тази. 870 00:46:22,220 --> 00:46:23,940 >> Това е също много важно. 871 00:46:23,940 --> 00:46:27,490 Много пъти, аз съм имал бъгове когато това не е проверена. 872 00:46:27,490 --> 00:46:31,930 И така, очевидно, този файл не е, вид, като, включени или внесени 873 00:46:31,930 --> 00:46:33,740 във вътрешността на този тест папка. 874 00:46:33,740 --> 00:46:38,180 И така, моят код има абсолютно никаква представа за съществуването на този файл, и 875 00:46:38,180 --> 00:46:41,080 което причинява много болка и час за отстраняване на грешки. 876 00:46:41,080 --> 00:46:44,360 Но, просто се уверете, че това се проверява, така че, нали знаете, целта на тази 877 00:46:44,360 --> 00:46:47,510 файл е за това приложение. 878 00:46:47,510 --> 00:46:48,310 >> OK. 879 00:46:48,310 --> 00:46:51,680 Така че, сега сме създали две нови файлове. 880 00:46:51,680 --> 00:46:54,050 И тези файлове изглеждат доста празни. 881 00:46:54,050 --> 00:46:59,550 И, всъщност, нека да продължи чрез създаване на XIB файлове. 882 00:46:59,550 --> 00:47:03,690 Така че, преди това, бях в Cocoa Touch падащото меню. 883 00:47:03,690 --> 00:47:06,880 Сега, аз ще отида в Потребителя Interface докосване, и както можете да видите, аз 884 00:47:06,880 --> 00:47:08,120 да създадете сценария. 885 00:47:08,120 --> 00:47:11,710 >> Така че, дори и аз започнах с празен заявление, аз все още може да се използва 886 00:47:11,710 --> 00:47:12,340 сториборд. 887 00:47:12,340 --> 00:47:15,480 Въпреки, че малко по-сложен от гледна точка за това как искате да се свържете 888 00:47:15,480 --> 00:47:16,820 че да си код. 889 00:47:16,820 --> 00:47:18,230 Така че, аз няма да отида там. 890 00:47:18,230 --> 00:47:22,160 >> Но, това, което искаме да направим сега е да създадете изглед. 891 00:47:22,160 --> 00:47:25,720 И вие можете да изберете за един iPhone или IPAD. 892 00:47:25,720 --> 00:47:30,180 И обикновено, за да се обозначи разлика - ако сте прави 893 00:47:30,180 --> 00:47:31,950 универсално приложение - 894 00:47:31,950 --> 00:47:35,980 Или сложи долна черта iPhone, или можете да направите Twiddly. 895 00:47:35,980 --> 00:47:36,980 Всъщност няма значение. 896 00:47:36,980 --> 00:47:40,890 Това е просто, за да се разграничат което мнение е за кое устройство. 897 00:47:40,890 --> 00:47:43,470 898 00:47:43,470 --> 00:47:44,430 >> И така, сега гледам. 899 00:47:44,430 --> 00:47:47,550 Имам един екран, че мога да работя. 900 00:47:47,550 --> 00:47:53,530 И така, например, мога да сложа етикет тук, знаете ли, и аз мога също така да сложите 901 00:47:53,530 --> 00:47:54,820 друг бутон тук. 902 00:47:54,820 --> 00:47:58,730 Аз няма да се притеснява променя стойностите тук. 903 00:47:58,730 --> 00:48:09,050 >> Но, това, което е важно тук е че файлът е собственик - 904 00:48:09,050 --> 00:48:13,660 Така че, аз съм вътре в iPhone изглед, iPhone XIB файл. 905 00:48:13,660 --> 00:48:18,050 И надолу в тази област или навигация падащото меню, искам да отида до 906 00:48:18,050 --> 00:48:19,090 собственика на файла е. 907 00:48:19,090 --> 00:48:22,630 И това е наистина важна стъпка тук. 908 00:48:22,630 --> 00:48:27,780 Искам да направя изгледа на клас контролер, така че този файл е XIB 909 00:48:27,780 --> 00:48:30,030 ще бъде свързан с мое мнение контролер. 910 00:48:30,030 --> 00:48:33,590 911 00:48:33,590 --> 00:48:39,360 И нищо, че аз правя вътре в мен контролер е програмно 912 00:48:39,360 --> 00:48:42,800 ще бъдат отразени тук. 913 00:48:42,800 --> 00:48:46,270 >> Така, обаче, забелязваме, че - 914 00:48:46,270 --> 00:48:55,995 Всъщност, нека направим тази гледна син фон, например. 915 00:48:55,995 --> 00:49:00,280 916 00:49:00,280 --> 00:49:01,530 Или зелено. 917 00:49:01,530 --> 00:49:03,870 918 00:49:03,870 --> 00:49:07,950 И след това, така че ако вие ще забележите, обратно в този кодекс, това е мястото, където ние трябва да ни 919 00:49:07,950 --> 00:49:09,200 навигация контролер. 920 00:49:09,200 --> 00:49:12,650 921 00:49:12,650 --> 00:49:18,310 >> Въпреки, че сме направили тази стъпка, това е все още ще бъде в червено, а не зелено. 922 00:49:18,310 --> 00:49:20,350 И това си има причина защо. 923 00:49:20,350 --> 00:49:28,090 Това е така, защото, когато ние inited нашето виждане контролер, тук - 924 00:49:28,090 --> 00:49:30,010 Съжалявам, че е малко луд - 925 00:49:30,010 --> 00:49:34,520 когато ние inited нашето виждане контролер тук, ние го inited на общия тип 926 00:49:34,520 --> 00:49:35,990 UIViewController. 927 00:49:35,990 --> 00:49:36,560 OK? 928 00:49:36,560 --> 00:49:40,560 Така че ние дори не направи то с този клас. 929 00:49:40,560 --> 00:49:42,030 >> Така че не забравяйте, това е като клас сега. 930 00:49:42,030 --> 00:49:47,160 Тя може да се мисли като вид, просто като UIViewController е вид. 931 00:49:47,160 --> 00:49:51,080 И, за да използвате, че това, което ние трябва да направим, е да го импортирате - 932 00:49:51,080 --> 00:49:52,520 внос ViewController - 933 00:49:52,520 --> 00:49:55,750 и, както можете да видите, че тя autofills за мен. 934 00:49:55,750 --> 00:49:56,570 Така че, ViewController - 935 00:49:56,570 --> 00:50:02,070 и сега, ето, аз мога да променя това UIViewController да ViewController. 936 00:50:02,070 --> 00:50:05,050 И сега, ето, аз мога да променя това ViewController. 937 00:50:05,050 --> 00:50:07,790 938 00:50:07,790 --> 00:50:09,250 >> Нека да тече отново. 939 00:50:09,250 --> 00:50:16,970 940 00:50:16,970 --> 00:50:19,690 Тя все още червено. 941 00:50:19,690 --> 00:50:23,370 И причината, поради която тя е все още е червена, защото - 942 00:50:23,370 --> 00:50:26,230 полудяхме, какво се е случило там? 943 00:50:26,230 --> 00:50:31,500 Искахме да се сдружават този XIB файл с контролера гледка. 944 00:50:31,500 --> 00:50:37,540 Въпреки това, с цел действително да направим че, ние трябва да отида в това. 945 00:50:37,540 --> 00:50:42,980 И когато правим първоначален, което искаме да направим initWithNibName, а след това ние искаме да 946 00:50:42,980 --> 00:50:48,910 направи в низ View_iPhone, например. 947 00:50:48,910 --> 00:50:51,700 Можете да игнорирате вързопа тук. 948 00:50:51,700 --> 00:50:54,965 >> И това ще позволи от нас да, всъщност - 949 00:50:54,965 --> 00:51:00,620 950 00:51:00,620 --> 00:51:02,160 ъ о, има проблем. 951 00:51:02,160 --> 00:51:09,300 952 00:51:09,300 --> 00:51:09,980 Точно така. 953 00:51:09,980 --> 00:51:17,670 >> И така, има проблем, тъй като в нашето виждане XIB файл, имаме етикет и 954 00:51:17,670 --> 00:51:18,720 имаме един бутон. 955 00:51:18,720 --> 00:51:23,660 Въпреки това, макар и да съм свързан тези двамата, няма нищо вътре 956 00:51:23,660 --> 00:51:27,440 ViewController.h или ViewController.m , които отразяват тези 957 00:51:27,440 --> 00:51:29,160 бутони или тези етикети. 958 00:51:29,160 --> 00:51:32,425 Така че, ние трябва да напишете тези в най- свойства на контролера оглед. 959 00:51:32,425 --> 00:51:35,290 960 00:51:35,290 --> 00:51:39,490 >> Така че, това е как вие декларирате имот. 961 00:51:39,490 --> 00:51:43,422 Това отнема в, обикновено, тези две възможности. 962 00:51:43,422 --> 00:51:48,690 За целите на нас и този семинар, Бих казал, че, като цяло, 963 00:51:48,690 --> 00:51:52,250 повечето имоти са nonatomic и задържат. 964 00:51:52,250 --> 00:51:55,420 Можете да прочетете чрез търсене Google, Знаете ли, разликата между 965 00:51:55,420 --> 00:51:58,620 nonatomic и задържа на, вие знаете, Google или нещо такова. 966 00:51:58,620 --> 00:52:01,090 И аз ще ви отведе до нещо като Stack Overflow, където хората ще имат 967 00:52:01,090 --> 00:52:03,605 отговори за различията между тях. 968 00:52:03,605 --> 00:52:07,000 Но за сега, това е, което ние Искам да се занимава с. 969 00:52:07,000 --> 00:52:12,790 >> И ние искаме да направим етикет UI, звезда, и ние можем да го наречем, каквото си искаме. 970 00:52:12,790 --> 00:52:15,710 Можем да наречем това, знаете ли, етикет. 971 00:52:15,710 --> 00:52:18,270 972 00:52:18,270 --> 00:52:20,110 И ние ще създадем друг един за бутона. 973 00:52:20,110 --> 00:52:24,380 974 00:52:24,380 --> 00:52:29,910 И не забравяйте да включите звездичката, защото ние се занимаваме с указатели 975 00:52:29,910 --> 00:52:36,740 почти навсякъде вътре на Objective-C. 976 00:52:36,740 --> 00:52:42,110 >> Въпреки, че все още няма да реши проблема, както можете да видите тук. 977 00:52:42,110 --> 00:52:50,540 И причината е, защото, когато ние искате да се свържете етикет XIB файл или 978 00:52:50,540 --> 00:52:55,690 бутон за програмата, или заглавието и файла изпълнение, ние искаме да 979 00:52:55,690 --> 00:52:58,255 добавите тази част от код - 980 00:52:58,255 --> 00:53:00,610 контакт. 981 00:53:00,610 --> 00:53:03,600 Забележете, че това е ключова дума. 982 00:53:03,600 --> 00:53:07,970 >> И веднага след като свърша с писане това, тя трябва да има тези 983 00:53:07,970 --> 00:53:09,100 две окръжности, тук. 984 00:53:09,100 --> 00:53:11,200 Обикновено те не са пълни инча 985 00:53:11,200 --> 00:53:12,920 Аз не съм сигурен защо са те. 986 00:53:12,920 --> 00:53:21,370 Но обикновено, ще трябва ръчно да ги свържете, като отидете на тази страна на 987 00:53:21,370 --> 00:53:23,530 зоната на комуналните услуги. 988 00:53:23,530 --> 00:53:28,430 >> И така, точно сега, аз имам моя лейбъл избран, и аз искам да плъзнете тази нова 989 00:53:28,430 --> 00:53:33,910 съотнасяне излаз към собственика досието ми е, и след това щракнете върху етикета. 990 00:53:33,910 --> 00:53:40,230 Така че сега, в крайна сметка, този етикет е свързан с този етикет. 991 00:53:40,230 --> 00:53:44,950 И този етикет е това, което ние ще се използвате програмно да промени своята 992 00:53:44,950 --> 00:53:49,250 текст, шрифт, неговия фон цвят на кожата, и така нататък. 993 00:53:49,250 --> 00:53:52,430 >> Така че, защо да не правим Същото важи и за бутона? 994 00:53:52,430 --> 00:53:54,770 И тъй като вие ще забележите, за бутона, това е малко по-сложно. 995 00:53:54,770 --> 00:53:59,060 Защото, искам да кажа, вие трябва да натискане на един бутон, така че има много 996 00:53:59,060 --> 00:54:02,950 опции за това как потребителите да натиснете върху бутона. 997 00:54:02,950 --> 00:54:06,570 И след това, ще видим по-късно, че можем да свържем това с нашия 998 00:54:06,570 --> 00:54:09,140 код, за да я накара да работи. 999 00:54:09,140 --> 00:54:12,770 >> Така че, за сега обаче, ние искаме да се свържете да действителната бутона 1000 00:54:12,770 --> 00:54:13,570 във вътрешността на нашия код. 1001 00:54:13,570 --> 00:54:19,640 Така че отиваме на нова изхода на съотнасяне, и след това направете бутона. 1002 00:54:19,640 --> 00:54:22,068 Сега, нека да тече отново. 1003 00:54:22,068 --> 00:54:23,040 Uh о. 1004 00:54:23,040 --> 00:54:23,890 OK. 1005 00:54:23,890 --> 00:54:25,140 Не знам какво става тук. 1006 00:54:25,140 --> 00:54:48,450 1007 00:54:48,450 --> 00:54:49,700 Whoa. 1008 00:54:49,700 --> 00:54:57,380 1009 00:54:57,380 --> 00:54:58,960 Само един момент, тук. 1010 00:54:58,960 --> 00:55:02,490 >> Всъщност, защо не можем да разгледаме още един пример в 1011 00:55:02,490 --> 00:55:05,800 интерес от време. 1012 00:55:05,800 --> 00:55:06,200 OK. 1013 00:55:06,200 --> 00:55:10,610 Така че, тук е по-лесно да се получат Например за ViewController. 1014 00:55:10,610 --> 00:55:13,230 1015 00:55:13,230 --> 00:55:17,110 Както можете да видите тук, аз бях включен свойствата за 1016 00:55:17,110 --> 00:55:18,460 етикета и бутона. 1017 00:55:18,460 --> 00:55:20,370 И тогава, тази част от кода тук - 1018 00:55:20,370 --> 00:55:21,830 този IBaction - 1019 00:55:21,830 --> 00:55:27,740 е връзка към този бутон тук. 1020 00:55:27,740 --> 00:55:33,940 Така, както можете да видите тук, Touch Up Inside е свързан към селектор 1021 00:55:33,940 --> 00:55:37,390 наречен натиснат бутон. 1022 00:55:37,390 --> 00:55:41,700 >> Така че, ние всъщност може да мине през Предложение отново тук, като се вземат Touch Up 1023 00:55:41,700 --> 00:55:48,750 Вътре и го издърпате Собственик на файла, а след това 1024 00:55:48,750 --> 00:55:51,570 кликнете върху бутон натиснат. 1025 00:55:51,570 --> 00:55:52,820 Сега, нека да тече нашия код. 1026 00:55:52,820 --> 00:55:55,710 1027 00:55:55,710 --> 00:56:02,020 Така че сега, този бутон сега работи и ще ни отведе към следващата страница. 1028 00:56:02,020 --> 00:56:08,430 >> И от гледна точка на нашето виждане контролер, това е част от код, която се 1029 00:56:08,430 --> 00:56:10,000 грижа на бутона натиснат. 1030 00:56:10,000 --> 00:56:14,260 И това е важно да се отбележи тук, че Аз създадох друг тип оглед на 1031 00:56:14,260 --> 00:56:16,330 контролер нарича маса оглед контролер. 1032 00:56:16,330 --> 00:56:19,900 Така че, това е подобен на резервно копие в сториборд, когато влачат един от 1033 00:56:19,900 --> 00:56:23,450 тези табличен контролери в сценария. 1034 00:56:23,450 --> 00:56:24,470 Аз съм създаване друг 1035 00:56:24,470 --> 00:56:30,000 >> Указател към администратора на изглед на маса, заделянето на памет и първоначален-ING, и след това да направите 1036 00:56:30,000 --> 00:56:34,490 самостоятелно точка навигация контролер, бутнете ViewController, тази нова 1037 00:56:34,490 --> 00:56:35,350 viewController. 1038 00:56:35,350 --> 00:56:39,750 И съм задал анимацията да да, защото сега вътре в моя апартамент, а аз 1039 00:56:39,750 --> 00:56:45,670 Искам наистина да видите анимацията ще от началната страница на масата 1040 00:56:45,670 --> 00:56:46,920 оглед контролер. 1041 00:56:46,920 --> 00:56:48,830 1042 00:56:48,830 --> 00:56:51,110 >> ПУБЛИКАТА: Все още ли се притесняваш за събиране на боклука? 1043 00:56:51,110 --> 00:56:51,840 >> RHED SHI: Какво е това? 1044 00:56:51,840 --> 00:56:54,740 Не. 1045 00:56:54,740 --> 00:56:58,970 Така че, въпросът е, имате ли да работят с събиране на боклука? 1046 00:56:58,970 --> 00:57:03,470 Така че, Xcode 4 имаше подобно ARC, което е автоматична препратка броене. 1047 00:57:03,470 --> 00:57:06,120 И така, обикновено, когато започнете нов проект, вие ще проверите това, защото 1048 00:57:06,120 --> 00:57:09,440 никой не иска да се занимава с освобождава памет и такива неща. 1049 00:57:09,440 --> 00:57:13,720 Но мисля, че в Xcode 5, там дори не е този вариант на новия проект. 1050 00:57:13,720 --> 00:57:16,750 Така че, той автоматично прави това за вас. 1051 00:57:16,750 --> 00:57:16,920 Да? 1052 00:57:16,920 --> 00:57:20,970 >> ПУБЛИКАТА: Можете ли да експортирате PDF в сценария? 1053 00:57:20,970 --> 00:57:22,020 >> RHED SHI: Да, определено. 1054 00:57:22,020 --> 00:57:28,180 Така, всички от тях ще бъдат включени в изходния код, така че вие ​​може да се провери 1055 00:57:28,180 --> 00:57:30,730 действителната проекта Xcode за него. 1056 00:57:30,730 --> 00:57:31,105 Да? 1057 00:57:31,105 --> 00:57:35,944 >> ПУБЛИКАТА: Но, искам да кажа, като, може ли отпечатване на PDF с моя сценария? 1058 00:57:35,944 --> 00:57:38,920 Ако просто искате да експортирате изображения, за да покажете на някого. 1059 00:57:38,920 --> 00:57:39,160 >> RHED SHI: О, да. 1060 00:57:39,160 --> 00:57:41,980 Мисля, че, може би, може просто да вземе снимка на екрана. 1061 00:57:41,980 --> 00:57:44,350 Да, и да ги изпрати на екрана удар или нещо такова. 1062 00:57:44,350 --> 00:57:45,600 Да. 1063 00:57:45,600 --> 00:57:49,170 1064 00:57:49,170 --> 00:57:50,570 >> Така че, нека да видим. 1065 00:57:50,570 --> 00:57:56,470 В интерес на време, мисля, че това е всичко, което може да покрие днес. 1066 00:57:56,470 --> 00:57:59,600 Но, знам, че това е, всъщност, просто едва докосва повърхността на IOS 1067 00:57:59,600 --> 00:58:00,370 развитие. 1068 00:58:00,370 --> 00:58:05,630 Така че, моля, чувствайте се свободни да се свържете с мен, ако имате някакви въпроси за IOS 1069 00:58:05,630 --> 00:58:07,000 развитие. 1070 00:58:07,000 --> 00:58:12,840 И, надявам се, ще бъде в състояние да почистите някои от кода на източника 1071 00:58:12,840 --> 00:58:16,830 файлове с код, така че ще имат някаква много хубави примери, за да се работи. 1072 00:58:16,830 --> 00:58:21,020 >> Други от това, ако вие ще до CS50 Hackathon, аз може или не може 1073 00:58:21,020 --> 00:58:25,730 не е там, и мога да помогна с известно развитие IOS, също. 1074 00:58:25,730 --> 00:58:26,980 Така че, благодаря много, момчета. 1075 00:58:26,980 --> 00:58:31,168