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 App програмування Objective C семінарі. 4 00:00:20,250 --> 00:00:21,520 І мене звуть Tianyu Лю. 5 00:00:21,520 --> 00:00:26,114 Я молодший Лоуелл прямо зараз, концентруючись в галузі комп'ютерних наук. 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 Ура, захопитися для нього. 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 використовує Objective C. Ну, є Нова мова називається Свіфт, 15 00:00:55,860 --> 00:00:58,260 але ми не збираємося використовувати, що в цьому семінарі. 16 00:00:58,260 --> 00:01:01,540 Якщо ви зацікавлені в Swift, є є незалежним семінар про це. 17 00:01:01,540 --> 00:01:05,590 Але Objective C, в основному розширений Ч. Значення 18 00:01:05,590 --> 00:01:10,230 що всі ви використовуєте в C може бути переведені на Objective-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 і Objective C. Таким чином, 22 00:01:19,790 --> 00:01:22,860 так як ви зробили CS50 до цього місця, то вже 23 00:01:22,860 --> 00:01:26,500 знати, Objective C, щонайменше, 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 Але це, як потужний API IOS може бути. 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 думати про при будівництві вашого Остаточний проект в Objective-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 Це не те, Android, де все досить фрагментований. 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 >> Гаразд, тепер давайте насправді отримати у мовній Objective C. 49 00:02:48,870 --> 00:02:52,910 Так чому б нам не почати з деякі дійсно основний синтаксис. 50 00:02:52,910 --> 00:02:57,410 Як я вже говорив Мета C Це в основному розширеним С. 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 Тим не менш, Objective C неповністю C, 60 00:03:33,400 --> 00:03:36,640 і є те, що трохи дивно про це. 61 00:03:36,640 --> 00:03:42,340 >> Перший в тому, що коли ви робити програмування на мові С, ви, як правило, називають 62 00:03:42,340 --> 00:03:46,310 включають в себе, а потім ім'я бібліотеки. 63 00:03:46,310 --> 00:03:49,860 Але в Objective-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-- у вас є досить дивні NS 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 але в Objective-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 Ну і виходить, що Objective C насправді 82 00:04:44,060 --> 00:04:50,040 Має нс префікс майже все, кожен базовий тип даних, 83 00:04:50,040 --> 00:04:52,690 NSString, NSArray, NSDictionary. 84 00:04:52,690 --> 00:04:56,340 Причина в тому, що нс насправді позначає наступний крок, 85 00:04:56,340 --> 00:04:59,980 що компанія, яка Стів Джобс заснував, 86 00:04:59,980 --> 00:05:03,960 що компанія, в якій мова Objective 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 Це дуже відрізняється від того, що ми см в Сі, так ось це насправді 91 00:05:22,600 --> 00:05:25,190 не схожий С більше. 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 Виклик функції в Objective С також відрізняється від C. 125 00:07:15,520 --> 00:07:18,170 >> Насправді, називаючи функція в Objective-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 Ви в основному говорить об'єкт сам, щоб сказати "Hello World!" 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 точка Objective 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 методи або моделі, які є використовується Objective C. Objective-C 150 00:08:57,110 --> 00:09:03,110 називається Objective C, що не 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 називається структура, коли ви знаходитесь реалізації дерево або пов'язаний список 155 00:09:19,780 --> 00:09:25,730 або [? спробувати. ?] Таким чином, це в основному, як структури, 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 >> І властивості в основному полі ви вказуєте в структури. 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 давайте просто скажемо, Twitter або Facebook, кожен вид ви бачите об'єкт. 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 Ведення S код програмування пленарному засіданні. 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 Деякі швидкі приклади будуть переслідувати миша, їдять рибу або просто нявкають. 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 ви просто подзвоніть мяу на об'єкті, що кішка ви тільки що створили. 228 00:14:16,640 --> 00:14:19,020 >> Можливо, ви будете друкувати щось на зразок "Hello World! 229 00:14:19,020 --> 00:14:20,000 Мяу. " 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 Таким чином, в цьому випадку, ми можемо бачити, що ми заявивши, інтерфейс, Cat: об'єкт. 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 Схоже, структури. 251 00:15:41,770 --> 00:15:44,950 Тобто в принципі синтаксис для декларування структури, 252 00:15:44,950 --> 00:15:47,710 і що абсолютно правильно. 253 00:15:47,710 --> 00:15:51,825 А так як я вже згадував раніше, Різниця структура 254 00:15:51,825 --> 00:15:53,960 і об'єкт, один з фундаментальні відмінності 255 00:15:53,960 --> 00:15:59,080 в тому, що об'єкт має метод, в той час як структура має тільки змінні. 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 >> Давайте просто скажемо, тут ми маємо два методи, один няв, 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 І ви, напевно, хочете повернутися логічне значення, що означає, 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 >> Давайте просто скажемо, тут мяу буде просто роздрукувати 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 Як ви використовуєте клас для створення об'єкт в Objective C, що тут написано. 279 00:17:26,880 --> 00:17:30,730 >> Ви спочатку вкажіть, Це покажчик кішки, 280 00:17:30,730 --> 00:17:38,700 бо кожен об'єкт в Objective 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 Я знаю, що це є трохи дивним, але це насправді, як Apple, робить речі. 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 ви привласнюєте деякі конкретні поле всередині структури. 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 для виклику будь-якого методу в Objective C. 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, що ви повинні мяу. 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 що ми повинні говорити про перш ніж дістатися до фактичного S коду. 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 Давайте уявимо, якщо Facebook це один постріл програма, це не дуже добре. 321 00:20:10,230 --> 00:20:13,750 Ви просто зайдіть на Facebook один раз, і це зроблено. 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 що всякий раз, коли кнопка натиснута, викликати функцію під назвою "Hello World!" 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 Таким чином, в Objective-C є три різних схеми 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 Але ці події дані Ви Яблуком, щоб почати с. 357 00:22:19,230 --> 00:22:22,640 Наприклад, я не повністю впевнені, як багато хто з вас 358 00:22:22,640 --> 00:22:27,930 хлопці використовують оригінал від Apple Додаток поштою або зв'язатися з 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 Так Яблуко, враховуючи, що навіть для вас так що ви можете просто використовувати безпосередньо 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 в Objective C. Ну в Справа в тому, кожен додаток 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 Apple, тільки що сказав вам, що ця функція відбудеться, коли відбувається якась подія, 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 набагато ясніше, коли ми робимо Вибір S коди в дії. 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 покриття деякі дуже базовий синтаксис і фундаментальне поняття для Objective-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 на Вікна, дійсно, дуже важко. 405 00:25:33,930 --> 00:25:37,560 Це здійснимо, але це дуже важко. 406 00:25:37,560 --> 00:25:40,610 І Ви, безумовно, не хочете використовувати г редагування. 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 Ця область дуже схожий г редагувати, але набагато краще, ніж г редагування. 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 Так що це дійсно хороша, з код насправді вже 433 00:27:22,980 --> 00:27:26,820 дав вам деякі шаблони для створення об'єктів. 434 00:27:26,820 --> 00:27:32,680 Якщо ви хочете зробити гру, код ˘S насправді є шаблон ігри для вас, 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 Отже, без подальших церемоній, давайте насправді скомпілювати додаток і подивитися, що відбувається. 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 >> Ми кидаємо мітку тут, "Hello World !!!" 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 Тут ми маємо "Hello World !!!" 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 Це, як потужний Interface Builder може бути. 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 тільки за допомогою Interface Builder. 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 У цьому випадку ми повинні побачити "Hello 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 Це те, що ви бачите, що "Hello World !!!" 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 Натисніть Control і перетягніть Текст вид в декларації. 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 створено з метою виробництва, які є UI 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 Перетягніть і відпустіть. 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 для керованих подіями, програмування в Objective C. 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 Так от у нас в основному створена Конкретний екземпляр називається попередження UI 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 Подобається те, що станеться, коли ви намагаєтеся купити щось на App Store. 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 ми повинні додати нову делегацію це називається UI Alert Подивитися делегата. 746 00:49:03,190 --> 00:49:06,440 Так що кожен взаємодія або подія 747 00:49:06,440 --> 00:49:10,190 що ми матимемо з метою попередження UI 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 Статичний переповнення дуже дивним. 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 Спеціально для коду школі, вони є дійсно хороший підручник з МО. 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 Це насправді блог, який був запущений насправді відчував Objective 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