1 00:00:00,000 --> 00:00:05,054 2 00:00:05,054 --> 00:00:05,970 Зак CHAUVIN: Awesome. 3 00:00:05,970 --> 00:00:06,780 Така че ние ще започнем. 4 00:00:06,780 --> 00:00:09,696 Благодарение на куп за идване и на орди от хората, които гледат онлайн, 5 00:00:09,696 --> 00:00:12,230 благодарение както и за тунинг инча 6 00:00:12,230 --> 00:00:13,870 Така че моето име е Зак. 7 00:00:13,870 --> 00:00:17,210 И днес ние ще говорим за как да създадете iPhone приложения, използвайки 8 00:00:17,210 --> 00:00:18,990 на език, наречен Objective-C. 9 00:00:18,990 --> 00:00:21,930 >> Така че моята надежда е, че след днес, вие ще се чувствате 10 00:00:21,930 --> 00:00:26,270 овластен да вземат на уроци, които ще ви помогне да ви води по пътя си 11 00:00:26,270 --> 00:00:28,350 да се започне iPhone приложения. 12 00:00:28,350 --> 00:00:31,540 Така че да се надяваме, ако дойде днес, тогава вие сте 13 00:00:31,540 --> 00:00:34,120 малко се интересуват в тази технология. 14 00:00:34,120 --> 00:00:37,570 Но само в случай, аз ще се опитам и мотивира малко 15 00:00:37,570 --> 00:00:40,570 Затова програма за iPhone и след това по-специално, 16 00:00:40,570 --> 00:00:43,320 Ето защо ние се програмира за Objective-C. 17 00:00:43,320 --> 00:00:44,980 >> Така че на първо място, защо iPhone? 18 00:00:44,980 --> 00:00:47,430 Така че хората ще ви кажат, най-различни причини. 19 00:00:47,430 --> 00:00:50,805 За мен, iPhone е наистина вълнуващо, защото това е, което хората около вас 20 00:00:50,805 --> 00:00:52,060 използвате. 21 00:00:52,060 --> 00:01:00,110 Както можете да видите от тази таблица, Iphones имат множеството използване в Америка. 22 00:01:00,110 --> 00:01:02,800 Особено в Харвард, те са наистина добре използвани. 23 00:01:02,800 --> 00:01:05,170 И така създаването iPhone приложения е наистина вълнуващо, 24 00:01:05,170 --> 00:01:07,140 защото твоите приятели ще се използва тях. 25 00:01:07,140 --> 00:01:11,160 >> Както е добре, в случай, че сте мотивирани от други неща, 26 00:01:11,160 --> 00:01:14,450 можете да видите, че дори и ако Андроидите имат по-висока 27 00:01:14,450 --> 00:01:17,700 дял от пазара от гледна точка на сваляне, 28 00:01:17,700 --> 00:01:20,830 iPhone идва последователно на върха по отношение на продажбите. 29 00:01:20,830 --> 00:01:24,620 Така че това е още една голяма причина в случай се интересувате от работа в тек 30 00:01:24,620 --> 00:01:26,121 до по късно. 31 00:01:26,121 --> 00:01:26,620 Готино. 32 00:01:26,620 --> 00:01:30,810 Така че сега сте продаван на програмиране за Iphones. 33 00:01:30,810 --> 00:01:32,250 Но вие все още имате избор. 34 00:01:32,250 --> 00:01:35,910 Както вероятно сте чували, че има по-нова език, наречен Swift. 35 00:01:35,910 --> 00:01:37,830 И двете от тези, които са страхотни възможности. 36 00:01:37,830 --> 00:01:39,930 Лично моя фон е в Objective-C. 37 00:01:39,930 --> 00:01:43,615 И затова аз ще се опитам да продавате на Objective-C. 38 00:01:43,615 --> 00:01:44,990 Но Суифт друг чудесен вариант. 39 00:01:44,990 --> 00:01:47,840 >> Така че защо да използвате Objective-C над Swift? 40 00:01:47,840 --> 00:01:52,540 Първата причина е, че Цел-C е около продължение на много дълго време. 41 00:01:52,540 --> 00:01:54,930 Вярвам, че това е като около 20 години. 42 00:01:54,930 --> 00:01:57,370 Той е бил около продължение на дълго време. 43 00:01:57,370 --> 00:02:01,580 И така, заради това, че има богатство на ресурсите, които са на разположение за вас. 44 00:02:01,580 --> 00:02:06,520 >> И така, аз ще ви дам няколко примера за уроци в края на този семинар. 45 00:02:06,520 --> 00:02:10,490 Но ти просто напишете нещо в подобно как да направите това в Objective-C. То е 46 00:02:10,490 --> 00:02:12,480 навсякъде, уроци. 47 00:02:12,480 --> 00:02:14,700 Има една огромна общност заобикалящата Objective-C 48 00:02:14,700 --> 00:02:17,350 защото това е най-често срещано нещо. 49 00:02:17,350 --> 00:02:20,380 >> Подобно на това, че е Много създадена език. 50 00:02:20,380 --> 00:02:22,710 Вие, момчета, са били изучаване на C този семестър. 51 00:02:22,710 --> 00:02:27,480 И както можете да видите от името, тя има силна прилика с C. 52 00:02:27,480 --> 00:02:29,320 Ние ще разгледаме някои Objective-C-късно. 53 00:02:29,320 --> 00:02:32,180 Но със сигурност в своята произход, тя дойде от C. 54 00:02:32,180 --> 00:02:36,652 И ще видите как това се представя на език. 55 00:02:36,652 --> 00:02:38,110 И накрая, тя доминира индустрията. 56 00:02:38,110 --> 00:02:41,410 Така че, въпреки че Swift е като този нов, луксозен технология, 57 00:02:41,410 --> 00:02:46,440 виждате ли, ако отидете на iPhone, като, ако отидете на ап фирми, 58 00:02:46,440 --> 00:02:49,527 ще видите, че много от тях все още използват Objective-C. 59 00:02:49,527 --> 00:02:51,860 И това е било защото тяхната база код първоначално е бил 60 00:02:51,860 --> 00:02:54,787 направена в Objective-C или за тези и други причини 61 00:02:54,787 --> 00:02:57,370 че ти казах, а именно, че има изобилие от ресурси. 62 00:02:57,370 --> 00:02:59,500 Те знаят, че ако те са отивам да се използва библиотека, 63 00:02:59,500 --> 00:03:02,300 След това той е бил силно тестван от други приложения и такива, 64 00:03:02,300 --> 00:03:05,080 като има предвид, Swift код е по-малко силно тествани. 65 00:03:05,080 --> 00:03:07,290 Така че със сигурност причините за двете. 66 00:03:07,290 --> 00:03:12,060 Но това е защо аз лично бих отида с Objective-C в момента. 67 00:03:12,060 --> 00:03:12,560 Готино. 68 00:03:12,560 --> 00:03:17,790 Така че вие, момчета са работили в CS50 IDE този семестър. 69 00:03:17,790 --> 00:03:21,900 И се оказва, че за да програмирате нещо за iPhone, 70 00:03:21,900 --> 00:03:28,180 вие трябва да използвате Xcode, което е най- родния IDE за Objective-C и Swift. 71 00:03:28,180 --> 00:03:32,940 И така уговорката за това е, че ако искате да развиете за iPhone, а след това 72 00:03:32,940 --> 00:03:36,150 вие трябва да имате Mac, защото това е възможно само за Mac. 73 00:03:36,150 --> 00:03:39,380 Разбира се, има заобиколни, но най-добрият начин да се развие за iPhone 74 00:03:39,380 --> 00:03:41,620 е на вашия Mac с Xcode. 75 00:03:41,620 --> 00:03:45,750 >> Така че това се каза, нека мушкам наоколо в Xcode 76 00:03:45,750 --> 00:03:52,120 за да видите как изглежда това, а някои от средствата, които можем да използваме в тук. 77 00:03:52,120 --> 00:03:53,810 Така че това е Xcode. 78 00:03:53,810 --> 00:03:54,780 Има много неща се случват. 79 00:03:54,780 --> 00:04:00,170 Това е малко по-сложна, отколкото логическо устройство, което сте свикнали да от CS50. 80 00:04:00,170 --> 00:04:06,040 Но добрата новина е, че е разработена с течение на времето да наистина 81 00:04:06,040 --> 00:04:08,270 имат най-различни инструменти които са наистина страхотно. 82 00:04:08,270 --> 00:04:10,680 И аз ще направя всичко възможно да ми ви покажа някои от тях. 83 00:04:10,680 --> 00:04:14,650 >> В центъра, имаме си нормално текстов редактор, че знаете и любов. 84 00:04:14,650 --> 00:04:17,490 Това е мястото, където вие ще бъдете писането Objective-C. Там 85 00:04:17,490 --> 00:04:20,670 някои примери за Objective-C че ще преминете през по-късно. 86 00:04:20,670 --> 00:04:25,390 От лявата страна, ние имаме нашия файлов указател, точно същата като на CS50 IDE. 87 00:04:25,390 --> 00:04:30,856 От дясната, имате нещо който ви помага по-внимателно разгледа 88 00:04:30,856 --> 00:04:32,230 на нещо, което вие търсите в. 89 00:04:32,230 --> 00:04:39,326 Например, нека кажем, че ние ще за да кликнете върху нещо подобно. 90 00:04:39,326 --> 00:04:42,640 Ето, нека да направим по-лесен пример. 91 00:04:42,640 --> 00:04:44,610 >> Така че, ако се вгледаме в това файл, да кажем, че се опитваме 92 00:04:44,610 --> 00:04:46,900 да манипулира това нещо точно тук. 93 00:04:46,900 --> 00:04:51,712 От дясно, ние се панел, в който можете да зададете различни неща 94 00:04:51,712 --> 00:04:52,420 за това табло. 95 00:04:52,420 --> 00:04:55,610 Очевидно е, че не знам какво е това е все още, но просто го за даденост 96 00:04:55,610 --> 00:04:58,190 че тази страна е да се направи малки корекции по нещо 97 00:04:58,190 --> 00:04:59,880 че върху което работите в момента. 98 00:04:59,880 --> 00:05:02,260 Така че по този начин, това е хубаво да получите този IDE, защото 99 00:05:02,260 --> 00:05:05,130 не е нужно да направим всичко по код. 100 00:05:05,130 --> 00:05:08,750 Вместо това има опция за използвате потребителския интерфейс, за да промените 101 00:05:08,750 --> 00:05:12,410 малки неща за вашата кандидатура. 102 00:05:12,410 --> 00:05:17,130 >> Може би най-доброто нещо за Xcode е наличието на симулатора. 103 00:05:17,130 --> 00:05:22,020 Така че днес ние ще се търсят в това приложение. 104 00:05:22,020 --> 00:05:22,520 ДОБРЕ. 105 00:05:22,520 --> 00:05:24,145 Така че аз съм бил ти казвам малки неща. 106 00:05:24,145 --> 00:05:28,086 107 00:05:28,086 --> 00:05:29,710 Аз съм просто пишете на малките ми примери. 108 00:05:29,710 --> 00:05:31,565 Така че трябва да се премахне тях, преди да се съберат. 109 00:05:31,565 --> 00:05:38,770 110 00:05:38,770 --> 00:05:39,350 >> Perfect. 111 00:05:39,350 --> 00:05:41,120 Така че това ще излезе. 112 00:05:41,120 --> 00:05:45,220 Ние получаваме това малко симулатор. 113 00:05:45,220 --> 00:05:47,785 И тогава веднага можете да видите как точно 114 00:05:47,785 --> 00:05:50,660 изглежда точно като имате на iPhone пред вас, които 115 00:05:50,660 --> 00:05:51,160 е наистина сладък. 116 00:05:51,160 --> 00:05:52,701 Отиваме да си поиграете с това. 117 00:05:52,701 --> 00:05:56,380 Той работи точно като нормална вашия iPhone. 118 00:05:56,380 --> 00:06:03,100 >> И дори можете да правите неща като натиснете Начало на бутона или да го разклаща, тя се върти, 119 00:06:03,100 --> 00:06:06,110 всички видове страхотно неща, които означават този процес може вашето развитие 120 00:06:06,110 --> 00:06:07,140 бъде наистина бързо. 121 00:06:07,140 --> 00:06:09,660 Вместо да се налага да го порт към телефона си всеки път, 122 00:06:09,660 --> 00:06:10,951 можете просто да използвате симулатора. 123 00:06:10,951 --> 00:06:14,810 И ние ще видим как можем да използваме, че в наша полза в малко. 124 00:06:14,810 --> 00:06:16,870 >> Така че това е Xcode за вас. 125 00:06:16,870 --> 00:06:18,750 Супер мощна IDE. 126 00:06:18,750 --> 00:06:22,490 Определено, ако започваш да инвестират от известно време се развива в Objective-C, 127 00:06:22,490 --> 00:06:27,720 Важно е да се опознаят и Обичам Xcode, защото използването на този инструмент 128 00:06:27,720 --> 00:06:32,390 добре ще го направи много по-лесно за да можете да програмирате на Objective-C. 129 00:06:32,390 --> 00:06:35,950 >> Така че това се каза, това е първата стъпка за програмиране 130 00:06:35,950 --> 00:06:39,240 Objective-C е придобиване на този Xcode. 131 00:06:39,240 --> 00:06:42,260 И това може да стане чрез ап магазина на вашия Mac. 132 00:06:42,260 --> 00:06:45,870 И това е почти единственото настройка, в действителност, е изтеглянето на този. 133 00:06:45,870 --> 00:06:48,440 След като имате тази, вие сте създадени, за да се развива 134 00:06:48,440 --> 00:06:52,617 за iPhone, което е доста сладко. 135 00:06:52,617 --> 00:06:53,950 Всякакви въпроси, просто ми кажи. 136 00:06:53,950 --> 00:06:56,080 >> STUDENT: Какво прави NS престои в NSObject? 137 00:06:56,080 --> 00:06:56,980 >> Зак CHAUVIN: Да. 138 00:06:56,980 --> 00:06:59,430 Така че ние ще се получи малко малко повече в това. 139 00:06:59,430 --> 00:07:04,010 Но виждате NS навсякъде в езика Objective-C. 140 00:07:04,010 --> 00:07:08,430 И така се оказва, че са създали цял куп предмети за вас, 141 00:07:08,430 --> 00:07:13,350 цял куп неща, които ви можете да използвате, че са супер полезни. 142 00:07:13,350 --> 00:07:17,910 >> Така в този пример, това е обект, който представлява някакъв предмет. 143 00:07:17,910 --> 00:07:21,140 Или тук имаме NSString, което представлява низ. 144 00:07:21,140 --> 00:07:24,430 Това е нещо като как CS50 дефиниран низ за вас. 145 00:07:24,430 --> 00:07:28,350 Хората, които създадоха Objective-C определил NSString за вас. 146 00:07:28,350 --> 00:07:31,920 И NS е само представката че те използват, за да го спаси 147 00:07:31,920 --> 00:07:33,580 като нещо, те създадоха за вас. 148 00:07:33,580 --> 00:07:35,070 Той е за следващите стъпки. 149 00:07:35,070 --> 00:07:39,210 >> И ако проявявате интерес, той трябва да общо с историята на Objective-C. 150 00:07:39,210 --> 00:07:42,770 И мисля, че една от първите компании, да се работи с него се нарича NeXTSTEP. 151 00:07:42,770 --> 00:07:45,290 152 00:07:45,290 --> 00:07:48,022 И ние ще говорим за обекти и всички добри неща по-късно. 153 00:07:48,022 --> 00:07:50,230 Но в общи линии това означава само, това е един обект за вас 154 00:07:50,230 --> 00:07:51,620 да се използва, че сме създали. 155 00:07:51,620 --> 00:07:55,751 Така че може да има подобно NSNumber, NSString, всички добри неща. 156 00:07:55,751 --> 00:07:56,250 Awesome. 157 00:07:56,250 --> 00:07:56,750 Да. 158 00:07:56,750 --> 00:07:59,430 И ако някой от вас има въпроси, просто ми кажи. 159 00:07:59,430 --> 00:08:02,190 160 00:08:02,190 --> 00:08:02,820 >> Готино. 161 00:08:02,820 --> 00:08:03,320 ДОБРЕ. 162 00:08:03,320 --> 00:08:06,430 Така че това е малко за логическо устройство. 163 00:08:06,430 --> 00:08:10,480 Нека да се потопите в и да вземе погледнете какво Objective-C е 164 00:08:10,480 --> 00:08:13,440 и как я използвате за създаване на приложения. 165 00:08:13,440 --> 00:08:17,860 Така че първото нещо е, че ще забележите вляво имаме основно два 166 00:08:17,860 --> 00:08:21,750 различни видове файлове, .h и .m му. 167 00:08:21,750 --> 00:08:26,270 И това е нещо като как в C, имаме два файла, .h и .c му. 168 00:08:26,270 --> 00:08:29,060 >> Така че точно като по-рано, .h е заглавната част на файла. 169 00:08:29,060 --> 00:08:30,340 Така че ние ще разгледаме един от тях. 170 00:08:30,340 --> 00:08:34,090 Но заглавната част на файла е нещо че просто основно предупреждава 171 00:08:34,090 --> 00:08:36,390 съставител на какво идва. 172 00:08:36,390 --> 00:08:37,789 Подобно хей, аз имам този обект. 173 00:08:37,789 --> 00:08:40,143 И е тези методи и тези свойства. 174 00:08:40,143 --> 00:08:42,309 Това може и да не се правят твърде много смисъл за вас точно сега. 175 00:08:42,309 --> 00:08:46,020 Но в общи линии това е подобно на начина, по който кажа като хей, аз имам тези structs, 176 00:08:46,020 --> 00:08:48,280 или имам тези функции във вашия .h. 177 00:08:48,280 --> 00:08:50,690 Това е просто обявяване преди време от сортовете 178 00:08:50,690 --> 00:08:53,650 неща, които ти започваш да се използва във вашия файл. 179 00:08:53,650 --> 00:08:55,443 >> От друга страна, ние имаме .m години. 180 00:08:55,443 --> 00:08:57,660 И м е за изпълнение. 181 00:08:57,660 --> 00:09:02,280 Така че във файл .m, която действително зададени логиката на тези функции. 182 00:09:02,280 --> 00:09:05,040 Така че може да се каже .h, имам функция, наречена ми функция, 183 00:09:05,040 --> 00:09:08,070 .m може да се каже че имам функция, наречена моя функция. 184 00:09:08,070 --> 00:09:12,030 И го прави х, у и зет от манипулира тези променливи и такива. 185 00:09:12,030 --> 00:09:13,950 Това е разликата в .h и .m. 186 00:09:13,950 --> 00:09:19,030 И вие ще забележите, че те се появяват по двойки, защото всеки .m нуждае от .h 187 00:09:19,030 --> 00:09:24,420 за описване на компилатора какво различни неща, че ще съдържат. 188 00:09:24,420 --> 00:09:25,590 >> Да. 189 00:09:25,590 --> 00:09:26,750 Perfect. 190 00:09:26,750 --> 00:09:30,360 Така че езикът се нарича Objective-C. Какво е 191 00:09:30,360 --> 00:09:32,100 сделката с тази цел част? 192 00:09:32,100 --> 00:09:40,790 Оказва се, че C не поддържа много добре позната част от програмирането 193 00:09:40,790 --> 00:09:43,820 По принцип, който се нарича обектно-ориентирано програмиране. 194 00:09:43,820 --> 00:09:47,880 И обектно-ориентираното програмиране е революция в компютърните науки 195 00:09:47,880 --> 00:09:52,080 че започна да се движи към програмисти мисля за програмиране на начина, по който ние 196 00:09:52,080 --> 00:09:53,350 мисли за света. 197 00:09:53,350 --> 00:09:56,600 И начина, по който мислим за света е че всички около нас са обекти, нали? 198 00:09:56,600 --> 00:09:57,266 Имам един лаптоп. 199 00:09:57,266 --> 00:09:58,480 Имам една маса. 200 00:09:58,480 --> 00:10:00,990 Да видим дали можем Програма по този начин, когато 201 00:10:00,990 --> 00:10:04,380 описваме всички от предмети, които взаимодействат 202 00:10:04,380 --> 00:10:07,240 в нашата система в нашата молба. 203 00:10:07,240 --> 00:10:09,660 И тогава опише видове неща, видовете 204 00:10:09,660 --> 00:10:13,880 на информацията, която те съхраняват и видовете неща, които те могат да направят. 205 00:10:13,880 --> 00:10:19,130 >> Така че в Objective-C, тези две неща са техните свойства и техните методи. 206 00:10:19,130 --> 00:10:21,870 Така че в този пример, аз имам кола. 207 00:10:21,870 --> 00:10:24,140 В реалния живот, това е обекта, колата. 208 00:10:24,140 --> 00:10:29,100 Какво прави една кола да изглежда като че ли са да го опиша с код като обект? 209 00:10:29,100 --> 00:10:31,120 Така че на първо място, вие кажа, хей, аз отивам да бъде 210 00:10:31,120 --> 00:10:33,160 описвайки това нещо, което е една кола. 211 00:10:33,160 --> 00:10:35,950 И тази кола е по- специфичен вид NSObject. 212 00:10:35,950 --> 00:10:38,800 213 00:10:38,800 --> 00:10:41,130 >> Така на първо място, там някои свойства. 214 00:10:41,130 --> 00:10:43,323 Има някаква информация че колата има. 215 00:10:43,323 --> 00:10:45,690 Той разполага с марка, която е низ. 216 00:10:45,690 --> 00:10:47,540 Ние говорихме за NS преди. 217 00:10:47,540 --> 00:10:54,380 И това просто означава, че е подобни на нормалната низ, който те дадоха на нас. 218 00:10:54,380 --> 00:10:55,300 Той също е с грим. 219 00:10:55,300 --> 00:10:59,480 Така че може да се окаже, като това е ако имате Honda Odyssey, 220 00:10:59,480 --> 00:11:01,150 Одисеята ще бъде от марката. 221 00:11:01,150 --> 00:11:03,240 И най-накрая, тя има скоростта, която поддържа 222 00:11:03,240 --> 00:11:05,660 следите колко бързо е тази кола става точно сега. 223 00:11:05,660 --> 00:11:07,660 Така че тези, които са всички свойства, информацията, 224 00:11:07,660 --> 00:11:09,540 че ние трябва да знаем за колата. 225 00:11:09,540 --> 00:11:11,810 Но не са само автомобили пакети от информация. 226 00:11:11,810 --> 00:11:12,950 Те също правят неща. 227 00:11:12,950 --> 00:11:16,840 Така че това са методи или функции че може да действа по този автомобил. 228 00:11:16,840 --> 00:11:18,890 Така например, бихме могли да кажем, ей кола. 229 00:11:18,890 --> 00:11:21,480 Искам да започнете шофиране с тази скорост. 230 00:11:21,480 --> 00:11:24,940 И така, това е функция че не се връща нищо. 231 00:11:24,940 --> 00:11:26,730 Тя просто се изключва и прави нещо. 232 00:11:26,730 --> 00:11:29,530 Но, за да започнете шофиране с определена скорост, 233 00:11:29,530 --> 00:11:32,620 тя трябва да знае каква скорост ви искате да започнете да шофирате в. 234 00:11:32,620 --> 00:11:36,860 >> Така че ние преминаваме в поплавък, същият плаваш, че вие, момчета са свикнали, 235 00:11:36,860 --> 00:11:38,530 който се нарича скорост. 236 00:11:38,530 --> 00:11:42,030 И имайте предвид, че това е Например в .h файл. 237 00:11:42,030 --> 00:11:44,860 И така, вие ще видите, че всичко това е просто 238 00:11:44,860 --> 00:11:46,470 казвам методите, които ще съществуват. 239 00:11:46,470 --> 00:11:48,430 Но това не е дал на изпълнението. 240 00:11:48,430 --> 00:11:50,500 В досието .m, бихте могли ида и да бъде като, OK, 241 00:11:50,500 --> 00:11:52,083 Сега аз отивам да зададете скоростта ми към това. 242 00:11:52,083 --> 00:11:54,500 И стартирате двигателя нагоре, независимо. 243 00:11:54,500 --> 00:11:57,946 Тогава може да има друг метод за спиране на шофиране. 244 00:11:57,946 --> 00:11:59,820 Така че тези, които са двамата неща, че колите могат да направят. 245 00:11:59,820 --> 00:12:00,445 Те могат да започнат. 246 00:12:00,445 --> 00:12:01,500 И те могат да спрат. 247 00:12:01,500 --> 00:12:05,180 И вие можете да видите как чрез дефиниране всички видове на тези обекти, 248 00:12:05,180 --> 00:12:08,890 можем да представим супер, супер сложни неща 249 00:12:08,890 --> 00:12:10,850 по начин, който има смисъл за хората. 250 00:12:10,850 --> 00:12:13,225 Това е добра новина, защото хората са програмирането един. 251 00:12:13,225 --> 00:12:18,390 Така че обектно-ориентираното програмиране е начин да се направи много сложни неща, много по- 252 00:12:18,390 --> 00:12:22,530 опростен чрез капсулиране метода или действията 253 00:12:22,530 --> 00:12:26,320 и информация за дадено възразят всички в един файл. 254 00:12:26,320 --> 00:12:30,370 >> Така че това е голяма част от Objective-C. Ако ние се опитахме да програмирате за Iphones в C, 255 00:12:30,370 --> 00:12:33,789 би било кошмар, защото този вид неща е много трудно в C. 256 00:12:33,789 --> 00:12:35,830 И затова те създават нов език, наречен 257 00:12:35,830 --> 00:12:40,120 Objective-C, за да се постигне този вид неща. 258 00:12:40,120 --> 00:12:40,760 >> ДОБРЕ. 259 00:12:40,760 --> 00:12:45,890 Така че аз казах, че, на първо място, нека просто Посетете малко по-подробно в това, което 260 00:12:45,890 --> 00:12:47,100 методи приличат. 261 00:12:47,100 --> 00:12:49,760 Така че първото нещо, което е имаме този минус. 262 00:12:49,760 --> 00:12:51,820 И тогава ние виждаме типа възвръщаемост. 263 00:12:51,820 --> 00:12:54,420 В другия ми например, че Тип на възвръщаемост е нищожен, 264 00:12:54,420 --> 00:12:56,120 защото тя не се върна нищо. 265 00:12:56,120 --> 00:12:59,460 Тогава ние имаме името на метода. 266 00:12:59,460 --> 00:13:03,430 >> И ние имаме цял куп от тези двойки, които казват, 267 00:13:03,430 --> 00:13:06,010 Това е типът на нещо Първи премина инча 268 00:13:06,010 --> 00:13:08,010 Това е името на нещо Първи премина инча 269 00:13:08,010 --> 00:13:10,830 Така че от сега нататък, ще бъде в състояние да се отнасят към него като stringVar. 270 00:13:10,830 --> 00:13:14,120 И тогава може да има колкото се може повече от тези двойки, които искате, 271 00:13:14,120 --> 00:13:18,150 които казват малко на текст и след това вида 272 00:13:18,150 --> 00:13:23,910 и след това името на променливата, на назове, че променливата ще свърши като. 273 00:13:23,910 --> 00:13:27,850 >> Така че, ако искате да разгледате как това би могло да се нарече, 274 00:13:27,850 --> 00:13:31,480 щяхте да кажете, ако имате реален инстанция на обекта, който 275 00:13:31,480 --> 00:13:38,420 означава, че толкова класа на автомобила е като това високо ниво представа за това какво е кола. 276 00:13:38,420 --> 00:13:40,400 Тя може да бъде като чертежи на тази кола. 277 00:13:40,400 --> 00:13:42,400 Това е просто, ако ние определяме класа, тогава ние 278 00:13:42,400 --> 00:13:46,470 казват, че е възможно, че една кола съществува, докато ако ние създаваме една кола, 279 00:13:46,470 --> 00:13:50,270 ние създаваме инстанция на кола, това е като истинска физическа кола. 280 00:13:50,270 --> 00:13:54,130 Това е като тази кола има тази да, тази марка, и каквото. 281 00:13:54,130 --> 00:13:57,290 >> Така че, ако се върнем към тази Например, това е клас. 282 00:13:57,290 --> 00:14:02,820 Но една инстанция е действителен кола, която сме инициализира 283 00:14:02,820 --> 00:14:04,540 и сега сме дал данни. 284 00:14:04,540 --> 00:14:06,599 Това разграничение ясно? 285 00:14:06,599 --> 00:14:09,390 Така че можете да имате класа, която е като плановете на високо равнище. 286 00:14:09,390 --> 00:14:15,210 И тогава една инстанция, която е действителна кола, която е всички тези неща попълнени. 287 00:14:15,210 --> 00:14:19,980 >> Така че в този пример, ние да кажеш, Искам да се инициализира този клас. 288 00:14:19,980 --> 00:14:23,460 И сега какво всичко това възвръщаемост е действителен случай. 289 00:14:23,460 --> 00:14:26,651 Така например е като пример на конкретен автомобил с грим 290 00:14:26,651 --> 00:14:28,150 и чисто и всички добри неща. 291 00:14:28,150 --> 00:14:33,440 И така, ако имате например, можете да се обадите метод инстанция върху него. 292 00:14:33,440 --> 00:14:37,070 >> Така се казва, че това е начина, по който обадете функции в Objective-C 293 00:14:37,070 --> 00:14:38,880 с квадратните скоби. 294 00:14:38,880 --> 00:14:42,450 Така че това, което се обаждате метода на метода и след това 295 00:14:42,450 --> 00:14:43,680 който искате да се обадите. 296 00:14:43,680 --> 00:14:45,630 Така методът се нарича myMethodTakesAString. 297 00:14:45,630 --> 00:14:47,790 И тогава ще го дам низ и след това останалата част 298 00:14:47,790 --> 00:14:50,894 от името и втори параметър. 299 00:14:50,894 --> 00:14:52,060 Така че това е вид объркващо. 300 00:14:52,060 --> 00:14:53,590 Това е ново за вас, момчета. 301 00:14:53,590 --> 00:14:57,410 Вие сте свикнали да пишете цялата метод име на функция и след това 302 00:14:57,410 --> 00:14:58,740 всички аргументи. 303 00:14:58,740 --> 00:15:02,940 Това е решение на дизайн, който те реши да направи в Objective-C, които сте 304 00:15:02,940 --> 00:15:05,730 всъщност разнообразявам името на метода с нещата 305 00:15:05,730 --> 00:15:07,060 че сте преминаване инча 306 00:15:07,060 --> 00:15:10,291 >> Така че това е като малко име, и след това нещото, което преминава през, 307 00:15:10,291 --> 00:15:12,290 повече от името на нещо, което минава инча 308 00:15:12,290 --> 00:15:16,160 И така сега stringVar ще бъде Hello. 309 00:15:16,160 --> 00:15:20,523 И floatVar ще бъде 1.5, като отидеш в за реалното изпълнение на този метод. 310 00:15:20,523 --> 00:15:23,090 311 00:15:23,090 --> 00:15:25,770 >> Аз ще контрастира, че с метода на класа. 312 00:15:25,770 --> 00:15:29,580 Така че, докато метод инстанция, ти се обадя за конкретен копие на тази кола, 313 00:15:29,580 --> 00:15:34,330 би имало смисъл само да кажа конкретен автомобил да стартирате или спрете. 314 00:15:34,330 --> 00:15:38,140 Но може би има някои методи, които сте искате да се обадите на целия клас. 315 00:15:38,140 --> 00:15:40,950 Например, клас, кажи ми какво да се казваш. 316 00:15:40,950 --> 00:15:42,700 Какво е името на този клас? 317 00:15:42,700 --> 00:15:46,680 >> За това, че не би имало смисъл да попитам индивидуален автомобил, който. 318 00:15:46,680 --> 00:15:49,190 Вместо това ние искаме да поиска плановете. 319 00:15:49,190 --> 00:15:50,940 Чертежи, какво е най- Име на вашия клас? 320 00:15:50,940 --> 00:15:52,106 И това ще ни даде назад. 321 00:15:52,106 --> 00:15:56,970 Така че основно, плюс определя метод клас. 322 00:15:56,970 --> 00:15:59,870 И така, това означава, че ти се обадя то на целия клас, 323 00:15:59,870 --> 00:16:03,250 като има предвид, минус определя инстанция, която 324 00:16:03,250 --> 00:16:05,820 ще се обадя за конкретен случай. 325 00:16:05,820 --> 00:16:08,150 Това може да бъде малко на скок. 326 00:16:08,150 --> 00:16:10,800 И така, това вероятно ще нещо, което ще се подразни от 327 00:16:10,800 --> 00:16:12,900 като започнете да си уроци. 328 00:16:12,900 --> 00:16:15,320 Така че не се плаши далеч от това. 329 00:16:15,320 --> 00:16:18,460 Това е просто като малко разграничение и малко по-добър пример 330 00:16:18,460 --> 00:16:23,930 за това как ние използваме методи в Objective-C. 331 00:16:23,930 --> 00:16:25,430 >> Готино. 332 00:16:25,430 --> 00:16:30,090 Друго много важно нещо е вашият любимата концепция от pset тази седмица, 333 00:16:30,090 --> 00:16:31,241 Model-View-Controller. 334 00:16:31,241 --> 00:16:32,990 Така се оказва, че Model-View-Controller 335 00:16:32,990 --> 00:16:37,070 Не е нещо, което е специфично да CS50 финансите или към PHP. 336 00:16:37,070 --> 00:16:38,830 Това е една идея, в създаването ап. 337 00:16:38,830 --> 00:16:41,070 Вие, момчета, за която кандидатствате тя да уеб приложения. 338 00:16:41,070 --> 00:16:44,830 Но се оказва, че в повечето видове рамки, 339 00:16:44,830 --> 00:16:48,240 те всъщност използват MVC в За да се изяснят ролите 340 00:16:48,240 --> 00:16:50,350 и отговорностите на всеки файл. 341 00:16:50,350 --> 00:16:52,110 >> Така че просто ви харесва момчета научихме, има 342 00:16:52,110 --> 00:16:56,177 три части за заявление, модел, контролер, и изглед. 343 00:16:56,177 --> 00:16:58,760 И се надяваме, че имам малко малко разбиране за това 344 00:16:58,760 --> 00:16:59,900 от pset тази седмица. 345 00:16:59,900 --> 00:17:01,950 Но аз просто искам да направи тази супер ясна, 346 00:17:01,950 --> 00:17:04,480 защото в Objective-C става особено 347 00:17:04,480 --> 00:17:06,200 важно да се разбере тази концепция. 348 00:17:06,200 --> 00:17:09,400 И се надяваме, че това ще помогне вие с вашия pset, както добре. 349 00:17:09,400 --> 00:17:13,220 >> Така че ние имаме тези три части с контролер е като посредник. 350 00:17:13,220 --> 00:17:16,869 Той е човекът, в средата който прави повечето от мисленето. 351 00:17:16,869 --> 00:17:21,099 Така че той е отговорен за вземане, основно 352 00:17:21,099 --> 00:17:24,849 действащ по искане това е направено от потребителя. 353 00:17:24,849 --> 00:17:28,540 И така, някои неща, че той може да направя са актуализирани или задават въпроси 354 00:17:28,540 --> 00:17:30,110 за модела. 355 00:17:30,110 --> 00:17:33,790 И тогава, след като той е направил някои мислене за това, което се върнах от модела, 356 00:17:33,790 --> 00:17:36,630 той ще се актуализира на гледката. 357 00:17:36,630 --> 00:17:40,840 >> Така че основно той е човекът, в средата говори както за модела и гледката. 358 00:17:40,840 --> 00:17:43,080 Но имайте предвид, че има без връзки тук. 359 00:17:43,080 --> 00:17:45,410 Гледката никога не разговаря с модела, защото гледката 360 00:17:45,410 --> 00:17:47,910 не направя някоя мислене. 361 00:17:47,910 --> 00:17:50,770 Това е точно като контролер, да ми даде някаква информация. 362 00:17:50,770 --> 00:17:51,890 И аз ще го покаже. 363 00:17:51,890 --> 00:17:53,410 Това е всичко, аз съм отговорен за. 364 00:17:53,410 --> 00:17:55,290 Аз дори не знам нищо за модела. 365 00:17:55,290 --> 00:17:58,210 Просто знам, че аз получа малко информация за него. 366 00:17:58,210 --> 00:17:59,990 И аз ще го покаже. 367 00:17:59,990 --> 00:18:02,600 >> И това е супер важно да се запази тази разлика, 368 00:18:02,600 --> 00:18:04,900 защото това опростява нашите файлове много. 369 00:18:04,900 --> 00:18:08,500 Технически, бихте могли да приложат всички от MVC в един файл. 370 00:18:08,500 --> 00:18:11,140 Но това ще доведе до супер объркващо код, който 371 00:18:11,140 --> 00:18:14,760 не работи толкова бързо, колкото код като този. 372 00:18:14,760 --> 00:18:17,550 >> Така че една аналогия, разбира се. 373 00:18:17,550 --> 00:18:20,150 Така че тук и да отидем. 374 00:18:20,150 --> 00:18:23,000 Вървиш до Walmart или любимата си магазин. 375 00:18:23,000 --> 00:18:26,130 И има много неща се случват. 376 00:18:26,130 --> 00:18:27,920 Налице е този човек, който ви поздрав. 377 00:18:27,920 --> 00:18:29,997 Има някои манекени на предния прозорец. 378 00:18:29,997 --> 00:18:31,830 А има и един човек, с клипборд, който знае 379 00:18:31,830 --> 00:18:36,827 всичко, което трябва да знаете за какво Walmart купува и продава. 380 00:18:36,827 --> 00:18:38,660 Така че това е наистина това, което ви интересува. 381 00:18:38,660 --> 00:18:41,840 Вие не искате да видите този човек, или този човек. 382 00:18:41,840 --> 00:18:47,140 Ти дойде тук, за да разгледате и манекени се опита и да решите какво искате да купите. 383 00:18:47,140 --> 00:18:50,140 >> Но ако имаха само един вид манекен, че ще е смотан, нали? 384 00:18:50,140 --> 00:18:53,390 Така че можете да създадете статичен уеб сайт че просто трябваше същото нещо винаги. 385 00:18:53,390 --> 00:18:57,160 Но вие трябва тези двамата в За да се направи една динамична. 386 00:18:57,160 --> 00:19:00,350 >> Така че първото нещо, което правите, е ходи до контролера. 387 00:19:00,350 --> 00:19:05,740 И вие казвате като хей, аз съм се интересуват в купуването на този вид облекло. 388 00:19:05,740 --> 00:19:07,180 Това е моя размер. 389 00:19:07,180 --> 00:19:13,460 И аз съм се интересуват конкретно в поръчване на сако. 390 00:19:13,460 --> 00:19:14,650 Така че той е като OK. 391 00:19:14,650 --> 00:19:16,860 Не, аз съм позволено да мисля куп. 392 00:19:16,860 --> 00:19:19,750 Но аз не знам всъщност това, което ние имаме в наличност. 393 00:19:19,750 --> 00:19:24,620 Така че аз ще отида да попитам моя приятел модел, който ще ми даде обратно всичко, 394 00:19:24,620 --> 00:19:28,180 всичко, което той знае за нашите якета. 395 00:19:28,180 --> 00:19:30,460 >> Така че на модела човек проверява тефтера си. 396 00:19:30,460 --> 00:19:32,310 Той вижда, че имаме три якета. 397 00:19:32,310 --> 00:19:36,747 И той казва на контролера обратно, тук са якетата имаме на склад. 398 00:19:36,747 --> 00:19:38,830 Контролерът не е позволено да ти покажа нещо. 399 00:19:38,830 --> 00:19:39,680 Това не му е работата. 400 00:19:39,680 --> 00:19:43,800 Неговата работа е да бъде посредник между модела и гледката. 401 00:19:43,800 --> 00:19:45,880 Така че той не можете директно да им покажем. 402 00:19:45,880 --> 00:19:49,327 Той го връчва на манекена човек или самите манекените. 403 00:19:49,327 --> 00:19:50,410 Тя поставя върху манекените. 404 00:19:50,410 --> 00:19:55,430 И манекените са тези, че ви покажа крайния продукт. 405 00:19:55,430 --> 00:19:56,716 >> Така той взема якетата. 406 00:19:56,716 --> 00:19:58,590 Той е на администратора, им дава на вижданията. 407 00:19:58,590 --> 00:20:00,220 Всички те се свърши до. 408 00:20:00,220 --> 00:20:03,590 И в края на деня, виждате това, което искате да видите. 409 00:20:03,590 --> 00:20:08,410 Подобно на един сайт как това човек отнема това, което са въведени, 410 00:20:08,410 --> 00:20:09,720 пита модела за тях. 411 00:20:09,720 --> 00:20:11,820 И след това евентуално, той дава на мнението 412 00:20:11,820 --> 00:20:14,420 с цел да се покаже на екрана. 413 00:20:14,420 --> 00:20:17,846 Надяваме се, че малко по-прави по-ясна за pset и Objective-C, 414 00:20:17,846 --> 00:20:19,720 защото за двете тях, това е много важно 415 00:20:19,720 --> 00:20:21,540 че знаете кои файлове са които. 416 00:20:21,540 --> 00:20:23,310 >> Вие казвате, е този файл контролер? 417 00:20:23,310 --> 00:20:25,290 Am I пускането оглед код в моя контролер? 418 00:20:25,290 --> 00:20:28,570 Или правя прекалено много мислене в мен? 419 00:20:28,570 --> 00:20:31,810 Всички те ще потенциално дори да доведе до грешки, 420 00:20:31,810 --> 00:20:36,420 защото Objective-C много стриктно налага този принцип. 421 00:20:36,420 --> 00:20:37,720 Така че основно, не нарушават MVC. 422 00:20:37,720 --> 00:20:40,010 Той ще направи своя код тъжна и евентуално бъги. 423 00:20:40,010 --> 00:20:43,250 424 00:20:43,250 --> 00:20:43,760 >> Сладка. 425 00:20:43,760 --> 00:20:47,090 Така че това е малко за MVC. 426 00:20:47,090 --> 00:20:51,070 С това се каза, нека проверите кода например. 427 00:20:51,070 --> 00:20:55,430 И така, аз не искам да отида в твърде много подробности, защото наистина, 428 00:20:55,430 --> 00:20:58,670 , за да се научат тези неща, вие трябва да го научите от земята. 429 00:20:58,670 --> 00:21:01,160 И това е направено от пробвате уроци. 430 00:21:01,160 --> 00:21:04,490 Но да се надяваме само чрез погледнете в някои примери, 431 00:21:04,490 --> 00:21:08,530 можем поне да се получи усещане за това, което структурата на тези неща са. 432 00:21:08,530 --> 00:21:10,170 >> Така че, аз ще дойда тук. 433 00:21:10,170 --> 00:21:16,230 434 00:21:16,230 --> 00:21:19,170 Ние имаме много различно видове файлове в тук. 435 00:21:19,170 --> 00:21:24,370 Но за щастие те се подредят доста добре с трите части на MVC 436 00:21:24,370 --> 00:21:26,050 че ние говорихме за преди. 437 00:21:26,050 --> 00:21:27,920 Така че един от тях е моделът. 438 00:21:27,920 --> 00:21:31,150 Това е наистина добре появиха. 439 00:21:31,150 --> 00:21:34,070 Тези са като двете различни модели, които имаме. 440 00:21:34,070 --> 00:21:37,890 Те са две различни, можеш да се сетиш на тях като двете различни бази данни 441 00:21:37,890 --> 00:21:39,530 че имаме. 442 00:21:39,530 --> 00:21:44,150 >> Така че във вашата pset тази седмица, че имате база данни на потребителите, база данни с портфейли, 443 00:21:44,150 --> 00:21:47,550 и анамнеза на база данни, тези, ще бъде като си три модела. 444 00:21:47,550 --> 00:21:49,740 Има три различни пичове с checkboards. 445 00:21:49,740 --> 00:21:51,640 И те знаят всичко има да се знае 446 00:21:51,640 --> 00:21:53,310 за тези три различни неща. 447 00:21:53,310 --> 00:21:55,320 По същия начин тук имаме тези файлове. 448 00:21:55,320 --> 00:22:01,790 И ако ние кликнете в едно, така че тук имаме ScaryBugData. 449 00:22:01,790 --> 00:22:02,640 Така че това е моя клас. 450 00:22:02,640 --> 00:22:05,480 451 00:22:05,480 --> 00:22:06,470 Това е моя клас. 452 00:22:06,470 --> 00:22:09,220 Тук можете да видите, че съм тя определя като RWTScaryBugData. 453 00:22:09,220 --> 00:22:11,960 454 00:22:11,960 --> 00:22:17,860 >> И така, както казах и преди, всички класове има неща, които те съдържат в тях, 455 00:22:17,860 --> 00:22:20,740 както и неща, които могат да направят. 456 00:22:20,740 --> 00:22:25,280 Това са две различни неща, които са по данни бъг. 457 00:22:25,280 --> 00:22:26,850 Какво е някаква информация, която е в данните за грешки? 458 00:22:26,850 --> 00:22:29,430 Ами на първо място, това, което е Заглавието на този бъг? 459 00:22:29,430 --> 00:22:31,440 Предполагам, че трябва да обясни това, което прави това приложение. 460 00:22:31,440 --> 00:22:35,270 Това е приложение, което ви трион, пред който просто 461 00:22:35,270 --> 00:22:37,290 е списък на всички видове страшни бъгове. 462 00:22:37,290 --> 00:22:46,760 463 00:22:46,760 --> 00:22:52,750 >> Така че тук ние ще се окажете показване бъговете с техните снимки и такива неща. 464 00:22:52,750 --> 00:22:57,820 Така че този клас ще се капсулира само текстът на този бъг. 465 00:22:57,820 --> 00:23:02,270 Така че това, което включва името му е, както както и рейтинг на колко страшно е. 466 00:23:02,270 --> 00:23:06,690 И едно от нещата, че тези данни може да да, добре, единственото нещо, което той може да направи 467 00:23:06,690 --> 00:23:14,130 е, че ще се инициализира с заглавие и както с рейтинг. 468 00:23:14,130 --> 00:23:18,320 >> Така че, ако имаме Например, празна инстанция на тези данни, 469 00:23:18,320 --> 00:23:20,180 ние може да искате да тя се инициализира с данни. 470 00:23:20,180 --> 00:23:24,050 И така, ние може да премине в заглавие и рейтинга по този начин. 471 00:23:24,050 --> 00:23:28,995 Така че един от начините, че това ще се нарича е така, ако кажа RWTScaryBugData. 472 00:23:28,995 --> 00:23:34,460 473 00:23:34,460 --> 00:23:35,510 И тогава аз правя АПос. 474 00:23:35,510 --> 00:23:39,410 Това просто означава, да ми дадете празна инстанция на този клас. 475 00:23:39,410 --> 00:23:41,770 Така че сега ние имаме един празен инстанция на ScaryBugData. 476 00:23:41,770 --> 00:23:43,770 И ние сме готови да започнете хранене тя неща. 477 00:23:43,770 --> 00:23:48,060 >> Ами за щастие имаме метод за този клас, който прави точно това. 478 00:23:48,060 --> 00:23:50,930 Така че можем да кажем, initWithTitle и низ. 479 00:23:50,930 --> 00:23:52,850 Какво е заглавието, че ние искаме да я дам? 480 00:23:52,850 --> 00:23:57,710 Искаме да кажем, че това е един призрачен паяк. 481 00:23:57,710 --> 00:24:03,220 И си рейтинг ще бъде 9.5 от 10 възможни точки призрачен скалата. 482 00:24:03,220 --> 00:24:06,970 Така че пример за това как бихме могли да използваме първоначален 483 00:24:06,970 --> 00:24:09,700 функция, за да се действително премине в данните 484 00:24:09,700 --> 00:24:12,770 да се инициализира една инстанция на призрачен паяк. 485 00:24:12,770 --> 00:24:17,980 >> И така, сега имаме действителен Например на данните от клас грешки, които 486 00:24:17,980 --> 00:24:22,350 представлява нещо общо с бъг. 487 00:24:22,350 --> 00:24:23,420 Готино. 488 00:24:23,420 --> 00:24:26,190 За тези от вас, любопитни, това малко е просто най- 489 00:24:26,190 --> 00:24:32,950 приумица на Objective-C, това означава, че аз искате да създадете копие на низ. 490 00:24:32,950 --> 00:24:35,530 Така че това е като супер бърз начин за създаване на 491 00:24:35,530 --> 00:24:38,050 действителен обект, който е низ. 492 00:24:38,050 --> 00:24:41,700 По принцип само не забравяйте, поставени в пред вашите струни. 493 00:24:41,700 --> 00:24:47,800 >> Cool Така че аз ви казах, че на .h е заглавната си част. 494 00:24:47,800 --> 00:24:49,860 И .m е изпълнението. 495 00:24:49,860 --> 00:24:53,700 Така че, ако ние отидохме в тук, щяхме да очакваме виж още малко на изпълнението 496 00:24:53,700 --> 00:24:55,080 за това, което тези неща е. 497 00:24:55,080 --> 00:24:59,450 Така ще научите за това неща в уроци надяваме. 498 00:24:59,450 --> 00:25:02,460 Има нещо, което ви Трябва да се помни, за да намалят / паста. 499 00:25:02,460 --> 00:25:07,770 Но това, което виждам е, че тази функция, този метод, 500 00:25:07,770 --> 00:25:09,800 всъщност получава изпълнени. 501 00:25:09,800 --> 00:25:12,270 Той казва, че когато някой призовава тази функция, какво 502 00:25:12,270 --> 00:25:14,250 искаш да се случи? 503 00:25:14,250 --> 00:25:17,020 >> И се оказва, че това е това, което искате да имате случи. 504 00:25:17,020 --> 00:25:19,500 В функция първоначален, това е доста бланкетни. 505 00:25:19,500 --> 00:25:23,770 Но ако сте създали своя собствена функция че е имал свой собствен поведение, 506 00:25:23,770 --> 00:25:26,290 логиката за това, което би отида на тази функция 507 00:25:26,290 --> 00:25:32,144 ще бъде много подобен на това, което сте прави в C. Това е точно същото. 508 00:25:32,144 --> 00:25:33,060 Вие създавате функция. 509 00:25:33,060 --> 00:25:34,684 Вие искате тази функция, за да се направи нещо. 510 00:25:34,684 --> 00:25:38,059 Така че тук ти пиша на Objective-C, че 511 00:25:38,059 --> 00:25:40,850 ще направи го направя това нещо, което надяваме се, ще бъде по-ясно да ви 512 00:25:40,850 --> 00:25:43,710 след като знаете Objective-C. 513 00:25:43,710 --> 00:25:44,520 >> Сладка. 514 00:25:44,520 --> 00:25:46,762 Така че това са примери за нашите модели. 515 00:25:46,762 --> 00:25:47,720 Какво ще кажете за контролери? 516 00:25:47,720 --> 00:25:49,140 Какво контролери приличат? 517 00:25:49,140 --> 00:25:52,690 Така че ние имаме четири файлове тук които казват ViewController. 518 00:25:52,690 --> 00:25:57,350 И това е нормално, че наставката Ще отида на всякакъв вид на контролера. 519 00:25:57,350 --> 00:25:59,406 В Objective-C те са наречени вижте контролери, 520 00:25:59,406 --> 00:26:02,280 които просто вид ви помага да се направи тази връзка между изгледа 521 00:26:02,280 --> 00:26:03,640 и контролера гледка. 522 00:26:03,640 --> 00:26:05,700 >> Така че нека да разгледате и навън. 523 00:26:05,700 --> 00:26:09,060 Така че ние имаме този човек, наречен MasterViewController. 524 00:26:09,060 --> 00:26:17,710 И работата му е да бъде този голям, основно цялата тази гледна точка, 525 00:26:17,710 --> 00:26:21,620 на MasterViewController е нещо, което контролира това мнение. 526 00:26:21,620 --> 00:26:25,890 Така че това е този, който върши цялата мисля, че за цялата страница. 527 00:26:25,890 --> 00:26:27,820 >> Другият казва DetailViewController. 528 00:26:27,820 --> 00:26:30,520 И той е този, който прави мисленето за това, 529 00:26:30,520 --> 00:26:33,130 защото това е най- подробности вижте, по подобен начин 530 00:26:33,130 --> 00:26:36,400 за това как вие имате един цитат контролер за вашата страница цитат 531 00:26:36,400 --> 00:26:38,910 и с контролер за вашата по страница. 532 00:26:38,910 --> 00:26:42,290 Всеки един получава чифт ViewController и View. 533 00:26:42,290 --> 00:26:46,070 534 00:26:46,070 --> 00:26:49,540 >> Така че този човек върши много неща. 535 00:26:49,540 --> 00:26:54,110 Един метод, който ще видите над и отново е viewDidLoad. 536 00:26:54,110 --> 00:26:56,730 И това е нещо като Вашата инт основна функция 537 00:26:56,730 --> 00:27:02,130 в Objective-C, който казва, , че гледката е направил натоварване, което 538 00:27:02,130 --> 00:27:03,870 означава, че аз съм готов да започнем да мислим. 539 00:27:03,870 --> 00:27:06,210 По принцип имам това празна гледка, която искам 540 00:27:06,210 --> 00:27:09,473 можете да започнете да правите мисленето за, започнете инициализиране неща 541 00:27:09,473 --> 00:27:11,050 там, където трябва да бъде. 542 00:27:11,050 --> 00:27:13,690 И така, това е, че ви пращам съобщение, че гледката е направил натоварване. 543 00:27:13,690 --> 00:27:16,290 И сега сте готови да се направят някои мислене. 544 00:27:16,290 --> 00:27:19,940 >> И така, какво прави този човек направя, когато си виждане товар? 545 00:27:19,940 --> 00:27:23,620 Той създава лентата за навигация, което е това нещо в горната част. 546 00:27:23,620 --> 00:27:27,030 Той добавя бутон за навигация бар, който е този малък плюс. 547 00:27:27,030 --> 00:27:29,490 И тогава той определя неговия заглавието да бъде Страшен Bugs. 548 00:27:29,490 --> 00:27:33,370 549 00:27:33,370 --> 00:27:37,530 >> Така че, без да става прекалено гнидав пясъчен, има един куп други методи 550 00:27:37,530 --> 00:27:40,970 това да се случи в този майстор изглед контролер, който са 551 00:27:40,970 --> 00:27:44,220 доста специфични за тази молба. 552 00:27:44,220 --> 00:27:47,530 Но какво друго мога вашето внимание? 553 00:27:47,530 --> 00:27:52,540 Друго нещо, което прави тази гледна точка е сходна как според вас или вашия контролер, 554 00:27:52,540 --> 00:27:55,930 Съжалявам, дръжки отговори на потребителя. 555 00:27:55,930 --> 00:27:59,490 Това е функция че ще реагира, когато 556 00:27:59,490 --> 00:28:01,760 някой кликне върху определен ред. 557 00:28:01,760 --> 00:28:04,280 >> И в Objective-C, Това се нарича Segue. 558 00:28:04,280 --> 00:28:06,470 Вие segueing от един екран на друг. 559 00:28:06,470 --> 00:28:09,200 Така че това казва дадена че някой се опитва 560 00:28:09,200 --> 00:28:12,910 да минат оттук към тук, какво искаш да направя? 561 00:28:12,910 --> 00:28:17,350 И така, как мога да се подготвя, за да отидете от този етап към следващия етап? 562 00:28:17,350 --> 00:28:20,950 563 00:28:20,950 --> 00:28:23,260 Така че това е един пример на контролер. 564 00:28:23,260 --> 00:28:25,080 Той е този, който прави мисленето. 565 00:28:25,080 --> 00:28:27,400 >> И накрая, това, което е на мнение, изглежда? 566 00:28:27,400 --> 00:28:30,460 Един наистина страхотно част за Objective-C 567 00:28:30,460 --> 00:28:32,900 е, че възгледите всъщност изглеждат като гледка. 568 00:28:32,900 --> 00:28:33,940 Те не са код. 569 00:28:33,940 --> 00:28:35,490 В повечето случаи те не са код. 570 00:28:35,490 --> 00:28:38,960 Те са всъщност снимки на това как искате да изложи мнението ви. 571 00:28:38,960 --> 00:28:42,422 >> И така, това е пример за това, което гледката изглежда като в този случай. 572 00:28:42,422 --> 00:28:45,130 И те действително нарича сторибордове, защото тя разказва вид 573 00:28:45,130 --> 00:28:48,240 една история за това как някой минава през вашия ап. 574 00:28:48,240 --> 00:28:51,220 Така че за много прости приложения, Това работи много добре. 575 00:28:51,220 --> 00:28:53,850 Така например, тук можете да виж гледката над масите, които 576 00:28:53,850 --> 00:28:56,295 Списък на всички различни грешки. 577 00:28:56,295 --> 00:28:59,030 578 00:28:59,030 --> 00:29:02,360 Той има тази малка стрелка, която казва, че когато някой кликне върху една клетка, 579 00:29:02,360 --> 00:29:06,640 Искам да се преход да детайлния изглед. 580 00:29:06,640 --> 00:29:09,242 >> Така че това е, което вашите възгледи приличат. 581 00:29:09,242 --> 00:29:10,450 Те са обикновено сториборда. 582 00:29:10,450 --> 00:29:13,570 Има и други програмни начини да декларират гледка, както добре. 583 00:29:13,570 --> 00:29:16,440 Но ако работите с много проста ап, 584 00:29:16,440 --> 00:29:18,070 сториборд е начин да отида. 585 00:29:18,070 --> 00:29:20,986 И подкрепа за това е намерила наистина, наистина добре през последните няколко 586 00:29:20,986 --> 00:29:24,040 версии на Objective-C IOS. 587 00:29:24,040 --> 00:29:27,036 Така че това е един пример за оглед. 588 00:29:27,036 --> 00:29:30,570 Има ли някакви въпроси относно, е там нещо, което вие искате да погледнете? 589 00:29:30,570 --> 00:29:33,755 Или някакви въпроси относно това, което се случва в, така ли? 590 00:29:33,755 --> 00:29:35,463 >> STUDENT: Можете ли да промените изгледа там? 591 00:29:35,463 --> 00:29:37,759 Или пък трябва да бъде в рамките на вашия файл? 592 00:29:37,759 --> 00:29:38,550 Зак CHAUVIN: Да. 593 00:29:38,550 --> 00:29:40,630 Така че въпросът е възможно промените мнението? 594 00:29:40,630 --> 00:29:42,820 Така че можете да направите всички видове неща на това виждане. 595 00:29:42,820 --> 00:29:45,860 Например, тук имам списък на всички видове неща 596 00:29:45,860 --> 00:29:47,400 че мога да добавя към мнението. 597 00:29:47,400 --> 00:29:55,090 Така че искам да кажа, че винаги да има етикет в средата на този човек, който казва CS50. 598 00:29:55,090 --> 00:29:59,210 Ако трябва да го пуснете отново, а след това CS50 ще се появи точно там. 599 00:29:59,210 --> 00:30:03,160 Така че това е като влачене и пускане тип справят където лежеше всичко. 600 00:30:03,160 --> 00:30:06,310 >> И той също има тази сладка нещо, наречено автоматично оформление, 601 00:30:06,310 --> 00:30:08,240 което означава, че можете да завъртите телефона си, 602 00:30:08,240 --> 00:30:11,816 той автоматично ще се оправям с това. 603 00:30:11,816 --> 00:30:14,940 И това е нещо като неща, които биха да бъде кошмар за да напишете в кода, 604 00:30:14,940 --> 00:30:21,170 но когато сте просто да я показва на екран като този не е толкова лошо да се направи. 605 00:30:21,170 --> 00:30:24,310 И така, това е основно като теб Никога не трябва да пиша CSS отново, 606 00:30:24,310 --> 00:30:29,330 които, ако сте написали някоя CSS за това pset, трябва да бъде наистина щастлив. 607 00:30:29,330 --> 00:30:29,890 >> Готино. 608 00:30:29,890 --> 00:30:30,390 ДОБРЕ. 609 00:30:30,390 --> 00:30:32,285 Така че това е един от начините. 610 00:30:32,285 --> 00:30:34,410 И тогава друг начин е има начини програмни 611 00:30:34,410 --> 00:30:36,640 да добавяте неща, за да възгледи, както добре. 612 00:30:36,640 --> 00:30:41,590 Така че в възможно да се наложи друг папка, която се нарича гледка. 613 00:30:41,590 --> 00:30:45,600 И вие можете да се обяви прегледате само чрез оформяне, 614 00:30:45,600 --> 00:30:47,010 Аз нямам никакви примери тук. 615 00:30:47,010 --> 00:30:51,140 Но има начини в код, за да се дефинира какво става тук основно. 616 00:30:51,140 --> 00:30:54,000 Така че може да се каже етикет добави към моите маса оглед контролер, нещо, 617 00:30:54,000 --> 00:30:54,916 подобно, табличен изглед. 618 00:30:54,916 --> 00:30:58,490 619 00:30:58,490 --> 00:30:59,210 >> Сладка. 620 00:30:59,210 --> 00:30:59,750 ДОБРЕ. 621 00:30:59,750 --> 00:31:02,040 Така че има малко Например на кода. 622 00:31:02,040 --> 00:31:04,780 623 00:31:04,780 --> 00:31:17,540 Следващата много проста, просто говорим за някои съвети. 624 00:31:17,540 --> 00:31:20,890 И тогава ние ще се направи. 625 00:31:20,890 --> 00:31:25,470 Така че най-големият ми съвет е че ако се опитате и да скочи 626 00:31:25,470 --> 00:31:29,690 право в приготвянето на крайния Вашия проект когато сте учене на нови технологии, 627 00:31:29,690 --> 00:31:32,822 тя много рядко работи на добре, защото колкото 628 00:31:32,822 --> 00:31:35,030 Може да сте виждали с някои от Вашите psets, за първи път 629 00:31:35,030 --> 00:31:38,940 които се опитват нещо, то завършва е малко разхвърлян. 630 00:31:38,940 --> 00:31:42,740 >> И това не е толкова лошо, когато по време на това, което работи по е само една седмица. 631 00:31:42,740 --> 00:31:45,690 Но, ако се опитвате да се развива това за своя окончателен проект 632 00:31:45,690 --> 00:31:47,780 или извън вашия окончателен проект, това е важно 633 00:31:47,780 --> 00:31:49,600 че да започнете вашия проект, след като сте 634 00:31:49,600 --> 00:31:51,420 справедлив малко познания за други неща. 635 00:31:51,420 --> 00:31:52,410 Така че това не трябва да бъде огромна. 636 00:31:52,410 --> 00:31:54,120 Вие не сте се създаде две финални проекти. 637 00:31:54,120 --> 00:31:56,980 Но може би намери урок от едно от средствата 638 00:31:56,980 --> 00:31:59,750 че аз ще посочим в края на това, което казва, се създаде 639 00:31:59,750 --> 00:32:01,690 пример на Twitter приложение. 640 00:32:01,690 --> 00:32:05,170 >> Или се създаде един пример, дори страшно бъгове нещо. 641 00:32:05,170 --> 00:32:07,450 Ако сте изпълнени всички страшните бъгове, че 642 00:32:07,450 --> 00:32:10,880 Би било чудесно начало, така че, когато всъщност отиде да създадете свой собствен, 643 00:32:10,880 --> 00:32:15,170 вие не правите малки грешки или завършващ с всички сортове от случаен код 644 00:32:15,170 --> 00:32:16,400 в окончателния си проект. 645 00:32:16,400 --> 00:32:19,520 Направете малка ап преди да скочи в окончателния проект. 646 00:32:19,520 --> 00:32:24,060 >> Следващата имаме използване Git да си сътрудничат с партньори и запишете работата. 647 00:32:24,060 --> 00:32:27,860 Така Git не е нещо, ние сме говорихме много за в CS50. 648 00:32:27,860 --> 00:32:29,120 >> STUDENT: Дали е като GitHub? 649 00:32:29,120 --> 00:32:31,000 >> Зак CHAUVIN: Това е нещо като GitHub. 650 00:32:31,000 --> 00:32:34,894 Така че това, което са Git и GitHub? 651 00:32:34,894 --> 00:32:35,810 Каква е разликата? 652 00:32:35,810 --> 00:32:36,720 Те какво правят? 653 00:32:36,720 --> 00:32:42,172 Така Git е начин за спестяване няколко версии на вашите файлове 654 00:32:42,172 --> 00:32:43,130 цял куп пъти. 655 00:32:43,130 --> 00:32:46,260 Така се каже, върху което работите есе. 656 00:32:46,260 --> 00:32:50,440 Работата ви е само някога има една версия на това есе. 657 00:32:50,440 --> 00:32:52,139 Така че, ако сте написали цял куп неща. 658 00:32:52,139 --> 00:32:54,180 И тогава вие сте като, о, Имам тази велика идея. 659 00:32:54,180 --> 00:32:55,940 Отивам да добавите целия този параграф. 660 00:32:55,940 --> 00:32:57,572 И аз отивам да се намали тази навън и бла бла бла. 661 00:32:57,572 --> 00:32:59,067 И тогава ще стигнем до края на това. 662 00:32:59,067 --> 00:32:59,900 И вие сте като, о. 663 00:32:59,900 --> 00:33:03,270 Аз всъщност мисля, че ми харесва моята версия преди по-добра от тази. 664 00:33:03,270 --> 00:33:06,040 Така че след това можете просто да напишете отмените един милион пъти. 665 00:33:06,040 --> 00:33:10,880 >> Основно това, което прави, е Git тя има ви спести версии на файла, 666 00:33:10,880 --> 00:33:13,650 на цялата своя проект, като отидеш заедно. 667 00:33:13,650 --> 00:33:16,720 Така че може да се приложат първата част от проекта си. 668 00:33:16,720 --> 00:33:21,340 И след това спаси моментна снимка на какъв е вашият проект е като тогава. 669 00:33:21,340 --> 00:33:23,740 Така че може да се каже, аз току-що завърши това. 670 00:33:23,740 --> 00:33:25,550 И всичко това е работа. 671 00:33:25,550 --> 00:33:27,270 И тогава един ден по-късно, да се върне. 672 00:33:27,270 --> 00:33:29,610 И вие прекарате целия ден работа по него. 673 00:33:29,610 --> 00:33:32,540 И се оказва, че счупи някои неща. 674 00:33:32,540 --> 00:33:33,865 >> Ти не знаеш какво се случва. 675 00:33:33,865 --> 00:33:36,490 Само ако можех да се върна към вашия предишна версия или дори само 676 00:33:36,490 --> 00:33:40,120 погледнете какво е вашето предишно версия да видим какво правиш по различен начин. 677 00:33:40,120 --> 00:33:42,870 Git ще ви позволи да направите всичко това. 678 00:33:42,870 --> 00:33:44,410 >> И вие споменахте GitHub. 679 00:33:44,410 --> 00:33:47,600 Git е и начинът, по който вие сътрудничи с други хора. 680 00:33:47,600 --> 00:33:51,740 Така GitHub е това нещо, което онлайн изисква, че използвате Git. 681 00:33:51,740 --> 00:33:54,730 И ако използвате Git локално на вашия собствен лаптоп, 682 00:33:54,730 --> 00:33:59,300 След това можете да използвате GitHub, което е като облак, 683 00:33:59,300 --> 00:34:02,190 като пространство за съхранение в облака, така че да можете 684 00:34:02,190 --> 00:34:05,760 да натиснете си неща от вашия местен версия на Git върху облака. 685 00:34:05,760 --> 00:34:09,380 И тогава някой друг, който също има Git може да вземе това, което е на облака 686 00:34:09,380 --> 00:34:12,560 върху техния машина, тяхната местна машина. 687 00:34:12,560 --> 00:34:16,219 >> Така GitHub прави сътрудничество чрез възможно Git. 688 00:34:16,219 --> 00:34:19,730 И така Git има две предимства че тя ще ви предпази 689 00:34:19,730 --> 00:34:22,320 от получаване супер разочарован, че не бъде 690 00:34:22,320 --> 00:34:25,719 можете да се върнете на предишната работа, което се случва изненадващо често. 691 00:34:25,719 --> 00:34:29,120 И също така, че да ви позволи да плавателни съдове сътрудничи с партньори. 692 00:34:29,120 --> 00:34:32,520 Буквално ние виждаме хора като равенство бокса неща напред-назад помежду си, 693 00:34:32,520 --> 00:34:35,580 която ще ви накара да се тъжно бързо. 694 00:34:35,580 --> 00:34:36,719 >> Git е начинът да го направя. 695 00:34:36,719 --> 00:34:38,949 Той е създаден специално за програмисти. 696 00:34:38,949 --> 00:34:41,889 И тя има също страхотни инструменти. 697 00:34:41,889 --> 00:34:43,730 Има вероятно е CS50 семинар за него. 698 00:34:43,730 --> 00:34:49,290 Ако не има всевъзможни големи ресурси за онлайн Git. 699 00:34:49,290 --> 00:34:49,790 ДОБРЕ. 700 00:34:49,790 --> 00:34:55,810 Последният ми съвет е да тече вашия Код често, за да се изравнят бъгове рано. 701 00:34:55,810 --> 00:34:59,970 Това е наистина като бакшиш за всеки подреди по програмиране, че сте прави. 702 00:34:59,970 --> 00:35:02,970 Но това е особено важно, когато сте като на една нова технология, 703 00:35:02,970 --> 00:35:07,190 защото ако направите 10 минути струва на промените, и след това можете да го ползвате, 704 00:35:07,190 --> 00:35:12,490 и това е счупена, имате много по-малко идея от това, което е счупен, ако сте били постоянно 705 00:35:12,490 --> 00:35:13,810 използвате вашите програми. 706 00:35:13,810 --> 00:35:18,550 >> И дори като някой, който е бил програмиране в Objective-C за известно време, 707 00:35:18,550 --> 00:35:22,190 Намирам, че ако аз чакат твърде дълго, преди да пуснете ми код, 708 00:35:22,190 --> 00:35:24,560 това не е наистина ясно къде бъг е, идващи от. 709 00:35:24,560 --> 00:35:26,200 Така тичайте кода си често. 710 00:35:26,200 --> 00:35:30,990 И това ще се предотврати пропадане преживявания късно в линията. 711 00:35:30,990 --> 00:35:35,060 >> Така че какви са някои ресурси за вас? 712 00:35:35,060 --> 00:35:39,560 Това първо и последно една са страхотни онлайн ресурси, raywenderlich 713 00:35:39,560 --> 00:35:40,370 както и rypress. 714 00:35:40,370 --> 00:35:42,792 Примерът на страшни бъгове дойде от raywenderlich. 715 00:35:42,792 --> 00:35:44,500 Ще се изпраща тези слайдове, както добре. 716 00:35:44,500 --> 00:35:47,270 Но вие сте добре дошли да ги вземат определени сега. 717 00:35:47,270 --> 00:35:49,130 Така че тези, които са достъпни онлайн. 718 00:35:49,130 --> 00:35:53,360 И тогава хода Stanford IOS е на разположение чрез качи U. 719 00:35:53,360 --> 00:35:57,240 >> И това е всъщност курса, че го направих. 720 00:35:57,240 --> 00:35:58,836 Работил съм в работата IOS това лято. 721 00:35:58,836 --> 00:35:59,710 И тогава аз се появи. 722 00:35:59,710 --> 00:36:01,560 И разбрах, че не знае нищо за IOS. 723 00:36:01,560 --> 00:36:03,610 И затова взех този курс за подобно няколко дни. 724 00:36:03,610 --> 00:36:08,520 И тогава бях готов да скочи в развитие IOS. 725 00:36:08,520 --> 00:36:13,740 >> Така че, ако сте посветен на използване на IOS за вашия проект, 726 00:36:13,740 --> 00:36:17,430 След това най-добрият залог за сигурност, е, да се направи едно от тези уроци 727 00:36:17,430 --> 00:36:21,720 преди да се опитате нещо друго, защото тя може да бъде супер разочароващо просто да мушкам 728 00:36:21,720 --> 00:36:26,630 наоколо в Objective-C, без наистина знаейки, някои от основите. 729 00:36:26,630 --> 00:36:29,950 >> Така че всички те са големи ресурси. 730 00:36:29,950 --> 00:36:33,310 И аз вероятно бих препоръчал Станфордския разбира се най-много, 731 00:36:33,310 --> 00:36:37,140 Просто защото това е професор. 732 00:36:37,140 --> 00:36:40,030 Той е научил много за този вид неща. 733 00:36:40,030 --> 00:36:43,780 И така, това е един голям ресурс. 734 00:36:43,780 --> 00:36:45,840 Това е всичко, което имам да кажа около Objective-C. Правя 735 00:36:45,840 --> 00:36:48,070 вие имате някакви окончателни въпроси? 736 00:36:48,070 --> 00:36:51,393 Или като можем също говорим за вашите идеи? 737 00:36:51,393 --> 00:36:53,118 Да? 738 00:36:53,118 --> 00:36:58,486 >> STUDENT: Какви други езици място има за кодиране на ап развитие? 739 00:36:58,486 --> 00:37:01,910 Какви са предимствата на Objective-C над другите или други потребители по Objective-C? 740 00:37:01,910 --> 00:37:03,050 >> Зак CHAUVIN: Със сигурност. 741 00:37:03,050 --> 00:37:04,989 Това ли е специфична за iPhone или? 742 00:37:04,989 --> 00:37:05,530 STUDENT: Да. 743 00:37:05,530 --> 00:37:06,363 Зак CHAUVIN: Sweet. 744 00:37:06,363 --> 00:37:11,740 Така че въпросът е какви езици са там за разработването на iPhone? 745 00:37:11,740 --> 00:37:16,000 Така че почти само две, са Objective-C и Swift. 746 00:37:16,000 --> 00:37:23,010 И така ми фон е в Objective-C. И така, това е, което аз ще настоява за. 747 00:37:23,010 --> 00:37:24,580 >> Говорих малко за това. 748 00:37:24,580 --> 00:37:29,770 Но това е основно само искала толкова по-установена език. 749 00:37:29,770 --> 00:37:31,120 Той е бил около продължение на много години. 750 00:37:31,120 --> 00:37:33,850 Поради това, много хора го използват. 751 00:37:33,850 --> 00:37:39,680 И няма начин повече средства за го, защото тя не е от вчера вече. 752 00:37:39,680 --> 00:37:42,700 И това е също много по- подобен на C, отколкото Swift. 753 00:37:42,700 --> 00:37:46,050 Swift е може би по-скоро като JavaScript. 754 00:37:46,050 --> 00:37:47,330 И това е много по-често. 755 00:37:47,330 --> 00:37:50,650 >> Цел-С е много по-често в индустрията, отколкото Swift 756 00:37:50,650 --> 00:37:52,920 за повечето от причините, които казах преди. 757 00:37:52,920 --> 00:37:56,480 Това е нещо като наследството език, че хората започнаха да използват, 758 00:37:56,480 --> 00:37:59,950 както и, че това е много по- по-добре подкрепени от ресурси. 759 00:37:59,950 --> 00:38:01,350 Суифт страхотно, както добре. 760 00:38:01,350 --> 00:38:02,870 Има и други уроци. 761 00:38:02,870 --> 00:38:06,300 Има и други уроци CS50 на Swift. 762 00:38:06,300 --> 00:38:07,730 Вие сте добре дошли, за да проверите тези навън. 763 00:38:07,730 --> 00:38:09,906 И да вземе решение за себе си. 764 00:38:09,906 --> 00:38:11,280 Това определено къде ще. 765 00:38:11,280 --> 00:38:12,510 Аз няма да се преструвам че Objective-C е 766 00:38:12,510 --> 00:38:14,040 ще бъде около завинаги. 767 00:38:14,040 --> 00:38:16,315 Но това е въпрос на, когато че ключа ще се случи. 768 00:38:16,315 --> 00:38:19,420 Но повечето хора използват Суифт. 769 00:38:19,420 --> 00:38:20,235 Готино. 770 00:38:20,235 --> 00:38:22,970 Всякакви други въпроси? 771 00:38:22,970 --> 00:38:23,470 Сладка. 772 00:38:23,470 --> 00:38:23,970 ДОБРЕ. 773 00:38:23,970 --> 00:38:25,200 Така че това е всичко, което имам. 774 00:38:25,200 --> 00:38:28,760 Аз ще си наоколо за малко в случай вие искате да говорите за вашите идеи 775 00:38:28,760 --> 00:38:30,200 или как е възможно те. 776 00:38:30,200 --> 00:38:31,680 Но благодарение на куп, че дойдохте. 777 00:38:31,680 --> 00:38:34,330 И пожелание за отлични проекти. 778 00:38:34,330 --> 00:38:36,839