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 Введення в МО. 4 00:00:11,630 --> 00:00:13,290 Спасибі всім, що прийшли. 5 00:00:13,290 --> 00:00:16,610 Сподіваюся, ти так само раді як я збираюся прошивкою. 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 працює протягом прошивкою. 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 В принципі, це все одно, як ви працювали з Структури в цьому минулому 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 в С і С + +, з 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 >> Я також хочу, щоб виділити різницю між Printf і 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 так% г є для INT, % Е для поплавка. 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, я 80 00:04:38,290 --> 00:04:42,400 є, по меншій перед лапок, навіть хоча% г і% е є 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 Так, в С, більшість речей функції. 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 >> Але, ви побачите, що у нас є методи в Функції Objective-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 Objective-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 Я не, насправді, зовсім впевнений чи Я синтаксично жорстко масив 142 00:08:08,650 --> 00:08:16,020 правильно для версії C, але це повинен бути в масиві 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, вам доведеться, ви знаєте, мабуть, BOOL б, і ви встановите його в 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 як ви можете бачити, в С, є ніякий інший жовтий слово. 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 ОК. 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 і ПК. 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 Взяти до відома п'єси і запірні кнопки. 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 Таким чином, ви більше не доведеться налагоджувати, і так далі, у ваших програмах. 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 буквально, так само, як С. Ви просто мають незначні відмінності. 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 ОК. 226 00:12:52,440 --> 00:12:56,190 І я хочу, щоб перейти для постановки також. 227 00:12:56,190 --> 00:13:01,420 >> Так, наприклад, якщо ми хочемо, щоб петлі по довжині рядка в C, це 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 що посилання веде до переповнення стека утворюють, де хтось пояснює 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 Так, власне, чому б нам не перейти до Хром і перевірити цей сайт? 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 Привіт. 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 ОК. 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. 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 тих, важливі, якщо ви збираєтеся розмістити додаток на App Store. 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 ОК. 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 ОК. 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 ОК? 400 00:22:06,110 --> 00:22:14,010 >> І, в нашій області комунального, ми можемо додати купа різних речей до нього. 401 00:22:14,010 --> 00:22:19,290 Так що, коли ви маєте справу з екранів в МО, вид контролери 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 Так, тепер, коли я натиснув на етикетці, я може перейти в інспекторові властивостей 410 00:22:49,560 --> 00:22:51,510 і почати змінювати його значення. 411 00:22:51,510 --> 00:22:55,040 Давайте назвемо це CS50 Кольори. 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 ОК. 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 >> АУДИТОРІЯ: Просто передати 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 ОК. 428 00:23:25,940 --> 00:23:26,275 Приголомшливо. 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 Кольори. 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 Контроль. 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 ОК. 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 Натисніть тільки якщо у вас є навігація контролер. 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 примірник користувача інтерфейсу навігації контролера ". Таким чином, тому що це не було всередині 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 >> ОК. 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 ОК, зупинити - 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 >> АУДИТОРІЯ: Навігація контролер просто дозволяє перейти з місця на місце? 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 Це, як правило автоматично встановлюється в динамічний Prototype - 543 00:29:18,440 --> 00:29:20,640 ми збираємося зробити це статичні клітини, в іншому випадку ми збираємося 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 бути через 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 І потім, я хочу поставити крапку зору користувача інтерфейсу, ви знаю, може бути, для, як, коробочку. 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 Таким чином, ми можемо назвати це жовтий. 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 Фіолетовий. 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 ОК. 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 ОК. 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 ОК. 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 >> О. 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 А тепер, припустимо, я хочу, щоб керувати альт мій найперший синій 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 ОК. 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 Хіба я - 680 00:36:55,960 --> 00:36:56,448 Так. 681 00:36:56,448 --> 00:36:57,698 ОК. 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 ОК - білий екран, але нічого більше. 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 ОК. 706 00:38:14,520 --> 00:38:17,380 Я буду друкувати, так що це не повинно Незалежно від того занадто багато. 707 00:38:17,380 --> 00:38:17,940 ОК. 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 Alloc - 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 Alloc та ініціалізації його. 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 Alloc, ініціалізації. 734 00:39:32,850 --> 00:39:38,680 735 00:39:38,680 --> 00:39:40,150 ОК. 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 на моєму Конкретний екземпляр навігації для користувача інтерфейсу 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 Це як Printf. 757 00:40:33,330 --> 00:40:34,390 Це як зсапЕ. 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 Я, начебто, називається його на междунар, якщо внутр було, як, спосіб до нього, наприклад. 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 Магія. 834 00:44:29,170 --> 00:44:30,960 835 00:44:30,960 --> 00:44:32,690 Так, добре. 836 00:44:32,690 --> 00:44:34,420 Спасибо. 837 00:44:34,420 --> 00:44:35,000 ОК. 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 Вид користувальницького інтерфейсу контролера, але я можу називають це будь-яке інше ім'я тут. 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 Зазвичай я хотів би перевірити це, і якщо я тільки зробили це на мобільний або 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 >> ОК. 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 Тепер, я збираюся йти в Користувачем Сенсорний інтерфейс, і, як ви бачите, я 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 шиб файл. 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 Я хочу, щоб думка класу контролер, так що цей файл шиб є 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 ОК? 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 >> Так от, є проблема, тому що, в Ми вважаємо, шиб файл, у нас є лейбл і 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 більшість властивостей неатоміческой і зберегти. 964 00:51:52,250 --> 00:51:55,420 Ви можете прочитати за допомогою функції пошуку Google, Ви знаєте, різниця між 965 00:51:55,420 --> 00:51:58,620 неатоміческой і зберегти на, вас знаєте, Google або щось. 966 00:51:58,620 --> 00:52:01,090 І я візьму вас до, як, Stack Переповнення, де люди матимуть 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 >> І ми хочемо зробити мітку користувача інтерфейсу, зірка, і ми можемо назвати це все, що хочемо. 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 І причина в тому, що, коли ми хочете підключити мітку шиб файлу або 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 посилаючись вихід власнику мого файлу, а потім натисніть на Label. 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 Ой-ой. 1004 00:54:23,040 --> 00:54:23,890 ОК. 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 Ух ти. 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 ОК. 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 Отже, як ви можете бачити тут, Сенсорний всередині з'єднаний з селектором 1021 00:55:33,940 --> 00:55:37,390 називається натиснутій кнопці. 1022 00:55:37,390 --> 00:55:41,700 >> Так, ми можемо фактично пройти рух знову, тут, приймаючи підправити 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 >> Покажчик на контролері подання стіл, Alloc та ініціалізації-ня його, а потім робити 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 мали як АРК, який є автоматичний підрахунок посилань. 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 Але, я знаю, що це, насправді, просто ледь торкаючись поверхні прошивкою 1067 00:57:59,600 --> 00:58:00,370 розвиток. 1068 00:58:00,370 --> 00:58:05,630 Тому, будь ласка, не соромтеся зв'язатися зі мною, якщо у вас є які-небудь питання про прошивкою 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