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