>> Tianyu Ліу: Гэй, як гэта адбываецца ўсё?
І гэта IOS App праграмаванне Objective C семінары.
І мяне клічуць Tianyu Лю.
Я малодшы Лоуэлл прама зараз, канцэнтруючыся ў галіне кампутарных навук.
Так што ў гэтым семінары я буду вучыць вас, хлопцы
Крыху аб тым, як зрабіць прыкладанне.
Ура, захапіцца для яго.
>> Таму, перш чым нават пачаць плаванне ў фактычнай баку праграмавання,
давайце проста вельмі хутка казаць пра Таму, магчыма, вы хочаце стварыць прыкладанне IOS?
Чаму IOS настолькі дзіўным?
Такім чынам, першай праблемай, у першую чаргу рэч, якая з'яўляецца даволі дзіўным для нас,
асабліва ў CS50 студэнт, з'яўляецца тое, што IOS
выкарыстоўвае Objective C. Ну, ёсць Новая мова называецца Свіфт,
але мы не збіраемся выкарыстоўваць, што ў гэтым семінары.
Калі вы зацікаўлены ў Swift, ёсць з'яўляецца незалежным семінар пра гэта.
Але Objective C, у асноўным пашыраны Ч. Значэнне
што ўсе вы карыстаецеся ў C можа быць пераведзены на Objective-C
вельмі лёгка.
>> Як вы можаце бачыць пазней, што, сапраўды, Ёсць некаторыя вельмі базавы сінтаксіс, з'яўляюцца
асноўным сапраўды гэтак жа, C і Objective C. Такім чынам,
так як вы зрабілі CS50 да гэтага месца, то ўжо
ведаць, Objective C, па меншай меры, 40%.
Акрамя таго, Apple, мае вельмі надзейны API для IOS.
Ёсць шмат сапраўды вар'ят рэчы, якія вы можаце рабіць з ім.
Адзін з якіх з'яўляецца той, на самай справе стварыў прыкладанне IOS
для кантролю аўтамабіляў, якія гэта даволі цікава.
Напэўна, верталёт больш захапляльным.
Але гэта, як магутны API IOS можа быць.
>> І, як вы, магчыма, прыйдзецца меркаваў, прама зараз,
перапаўненне стэка, верагодна, адзін з найбольш важныя інтэрнэт-рэсурсы
даступныя для вас.
І добрая навіна для кожнага адной праблемы, магчыма, вы можаце
думаць аб пры будаўніцтве вашага Канчатковы праект у Objective-C,
існуе верагоднасць перапаўнення стэка адказ.
Гэта проста ўзрушаюча.
У дадатак да гэтага, IOS сапраўды платформа
дзе вы можаце дабрацца да велізарнае Гледачы з невялікім высілкам.
Гэта не тое, Android, дзе ўсё даволі фрагментаваная.
>> Усе IOS адзіная.
І да таго часу, як вы ствараеце Прыкладанне для iPhone,
вы можаце вельмі лёгка пераносіць, што Ipad, Ipad міні, або розныя памеры iPhone.
Гэта ўсё вельмі зручна.
І гэта проста вельмі добра для ўражанне на сваіх сяброў.
Вы можаце проста правесці iphone і скажыце вашага сябра эй,
гэта дадатак, якое я зрабіць.
Вы можаце зрабіць, што для любога настольныя прыкладанні, што прыемна.
>> Добра, зараз давайце на самай справе атрымаць ў моўнай Objective C.
Дык чаму б нам не пачаць з некаторыя сапраўды асноўны сінтаксіс.
Як я ўжо казаў Мэта C Гэта ў асноўным пашыраным С.
Так шмат асноўнага сінтаксісу на самай справе сапраўды гэтак жа.
Аб'яву зменнай і дадаўшы дзве зменныя разам
менавіта так, як мы зрабілі ў Марыё.
Нічога новага тут.
>> Сапраўды гэтак жа, жыхар цыкл і ўмова таксама і тое ж.
Вы можаце зрабіць цыкл гэтак жа, як вас ўжо зрабіў у Марыё [неразборліва].
І вы можаце зрабіць умовы гэтак жа, як тое, што вы
рабілі ў вашых папярэдніх набораў р.
Тым не менш, Objective C не цалкам C,
і ёсць тое, што крыху дзіўна пра гэта.
>> Першы ў тым, што калі вы рабіць праграмаванні на мове З, вы, як правіла, называюць
ўключаюць у сябе, а затым імя бібліятэкі.
Але ў Objective-C Вы называеце гэта імпарт.
У асноўным кажуць функцыянальнасць, проста розныя назвы.
І струны на самай справе трохі дзіўна.
Вы можаце бачыць, што першая рэч, якая крыху дзіўна
з'яўляецца тое, што ў вас ёсць даволі weird-- sorry-- ў вас ёсць даволі дзіўныя NS
увайдзіце сюды.
І другая рэч, гэта крыху дзіўна
гэта вы павінны ў знак перад на самай справе аб'явіць радок.
Так у знак асноўным азначае што радок не толькі радок,
гэта на самай справе аб'ект.
Мы збіраемся растлумачыць, што пазней, так што не
паніка, калі вы не зразумець, што гэта значыць.
І друк на кансолі трохі адрозніваецца тым, што ў C мы называем Printf,
але ў Objective-C мы называем [неразборліва].
>> Вы можаце быць здзіўлены, што ёсць што.
Гэта ў асноўным Printf, проста іншую мову.
Сапраўды гэтак жа, выкарыстанне, дакладна тыя ж функцыі.
Ну і атрымліваецца, што Objective C на самай справе
Мае НС прэфікс амаль усе, кожны базавы тып дадзеных,
NSString, NSArray, NSDictionary.
Прычына ў тым, што НС на самай справе пазначае наступны крок,
што кампанія, якая Стыў Джобс заснаваў,
што кампанія, у якой мова Objective C нараджаецца.
Так што гэта ў асноўным традыцыяй.
Я ведаю, што гэта крыху дзіўна, але гэта Apple.
>> Так што-то, што нават больш дзіўнага чым гэта аб'ява функцыі.
Гэта вельмі адрозніваецца ад таго, што мы см у Сі, так вось гэта на самай справе
не падобны З больш.
Тое, што вы here-- па спосаб гэта не кулі,
гэта мінус.
У вас ёсць знак мінус дужкі несапраўднымі, а затым імя функцыі.
Давайце проста скажам, калі мы ёсць прывітанне свет, то
Тып якое вяртаецца б несапраўднымі таму што мы не вяртаюць нічога.
>> Што становіцца сапраўды дзіўна з'яўляецца тое, што, калі вы
якія маюць больш аднаго параметру пераходзячы ў адной і той жа функцыі, што
будзе вельмі дзіўна, як паказана тут.
У нас ёсць імя метаду, называецца addInt на [неразборліва]
і мы перадаем адзін параметр.
Але пасля гэтага, у нас ёсць болей імя выклік метаду с.
А пасля з, што мы перадаем Другі параметр.
Гэта на самай справе крыху дзіўна, але ўсе гэтыя аб'явы функцый
па той жа схеме, як гэта.
>> У нас ёсць знак мінус, каб пачаць з.
Знак мінус можа быць знак плюс часам на аснове таго, які метад
гэта.
Метад у асноўным іншае назва для функцыі.
І мы збіраемся растлумачыць, што пазней, калі
мы гаворым аб аб'екце арыентаванае праграмаванне.
Спачатку пакажыце вяртанне ўвядзіце ў дужках,
пасля чаго прыходзіць імя метаду.
Вы перадаеце адзін параметр.
І калі ў вас ёсць некалькі параметраў, вам неабходна пашырыць назву метаду
і ў асноўным нешта напісаць больш тут.
>> Гэта можа быць усё, што заўгодна.
У нашым выпадку гэта з.
Але можна сказаць, што канец, або, або, або ABC поўны бар, усё, што вы хочаце.
А потым пасля гэтага вы Перадача параметраў б.
Гэта сапраўды дзіўна Канвенцыя, але мы
ўбачыце, чаму Apple, хацеў зрабіць гэта вельмі хутка.
Такім чынам, як вы выклікаць функцыю?
Выклік функцыі ў Objective З таксама адрозніваецца ад C.
>> На самай справе, называючы функцыя ў Objective-C
больш, як вы кажаце каму-то.
Тут мы маем сябе, што называецца аб'ектам.
Вы ў асноўным кажа аб'ект сам, каб сказаць "Hello World!"
Гэта значыць, як выклікаць функцыю.
Аб'ект і імя метаду ў спалучэнні адзін з адным.
І гэта, дзе дзіўны пашырэнне для назвы метаду сапраўды уступае ў гульню.
>> Давайце паглядзім на другі прыклад.
Мы толькі што вызначылі метад, званы addInt з бла-бла-бла.
Такім чынам, у гэтым выпадку, калі Вы тэлефануеце што канкрэтная [? паведамленне?] гэта будзе
каб выглядаць самастойнай addInt: 10 з: 2.
Падобна на тое, на англійскай мове.
Хоць функцыі Аб'яву функцыі дзіўна,
кропка Objective C гадоў Аб'яву метаду ўзор,
з'яўляецца тое, што, калі вы тэлефануеце функцыя або метад
гэта будзе гучаць як фактычным англійскай мове.
Так што гэта вельмі інтуітыўна як толькі вы атрымаеце ў яе.
>> Асабліва ў гэтым выпадку, дзе вы можаце ў асноўным
бачыць, што імя функцыі Сартаваць дакументавання сябе.
Вы не маеце патрэбу ні ў больш тлумачэнняў, каб убачыць
што менавіта адбываецца, што дакладна адзін параметр робіць.
Выходзячы за рамкі, што, давайце пагаворым крыху Крыху пра аб'ектна-арыентаванага праграмавання.
Аб'ектна-арыентаванае праграмаванне адзін з фундаментальнага праграмавання
метады або мадэлі, якія з'яўляецца выкарыстоўваецца Objective C. Objective-C
называецца Objective C, ня C для сапраўды добрай прычыне.
>> Таму, перш чым патрапіць у Мэта сінтаксіс C,
Давайце сапраўды хутка зірнуць на што менавіта з'яўляецца аб'ектам.
Мы, верагодна, зрабілі нешта як аб'ект раней, што
называецца структура, калі вы знаходзіцеся рэалізацыі дрэва або звязаны спіс
або [? паспрабаваць. ?] Такім чынам, гэта у асноўным, як структуры,
але гэта значна больш магутны, чым гэта.
Аб'ект мае ўласцівасці і метады.
Метады асноўным функцыі.
У асноўным функцыі, якія спецыфічныя для пэўнага аб'екта.
>> І ўласцівасці ў асноўным поле вы паказваеце ў структуры.
Такім чынам, для кожнага аб'екта у нас ёсць некаторы ўласцівасць
які мае некалькі зменных, якія спецыфічныя да аб'екта.
І ў нас ёсць некаторыя функцыі, якія таксама спецыфічныя для аб'екта.
І функцыі называюцца метадамі і зменныя называюцца ўласцівасцямі.
Гэта проста прыгожая назва.
Пакуль вы самой справе, кожны выгляд Вы бачыце, калі вы адкрываеце прыкладанне IOS,
давайце проста скажам, Twitter або Facebook, кожны выгляд вы бачыце аб'ект.
І нават увесь дадатак Аб'ект, каб пачаць з.
Вельмі цікавая канцэпцыя.
>> І чаму мы хочам аб'ект арыентаванае праграмаванне?
Такім чынам, вы можаце сабе ўявіць, што калі вы Праграма ён атрымлівае даволі складана.
Давайце проста скажам, калі вы рэалізацыі шахматную дошку,
Логіка збіраецца быць вельмі складаным.
Вы павінны 36 розных штук, так што калі вы
хачу напісаць логіку для ўсіх 36 розных частак у шахматы,
што будзе шмат розныя функцыі і зменныя.
Гэта шмат непрыемнасцяў.
І, напэўна, вы збіраецеся напісаць іншы спосаб або іншая функцыя
для кожнага з часткі, каб дакладна кантраляваць тое, што яны робяць.
>> Але калі вы робіце аб'ектна-арыентаванага Праграмаванне, усе гэтыя кавалкі
можна абстрагавацца ў адзін аб'ект.
І аб'ект будзе мець некаторыя агульныя ўласцівасці, як і якія часткі
гэта?
Якога яна колеру?
Як ён можа рухацца?
І ў гэтым выпадку вы павінны ў значнай ступені спрасціць логіку яго.
Так што гэта проста сапраўды добры спосаб каб зрабіць складаныя праграмы,
і іерархічная сувязь у рамках праграмы, вельмі проста.
Як мы збіраемся, каб убачыць Таму вельмі хутка, калі
мы на самай справе робім programming--, калі мы на самай справе
Вядзенне S код праграмаванне пленарным пасяджэнні.
>> Добра ў дадатак да гэтага, аб'ектна-арыентаванае праграмаванне
гэта проста весела.
Вы павінны стварыць свой уласны аб'ект.
Вы павінны праектаваць тое, што робіць гэта выглядае самастойна.
Там няма правільнага адказу на яго.
І гэта зусім цікава.
Такім чынам, у аб'ектна-арыентаваным праграмаванні, два асноўных паняцці
будзе клас і экзэмпляр.
Клас у асноўным шаблон для аб'екта.
І экзэмпляр у асноўным адзін канкрэтны аб'ект.
>> Давайце проста скажам, што вы робіце печыва.
У гэтым выпадку, кожны печыва вы на самой справе ў канчатковым выніку з
будзе аб'ектам.
Але печыва пліты вы карыстаецеся для выпечкі усе печыва будзе клас.
Клас у асноўным шаблон.
І асобнік будзе адзін канкрэтны Аб'ект, створаны з гэтага класа.
>> І Асобнік будзе створаны на аснове дэкларацыі класа,
як мы ўбачым у наступных слайдах.
Такім чынам, давайце на самай справе сапраўды Хуткі прыклад [неразборліва].
Скажам, мы аб'яўленні Аб'ект для кошкі.
Аб'ект павінен have-- клас котка павінна
маюць некаторыя ўласцівасці і метады.
Якія ўласцівасці павінны ў клас have-- павінны кот ёсць?
>> Напрыклад, колер, узрост і парода, тых,
будзе зменныя, якія спецыфічныя для кожнай кошкі.
І тыя рэчы, што мы выкарыстоўваем для апісання котку.
Якім метадам, або тое, што можа котка рабіць?
Некаторыя хуткія прыклады будуць пераследваць мыш, ядуць рыбу або проста мяўкаюць.
Гэта вельмі хутка Прыклад класа каціных.
І сапраўды спецыфічны кот аб'ект будзе кошка
дзе мы паказваем колер, узрост і парода.
>> У гэтым выпадку, наш аб'ект не больш за класе не болей.
Мы капіяваны шаблон з класа і мы паказваем кожны канкрэтную інфармацыю
да гэтага канкрэтнаму аб'екту каб зрабіць яго незалежным.
І калі вы тэлефануеце Спосаб ўнутры аб'екта,
вы проста патэлефануеце мяу на аб'екце, што котка вы толькі што стварылі.
>> Магчыма, вы будзеце друкаваць нешта накшталт "Hello World!
Мяу. "
Даволі міла.
Добра, давайце проста трапіць у некаторых дэталях
і паглядзець, што менавіта гэта перавесці на свет праграмаванне IOS.
Такім чынам, у IOS праграмаванне кожны клас будзе ажыццяўляцца ў двух файлах.
Адзін файл тут, які называецца інтэрфейс.
Яшчэ адзін файл тут, які называецца рэалізацыю.
>> Звычайна інтэрфейс будзе мець extension.h
як мы бачылі ў C бібліятэк.
І файл рэалізацыя будзе мець extension.n.
Гэта крыху дзіўна.
Але .n азначае на самай справе .c, няма Фундаментальнае адрозненне паміж тымі,
два.
Такім чынам, у гэтым выпадку, мы можам бачыць, што мы заявіўшы, інтэрфейс, Cat: аб'ект.
Гэта называецца ўспадкоўванне.
Мы ў асноўным ў спадчыну кот-клас ад класа аб'екта.
Такім чынам, кожны уласцівасцяў і метадаў, якія былі вызначаны раней у класе аб'екта
будзе аўтаматычна вызначана у класе кошкі, а таксама.
>> У дадатак да гэтага, мы вызначаем колер, парода і ўзрост, тры зменныя.
Гэта на самай справе выглядае тое, што вы рабілі раней.
Падобна на тое, структуры.
Гэта значыць, у прынцыпе сінтаксіс для дэкларавання структуры,
і што зусім правільна.
А так як я ўжо згадваў раней, Розніца структура
і аб'ект, адзін з фундаментальныя адрозненні
у тым, што аб'ект мае метад, у той час як структура мае толькі зменныя.
Такім чынам, у дадатак да ўласцівасцяў або зменныя, якія мы стварылі для аб'екта,
мы паказваем нейкі спосаб.
>> Давайце проста скажам, тут мы маем два метаду, адзін мяу,
яшчэ адзін Чэйз мышы.
Мы, верагодна, хочаце праходзячы Параметр заснаваныя на нашым папярэднім метадзе
Дэкларацыя малюнак.
Вы, напэўна, хочаце быць праходжанне мышы.
І вы, напэўна, хочаце вярнуцца лагічнае значэнне, якое азначае,
Калі ваша котка паспяхова злавіў мыш ці не.
>> Гэта інтэрфейс, але мы можам бачыць, што інтэрфейс на самай справе
нічога не рабіць.
Гэта проста кажа праграму, што exists-- тое, што існуе ў класе кошкі.
Так для таго, каб праграма павінна рабіць нешта,
мы павінны мець файлы рэалізацыі.
Дык вось, першае, што мы робім, Відавочна, мы імпартуем інтэрфейс.
Пасля мы імпартуем інтэрфейс, вызначым метад.
>> Давайце проста скажам, тут мяу будзе проста раздрукаваць
"Прывітанне, Свет!" на кансоль.
І пасля рэалізацыі Файл, мы вельмі шмат зрабілі.
У асноўным гэта клас Заяву для аднаго класа.
Так што цяпер пытанне становіцца, як вы аб'яўляеце зменную?
Як вы карыстаецеся клас для стварэння аб'ект у Objective C, што тут напісана.
>> Вы спачатку пакажыце, Гэта паказальнік кошкі,
таму што кожны аб'ект у Objective C нарэшце рэалізаваны як паказальнік.
І гэта вы называеце клас, называць іх як Alloc, якая ў асноўным Таноса,
кажа аперацыйнай сістэме, што вы трэба частку памяці для гэтага аб'екта.
Пасля гэтага ў вас ёсць аб'ект ўжо, і вы проста ініцыялізаваць яго.
Гэта проста ўмоўнасць.
Я ведаю, што гэта з'яўляецца трохі дзіўным, але гэта на самай справе, як Apple, робіць рэчы.
>> Прызначэнне ўласцівасцямі, на самай справе даволі простая.
Гэта вельмі падобна на Што вы робіце, калі
вы прысвойваеце некаторыя канкрэтныя поле ўнутры структуры.
Вы проста павінны зменную прозвішча, імя ўласцівасці,
і прызначыць канкрэтнае значэнне да яго.
І выклік метаду вельмі падобныя.
Выклік метаду у асноўным тое, што я кажу пра
для выкліку любога метаду ў Objective C.
>> Вы перадаеце аб'ект, у у гэтым выпадку ён будзе myCat,
і вы перадаеце імя метаду.
Як быццам вы размаўляеце з аб'екта, myCat, што вы павінны мяу.
Гэта даволі цікава.
Пасля гэтага, ёсць адзін больш істотным шаблон
што мы павінны гаварыць аб перш чым дабрацца да фактычнага S кода.
Гэта шаблон называецца падзейная праграмавання.
Гэта таксама, верагодна, адзін з самых Асноўныя ідэі ў галіне праграмавання IOS.
>> Такім чынам, вы, верагодна, не ведаеце, што менавіта з'яўляецца падзейная праграмаванне,
але гэта на самай справе не так страшна.
Ну на самай справе, у вас ёсць ўжо зрабілі гэта раней.
Гэта адна з ліній вы, верагодна, ўжо пісаў у мінулым [неразборліва]
з CS50, google.maps.event.addListener (маркер,
"Клік", функцыю () {}):.
Называючы гэты радок вы па сутнасці кажуць кампутар
што кожны раз, калі называецца падзея "Націсніце" адбываецца на маркер,
выкарыстоўваць гэтую функцыю.
>> Гэта вельмі адрозніваецца ад што вы робіце ў mario.c.
У mario.c вы проста запусціце праграму адзін раз, гэта дае вам выхад,
і вы зрабілі.
Гэта накшталт як Адзін стрэл праграмы.
Кіраваныя падзеямі праграмы вельмі, вельмі розныя.
Давайце прадставім, калі Facebook гэта адзін стрэл праграма, гэта не вельмі добра.
Вы проста зайдзіце на Facebook адзін раз, і гэта зроблена.
Гэта дае вам нейкі выхад, і вы ніколі не атрымаў яго назад.
Вы ніколі не ёсць што-небудзь яшчэ.
>> Дык вось, у асаблівасці шаблон мы выкарыстоўваем
прывадам падзея, такім чынам, што кожная функцыя будзе
быць злоўленым на аснове таго, што падзея ўжо адбылося.
Напрыклад, калі ў нас ёсць Кнопка і мы паказваем
што кожны раз, калі кнопка націснутая, выклікаць функцыю пад назвай "Hello World!"
Такім чынам, мы можам сапраўды кіраваць лагічнай функцыі
цечу ў вельмі гнутка.
Карыстальнік можа рабіць ці выклікаць функцыю які ўжо быў выкліканы.
Гэта цалкам заснавана на тым, што дзеянні карыстальнікаў.
>> Такім чынам, мы бачым, што гэта на самай справе значна лепш, чым mario.c.
І добрай навіной з'яўляецца тое, што гэта на самай справе не новая канцэпцыя.
Вы, хлопцы, ўжо зрабілі што ў апошняй задачы усталяваны.
Такім чынам, у Objective-C ёсць тры розных схемы
для падзеі праграмаванні.
Першы Дыяграма называецца мэтавай дзеянне,
дзе вы звязваеце кнопку прэс з якой-то функцыі.
Давайце проста скажам, кожны раз, калі вы націскаеце некаторыя кнопкі, вы называеце нейкую функцыю.
Гэта вельмі проста мэта дзеянні.
>> Другі з'яўляецца на самой справе адзін з самых цяжкіх,
гэта называецца дэлегацыя па пратаколе.
Мы збіраемся растлумачыць, што вельмі падрабязна пазней.
І трэці спосаб паведамлення.
На самай справе гэта не Вельмі важна, наколькі
як мы зацікаўлены, таму што выпадкова што вы збіраецеся выкарыстоўваць апавяшчэнне
у канчатковым праекце з'яўляецца даволі нізкім.
Такім чынам, мы збіраемся, каб прапусціць гэтую частку.
>> І мы збіраемся ныраць у дэлегацыі па пратаколе.
Так што ж такое пратакол?
Ці тое, што менавіта дэлегацыя?
Давайце пагаворым аб пратаколе, каб пачаць з.
Пратаколы не што іншае, як падзеі.
Але гэтыя падзеі дадзены Вы Яблыкам, каб пачаць з.
Напрыклад, я не цалкам упэўненыя, як многія з вас
хлопцы выкарыстоўваюць арыгінал ад Apple Дадатак пошце або звязацца з
але кожны раз, калі вы пракруціць стол і націсніце канкрэтную вочка
на стол, то ёсць падзея.
>> А калі вы хочаце зрабіць гэта падзея самі,
гэта на самай справе трохі цяжка.
Так Яблык, улічваючы, што нават для вас так што вы можаце проста выкарыстоўваць непасрэдна
Мерапрыемства зрабіць што-то па сваім меркаванні.
Пратаколы на самай справе сапраўды, сапраўды шырока выкарыстоўваецца
у Objective C. Ну ў Справа ў тым, кожны прыкладанне
ёсць што-то злавіў дадатак дэлегаты.
Ўнутры тонкая з'яўляецца ўсё пратаколы для загрузкі прыкладання.
>> Давайце проста сказаць, што ёсць падзея для прыкладання зрабіў нагрузку.
Так што павінна адбыцца пасля таго, як створана дадатак, пасля адкрыцця прыкладання,
Пасля закрыцця прыкладання, або пасля Вы змяшчаеце iPhone спаць.
Гэта ўсё падзеі, якія мае ўжо дадзена вам.
І першапачаткова ўнутры гэтых часціц не будзе ніякага ажыццяўлення.
Apple, толькі што сказаў вам, што гэтая функцыя адбудзецца, калі адбываецца нейкая падзея,
але тое, што вы робіце з гэтым функцыя цалкам залежыць ад вас.
>> Дэлегацыя ў асноўным кажа клас
што вы павінны апрацоўваць гэтыя пратаколы.
Гэта крыху збівае з толку, але гэта будзе
нашмат больш ясна, калі мы робім Выбар S коды ў дзеянні.
Дэлегацыя па пратаколе на самай справе вельмі магутны механізм, у тым сэнсе,
што калі мы дэлегацыю да вызначанага класа,
мы можам істотна апрацоўваць усе віды падзей
з дапамогай якога-небудзь класа ў нас ёсць, вельмі зручны інструмент.
>> Так адзін хуткі прыклад Дэлегацыя па пратаколе
будзе тое, што я толькі што казаў пра.
Гэты пратакол спецыяльна называецца TableView [неразборліва] абярыце ролю
на [? Індэкс?] [? мінулае. ?] Так што гэта Падзея, якая будзе злоўлены, калі вы
на самай справе націсніце на канкрэтных клетка вашага Tableview,
давайце проста скажам, у вашай пошце або ў дадатку Кантакты.
>> Ўнутры функцыі было Першапачаткова, нічога не робячы.
Не працуе функцыя зрабіць што-небудзь па змаўчанні.
Але вы можаце паказаць што робіць функцыя,
улічваючы тое, што вы хочаце ад вашага прыкладання.
Вельмі зручны інструмент.
І пры ўсім тым, што Пры гэтым, я ў асноўным
пакрыцця некаторыя вельмі базавы сінтаксіс і фундаментальнае паняцце для Objective-C
праграмаванне, і мы можам зрабіць некаторыя ы-код.
Значна больш цікава.
Так з код на самай справе трохі пераважнай
калі вы адкрываеце яго ў першы раз.
>> Адзін хуткі запіску, так што калі вы хачу зрабіць развіццё IOS,
Я настойліва рэкамендую вам ёсць Mac.
Паколькі пры распрацоўцы IOS на Вокны, сапраўды, вельмі цяжка.
Гэта выканальна, але гэта вельмі цяжка.
І Вы, безумоўна, не жадаеце выкарыстоўваць г рэдагавання.
Такім чынам, у ы кода ў нас ёсць некалькі розных галінах.
Калі вы ўпершыню адкрыць ёй код Вы ўбачыце навігацыйную вобласць,
якія ў асноўным паказвае вам усё файлы, якія знаходзіцца ў бягучым праекце.
>> У вас ёсць панэль інструментаў вобласць, якая у асноўным кіраванні погляды,
ці які-небудзь хуткі Інструменты сінгапурскіх самага кода.
І гэта фактычная плошча рэдактар.
Гэтая вобласць вельмі падобны г рэдагаваць, але значна лепш, чым г рэдагавання.
І ў гэтым правай частцы, з'яўляецца называецца дапаможнае памяшканне.
Вобласць становіцца вельмі зручна, калі вы ствараеце інтэрфейс або ўказанні
некаторыя хуткія ўстаноўкі для вашага прыкладання.
>> І апошняя вобласць з'яўляецца адладка.
Гэтая вобласць змяшчае кансоль.
Таму, калі вы кажаце, Printf, або NSLog у нашым выпадку,
усе вашы вынікі будзе друкавацца тут.
Добра?
Я думаю, мы можам вельмі хутка зрабіць Прыклад для праграмавання IOS.
І давайце на самай справе адкрыць ёй код.
Такім чынам, кожны раз, калі вы адкрыць ёй код, гэта збіраецца паказаць нешта падобнае.
Гэта будзе прасіць вас што ты хочаш рабіць?
Вы хочаце, каб пачаць што-то выпадковым, дзіцячая пляцоўка, у асноўным вы
можа проста праверыць код без на самай справе прывязкі да якой-небудзь прыкладання.
>> Вы хочаце, каб стварыць новы праект?
Ці вы хочаце, каб працягнуць працуе на існуючым праекце?
У нашым выпадку мы збіраемся каб стварыць новы праект.
Так што гэта сапраўды добрая, з код на самай справе ўжо
даў вам некаторыя шаблоны для стварэння аб'ектаў.
Калі вы хочаце зрабіць гульню, код ˘S на самай справе ёсць шаблон гульні для вас,
ёсць свая старонка прыкладанняў, Ўкладка дадатак.
У гэтым выпадку, мы збіраемся зрабіць што-то вельмі простае,
і мы збіраемся выкарыстоўваць адно прыкладанне меркаванне.
>> Пасля гэтага толькі тое, што вы хочаце патэлефанаваць ваш прадукт, і як цябе клічуць,
што ваш ідэнтыфікатар, і на якой мове вы выкарыстоўваеце.
Тут мы не хочам, каб праверыць з дапамогай асноўных дадзеных.
Асноўныя дадзеныя ў асноўным databasing IOS.
Калі вы асноўных дадзеных, втор Код будзе вызначаць
значна складаней, класы для вас.
Такім чынам, каб захаваць усё проста, мы проста хачу, каб абысціся без асноўных дадзеных
прама цяпер.
>> Праблема, якую мы збіраемся быць выкарыстоўваеце that-- праблемы
мы збіраемся стварыць тое, што мы у асноўным хочуць імпартаваць Марыё ад C
у дадатак IOS.
Так што давайце называць гэта Марыё IOS.
Вядома, вы паказваеце, што хачу паставіць у вашым праекце.
І там мы ідзем.
>> Так што гэта крыху пераважнай, але гэта на самай справе
тое, што мы толькі што бачылі на слайдах.
І першая вобласць, мы бачым прама зараз у асноўным канфігурацыя праекта.
Так што ўсе вы хочаце зрабіць Праект, якая прылада,
давайце проста скажам, што гэта за прылада Вы хочаце, каб ваш прыкладанне, каб з'явіцца на?
Гэта iPhone, IPAD або універсальны?
Так арыентацыі прылады, усе гэтыя рэчы.
Не вельмі важна, але можа быць, але гэта
гэта месца, дзе вы стварылі Ваш праект, калі вам на самай справе
неабходна разгарнуць у краму Apple.
>> Добра, давайце паглядзім на тое, што знаходзіцца ўнутры нашага кода.
Давайце пройдземся па файлавай навігатара.
І ўсе гэтыя файлы, якія ўжо прыйшоў з шаблонам, вельмі прыемна.
Таму, калі мы націсніце на адну з іх гэта тое, што ён выглядае.
Вельмі падобна на г рэдагавання.
Але вы можаце бачыць, што падсвятленне сінтаксісу, верагодна,
трохі больш прыемна.
І гэта на самай справе значна больш магутны, чым г рэдагавання.
І вы можаце аўтазапаўнення шмат рэчаў для вас,
як мы ўбачым вельмі хутка.
>> Давайце адкрыем плошчу адладкі, а таксама.
Добра, як мы бачым, Кансоль прама тут.
Гэта тое, што вы будзеце бачыць, дзе Вы знаходзіцеся ў Printf або nsloging што-то.
Такім чынам, без далейшых цырымоній, давайце на самай справе скампіляваць прыкладанне і паглядзець, што адбываецца.
Адным з найважнейшых функцыя для з кодам, што з код
пастаўляецца з iPhone сімулятары.
Такім чынам, вы не павінны мець iPhone, каб паспрабаваць ваш праект,
з код можа імітаваць, што для Вы, як мы бачым, цяпер.
>> Гэта вельмі прыемна.
Гэта займае трохі трохі часу, каб скампіляваць
і ў асноўным мы маем пуста дадатак,
якія на самай справе нічога не робіць.
Але ён кампілюе.
Гэта даволі дзіўным.
Гэта значна лепш, чым З, а?
Добра, тады давайце паспрабуйце дадаць нешта.
Адзін файл, які трохі дзіўна тут называецца раскадроўка.
Гэта на самай справе выдатна, дзіўным функцыя для ов кода.
Таму што ў ы кода, вы можаце перацягнуць і падзенне элементы на інтэрфейс
і ён будзе непасрэдна паказаць.
Давайце паспрабуем гэта.
>> Мы кідаем пазнаку тут, "Hello World !!!"
Мы можам цэнтры, які.
Даволі халаднавата.
Зараз давайце запусцім гэты прыпынак мадэлявання.
Тут мы маем "Hello World !!!"
Мы нават не рабіць якіх-небудзь кадаваньне яшчэ.
Што, чорт вазьмі, адбываецца?
Гэта, як магутны Interface Builder можа быць.
Хто-то нават сказаў, што Вы можаце, верагодна, проста
завяршыць прыкладанне без напісання верагодна, у тысячу радкоў кода
толькі з дапамогай Interface Builder.
Але гэта, верагодна, не Лепшы спосаб зрабіць гэта.
>> Зараз давайце на самай справе прыступіць да кадавання.
Такім чынам, структуры файла на самай справе вельмі цікава
таму што, як вы можаце бачыць, ёсць няма Асноўная функцыя ў любым месцы.
Ўбачыць?
Як мы ўжо згадвалі раней, Вы можаце бачыць, што гэта
гэта файл рэалізацыі для пэўнага класа.
Але ня мае асноўнага ў любым месцы.
Дык дзе ж галоўны?
На самай справе, гэта асноўная, але Асноўны самай справе схаваныя ад вас.
Галоўнае, тут.
Гэта выглядае знаёмым.
>> Таму ў асноўным тое, што IOS робіць ўнутры асноўнай
з'яўляецца тое, што кожны раз, калі галоўнае, называецца, які з'яўляецца ў асноўным
кожны раз, калі праграма выконваецца, ён стварае аб'ект, званы AppDelegate.
Як я ўжо згадваў раней, уся Дадатак на самай справе аб'ект сам па сабе.
Такім чынам, у гэтым выпадку, у асноўным IOS прыкладанне кажа кампілятар
што добра, я збіраюся стварыць Прадукт пад назвай AppDelegate,
і што будзе маё прыкладанне.
Такім чынам, вы павінны пайсці праз гэты AppDelegate
і паглядзець, што хлопец робіць.
Мая праца для мяне зрабіў.
>> І ў AppDelegate вы можаце бачыць, што ёсць некаторыя сапраўды дзіўныя функцыі,
а на самай справе метады, якія Apple, ужо даў вам.
Што гэта?
Гэта на самай справе ўсё пратаколы што я меў на ўвазе.
Такім чынам, гэтыя падзеі, якія Apple, даў вам пачаць з.
Там няма нічога, некаторыя функцый прама зараз,
але калі мы хочам, каб ініцыялізаваць што-то для нашага прыкладання
перш чым патрапіць у адлюстраванні любы выгляд, што мы робім гэта тут.
>> Вы можаце проста прачытаць імя, і я думаю, Падзея на самай справе вельмі ясна.
Так што цяпер галоўная стварыў аб'ект для AppDelegate.
І тое, што AppDelegate збіраецца зрабіць на самай справе таксама схавана ад вас.
AppDelegate збіраецца пачаць загрузка акцыі ViewController.
Так што гэта ў асноўным збіраецца пачаць загрузка ўсе віды, якія ў вас ёсць
і проста зрабіць выгляд на аснове іерархіі.
>> Такім чынам, у гэтым выпадку ў нас ёсць толькі адзін від, які знаходзіцца тут.
Так што гэта толькі выгляд які будзе называцца.
Логіка ViewController прама тут.
Гэта код, які на самай справе кантралюе гледжання мы толькі што бачылі.
Добра, давайце што-то рабіць тут.
Так viewDidLoad гучыць як падзеі, калі на самай справе гэта таксама дэлегат,
гэта таксама пратакол.
>> Таму, што б выгляд загружаецца, Усё ўнутры функцыі
будзе называцца.
У гэтым выпадку мы павінны ўбачыць "Hello Tianyu! "Калі мы запусцім праграму.
Гэта становіцца крыху павольна складанне раскадроўкі файлаў.
Ну на самай справе, мы бачым, выхад для яго.
Гэта вельмі выдатна.
Зараз давайце на самай справе Марыё.
Я збіраюся вызначыць працаваць вельмі хутка.
marioWithLevels: вынікі (INT) узроўні.
>> Добра, гэта на самай справе выдатна Асаблівасцю гадоў код аўто завяршэння.
Таму, калі вы пішаце для і ўвядзіце ўвайсці, ён ужо адмовіўся ад шаблону
для вас, які з'яўляецца даволі халаднавата.
Гэта павінна выглядаць на самай справе знаёмыя з вамі, хлопцы.
На жаль, гэта мая віна.
Добра, крута.
Гэтая логіка павінна выглядаць сапраўды знаёмыя з вамі, хлопцы, асабліва адразу Марыё.
>> Але мы зараз раздрукаваць на Кансоль кожны раз,
таму што мы хочам, каб неяк захаваць трэк пра тое, што мы друкуем.
Мы збіраемся выкарыстоўваць Вынікі як-то пазней,
для адлюстравання друку з і для самога карыстальніка.
Так замест гэтага мы проста nslogging ўсё,
якія мы захоўвання ўсяго, у выніку выкліку функцыі,
але логіка сапраўды гэтак жа.
Пасля таго як мы скончым гэта, мы проста раздрукаваць нашы вынікі.
>> І вось замест таго, каб раздрукаваць мой імя, мы збіраемся выклікаць функцыю.
Давайце паглядзім, што адбываецца.
На жаль, гэта відавочна.
У нас ёсць добры трохі піраміда тут.
Гэта, у асноўным C, мы проста маніпулявання, дзе вы выклікаеце функцыю
і як функцыя выглядаць.
Там няма нічога іншага.
Але гэта на самай справе не вельмі цікава тут,
таму што мы не бачым што-небудзь з прыкладання iPhone.
>> Так што, калі вы на самой справе ёсць iPhone app-- Калі ў вас сапраўды ёсць права Марыё IOS
Цяпер, вы не збіраецеся каб убачыць усё, што
не мае нічога агульнага з Марыё, таму што усе гэтыя выхады ў кансолі
схаваныя ад карыстальніка.
Гэта тое, што вы бачыце, што "Hello World !!!"
Нядобра.
Зараз давайце паспрабуем зрабіць карыстачу бачыць што менавіта мы раздрукоўкі.
Такім чынам, мы не павінны маркіраваць больш.
Давайце паспрабуем высветліць, што-то тое, што можа быць карысна.
>> Існуе на самой справе адзін элемент, які называецца
тэкставае поле, якая магла б быць вельмі карысным для нас.
Гэта ў асноўным адлюстроўвае вобласць тэкст, які можна рэдагаваць.
Так што выглядае сапраўды карысна.
Зараз давайце перацягнуць яго і змесціце яго.
Нічога сабе, у нас ёсць тэкставы выгляд на наш погляд, на самай справе фантазіі.
Гэта крыху занадта вялікі.
Давайце зробім гэта менш.
Пакладзеце яго ў цэнтр.
Зрабіць менш, як добра.
>> Цяпер у нас ёсць тэкставы выгляд, які мы маглі б быць выкарыстаны для адлюстравання канчатковы вынік.
Але цяпер гэта безумоўна, не будзе працаваць
таму што ёсць no-- ViewController мы проста
вызначана, не ведаю, што ёсць меркаванне тэкст там.
Так што мы павінны нейкім чынам звязаць тэкставае ўяўленне мы проста
створаны з выкарыстаннем класа, што ўжо з намі.
>> Як мы робім гэта на самай справе вельмі чароўны.
Так адкрыць раскадровку.
Існуе спецыяльная [неразборліва] называецца [? памочнік?] [неразборліва].
Пры націску, што гэта збіраецца адкрыць два файла.
Адзін клас, а другі гэта выгляд, адпаведны для яго.
Гэта вельмі, вельмі карысна.
І давайце проста ідзе праз файл .h.
Кантроль, гэта [неразборліва] логіка.
Націсніце Control і перацягнуць Тэкст выгляд ў дэкларацыі.
Мы збіраемся назваць гэта outputView.
Падключыце.
Дык вось мы абвясцілі новы нерухомасць для нашага класа ViewController.
І новае ўласцівасць гэта проста выгляд тэксту
мы стварылі ў будынку інтэрфейсу.
Так што ў гэтым, як мы маглі б Доступ да ўсіх дадзеных
і маніпуляваць усё, што знаходзіцца ўнутры Паглядзець выхад, які з'яўляецца дзіўным.
>> Такім чынам, у нашым фактычным кода, давайце што-то рабіць з гэтым.
Так што гэты час, калі мы, як друку з канчатковага выніку для Марыё,
мы знаходзімся ў ня увайшоўшы нічога.
Я маю на ўвазе, мы маглі трымаць рэгістрацыя заяве.
У дадатак да гэтага, мы адправіць счытванне мы проста
створана ў мэтах вытворчасці, якія з'яўляецца UI TextView мы толькі што стварылі.
Зараз давайце паглядзім, што адбываецца.
Вось Гэта Так.
У нас ёсць піраміда ў дадатак прама цяпер.
>> Такім чынам, карыстальнік можа ўбачыць наш выхад, таму што мы скапіявалі выхад з нашага кода
для нашага інтэрфейсу.
Гэта вельмі добра.
Гэта на самай справе не тое, што цікава, таму што мы can--
Усе прыкладанне робіць, паказваючы піраміду з вамі,
і няма нічога, што вы можаце з гэтым зрабіць.
Гэта не асабліва цікава.
Так што цяпер давайце зробім кнопку што будзе ясна меркавання.
Падобна на тое, што кнопка будзе карысна.
Перацягнуць і адпусціце.
Адна кнопка.
Кнопка два.
>> Таму, калі мы націскаем левую Кнопка, выгляд павінен ачысціць.
Там не павінна быць нічога на экране.
І калі мы націскаем Правая кнопка, Марыё,
Паглядзець будзе з'яўляцца зноў.
Так што гэта, як мы таксама робім магічных штучак, кантроль і перацягнуць
ў аб'яве класа у памочніка director--
у памочніка гледача.
У дадзеным выпадку мы маем ўказанні што гэта павінна быць дзеянне.
clearMario.
>> І вось мы ўжо стварылі акцыя пад назвай clearMario,
які з'яўляецца метадам, які можна было б назваць кожны раз, калі мы націскаем кнопку Ачысціць.
Такім чынам, у нашым самай справе код, давайце проста Змесціце вынік тэкст і выгляд выхадны
ў нішто, і, такім чынам гэта будзе выглядаць як ясна.
У дадатак да гэтага, давайце створым іншы метад, званы runMario.
Эх шкада, што не павінна быць уласнасці.
Добра, што павінна быць дзеянне, а таксама.
>> І калі гэта функцыя называецца, мы проста запусціць Марыё дзесяць.
Спадзяюся, што ўсё будзе ў парадку.
Ці скампіляваць так?
Так.
Цяпер у нас ёсць уяўленне.
У нас ёсць выхад.
І давайце паглядзім, што атрымаецца.
Гэта пайшло.
Ён вярнуўся зноў.
І вось мы паказалі якія функцыі
будзе выклікацца, калі мы ўводзім ў чым-то,
калі мы націскаем на пэўную кнопку.
Гэта, у асноўным Схема дзеянні мэтавай
для кіраваных падзеямі, праграмаванне ў Objective C.
>> У дадатак да гэтага, гэта не вельмі цікава
таму што мы не можам змяніць як высока піраміда будзе,
такім чынам, мы, верагодна, хочаце, каб нейкім чынам атрымаць ўвод ад карыстальніка
і змяніць вышыню піраміда заснавана на тое, што яны выхад.
Так што мы збіраемся зрабіць гэта.
Так што гэты час, калі мы называем runMario, мы не проста напрамую патэлефанаваць Марыё.
Гэта свайго назву.
>> Дэлегат.
Гэта вельмі цікава.
Што такое дэлегат?
Я збіраюся паставіць сябе тут.
І мы збіраемся, каб убачыць што гэта значыць пазней.
Дык вось у нас у асноўным створана Канкрэтны асобнік называецца папярэджанне UI
Прыгожы выгляд.
Паглядзець папярэджанне карыстацкі інтэрфейс у асноўным тое, што вы будзеце
см кожны раз, калі што-то трэск і запытвае ўвод,
Падабаецца тое, што адбудзецца, калі вы спрабуеце купіць што-то на App Store.
>> У дадатак да гэтага, пасля таго, як вам стварыць яго, мы проста паказаць папярэджанне.
Добра, давайце проста хутка Тэст будзе, што праца ці не.
Гэта вельмі выдатна.
Зараз давайце на самай справе стварыць Поле для ўводу напагатове карыстацкага інтэрфейсу.
Гэта, як мы робім гэта.
І мы павінны мець ўваход прадстаўленне для напагатове.
Вельмі выдатна.
Давайце проста скажам, 10.
>> Гэта нічога не робіць зараз, таму што выклік на самай справе
не зьмяняць для выканання Марыё.
Так што гэта стала крыху крыху дзіўна, таму што кожны раз, калі
ціснем кнопку ўніз, калі мы націсніце кнопку ў абвесткі думку,
што-то павінна здарыцца, але гэта не адбудзецца.
Як мы ўлавілі?
Як мы ведаем, што карыстальнік звольніў з папярэджаннем выгляд
і ўжо ўвялі нумар, таму што Прама зараз нічога не адбываецца на самай справе.
>> Ну, вы ўжо здагадаліся, гэта права, дэлегацыя.
Такім чынам, у дадатак да ўсяго Гэтыя заявы,
мы павінны дадаць новую дэлегацыю гэта называецца UI Alert Паглядзець дэлегаты.
Так што кожны ўзаемадзеянне або падзея
што мы будзем мець з мэтай папярэджання UI
будзе апрацоўвацца нашай прафесіі.
>> Такім чынам, у дадатак да гэтага, будзе Кнопка прагляду Націсніце абвесткі па індэксе.
Гэта дасягаецца.
Так што ў гэтым выпадку мы маем already-- таму ў нас ёсць
выявілі пратакол, які будзе апрацоўваць падзея, калі
мы націскаем на кнопку Гатова на абвесткі гледжання.
Такім чынам, кожны раз, калі мы звольніць папярэджанне думку, гэта павінна было адбыцца.
Дазвольце мне праверыць яго вельмі хутка.
Ну на самай справе, мы дасягнулі тут.
>> Дык вось, тое, што мы не будзем на самой справе атрымаць на самай справе
атрымаць the-- Таму мы хочам, каб выйсці Тэкст, які мы маем раней
увайшоў у папярэджанні гледжання.
І на аснове тэксту, мы будзем паказваць Марыё.
Гэта вельмі хутка аказваецца калі яна сапраўды працуе ці не.
Такім чынам, у гэтым выпадку, калі ўваходны сігнал, скажам, 10, то мы павінны ўбачыць 10.
>> Вельмі добра, у нас ёсць нумар тут.
Гэта вельмі добра.
Цяпер апошні крок будзе be-- Так апошні крок, які трэба зрабіць прама цяпер,
проста патэлефануеце Марыё з Ўзровень на аснове дадзеных,
што мы ўклалі ў абвесткі гледжання.
Такім чынам, мы павінны пераўтварыць Гэты радок у IOS.
Статычны перапаўненне вельмі дзіўным.
А потым мы проста называем сябе Значэнне marioWithLevels.
Давайце паглядзім, ці будзе гэта на самай справе працуе ці не.
>> Мы ўжо далі піраміду.
Давайце паспрабуем змяніць вышыню.
Гэта на самай справе працуе.
Гэта вельмі выдатна.
Так што цяпер вы можаце проста Калі ласка, увядзіце любое значэнне, якое вы хочаце.
Давайце проста скажам, чатыры.
Гэта даволі дзіўным.
Так што гэта ў асноўным вельмі хутка прыклад
аб тым, як стварыць праект у ы кода і як на самой справе хутка злучаць
некаторыя сапраўды простыя падзеі і функцыі.
>> Такім чынам, крыніца будзе каб паставіць онлайн пазней.
Так што, калі вы зацікаўлены у тым, як IOS Марыё працуе,
Я збіраюся паставіць сапраўды такі ж праекты на вэб-сайце CS50 пазней.
Мы ў асноўным робіцца з летам, і перш чым мы скончым
Я проста хачу, каб паказаць вам, хлопцы, некаторыя сапраўды дзіўныя рэсурсы, якія
даступныя ў Інтэрнэце.
>> Відавочна, дакументацыя Apple, будзе вельмі карысна.
Але ў дадатак да гэтага, асабліва мне рэкамендаваць чатыры крыніцы, код школьныя,
дом дрэва, AppCoda і WWDC відэа.
Код школа і дом на дрэве з'яўляюцца два онлайн сайты Выхаванне,
якія прызначаны, у першую на распрацоўцы праграмнага забеспячэння.
Спецыяльна для кода школе, яны ёсць сапраўды добры падручнік па МО.
>> Гэта сапраўды просты прыклад для гэтага.
Яны на самай справе стварыць сапраўды cute-- паглядзець на гэтай маленькай мілай iPhone
чувак там, гэта даволі дзіўным.
І як яны тлумачаць Мэта Сінтаксіс C зусім ясна.
Дрэва Дом ж.
І AppCoda з'яўляецца форум.
Гэта на самай справе блог, які быў запушчаны на самай справе адчуваў Objective C
праграміст.
І ўсе гэтыя падручнікі ў AppCoda з'яўляюцца даволі кароткі і просты ў рэалізацыі,
Настойліва рэкамендуецца.
>> І калі вы распрацоўшчык, вызначана пайсці праверыць
як відэа WWDC, дзе вы можаце даведацца пра апошнія праграм IOS
метады, API і бібліятэкі.
Так што гэта ў значнай ступені гэта за семінар.
Дзякуй вялікі.
І я спадзяюся, што вы весела стварыць свой уласны прыкладанне IOS.