>> Рхед Ши: Добродошли види ЦС50 семинар -
Увод у иОС.
Хвала свима што сте дошли.
Надам се да си баш као узбуђени као што сам ја о иОС.
Прошле године, ја узео ЦС50 као студент друге, и ја научио у основи иОС за мој
коначни пројекат.
И то је прилично -
добро, није било лако, али постоје много подршке туторијала онлине.
И ја се надам да са тим Семинар, даћу ти момци главу
почети на иОС развој
>> Дакле, у смислу иОС развоја, постоје две главне ствари које
Желим да покрије данас.
Прво, језик -
језик ће бити у Објецтиве-Ц. Ми заправо ћемо чути
нешто заиста узбудљиво.
Дакле, можете се придружити цео Аппле заједница програмера и изгради неки
заиста страшан апликације.
>> Такође, иОС 7 је лепа, надам се, некима од вас.
Али то је контроверзно, ја знам.
И углавном, оно што ја желим да урадим је за употребу ти кроз Објецтиве-Ц, а такође
Ксцоде, који је интегрисана развојно окружење које ће бити
раде у иОС.
>> И тако, само реч о Објецтиве-Ц. У суштини, то је потпуно исти као и Ц,
али са много других ствари.
И тако, више строго, то је заправо супер сет од Ц. Дакле, све што сте
може да уради у Ц сада, који је у основи свиђа псет 0 до 6, ви
може да уради у Објецтиве-Ц.
>> Дакле, не осећају плаши за ово ново језик да ћеш научити.
Већ сте покривени доста тога, јер сте сви урадили Ц Ова прошлост
семестар, осим сада идеш да имају много више да раде са.
И само ћу вас водити кроз пар примера да истакне неке
од кључних разлика које сам нашао су били стварно важно када сам сазнао
Објецтиве-Ц прошле године.
>> Па заправо, тако, друга тачка је, Објецтиве-Ц је, очигледно,
објектно-оријентисани.
И ми ћемо разговарати мало шта то значи касније.
У суштини, то је као да сте радили како са Структуре у овом протеклом псет, са
чворови и сл други такве ствари.
Осим, у Објецтиве-Ц, све је објекат, а ти ћеш бити
пролази око показиваче на објекте уместо самих вредности.
Дакле, то је само нешто важно имати на уму.
>> Па, зашто не бисмо почели са неколико разлике у синтакси између Ц и
Објецтиве-Ц?
Желим да се истакне # инцлуде, ви Знам, стандардна ио.х у Ц и Ц + +, са
Објецтиве-Ц верзија тога, што је # увоз, а затим нека врста
хеадер фајл.
У овом случају, било би УИКит, знате, сласх УИКит.х.
То такође може бити, знате, МКМапвиев да ти смањи МКМапвиев.х ако желите
да уради, као, мапу унутар вашег апп.
Сличне такве ствари.
>> Дакле, важно је укључити је сада променио за увоз.
Али идеја и даље остаје.
Идеш да се увози неку врсту од заглавља датотеке у вашем програму.
>> Такође желим да истакнем разлику између принтф и НСЛог.
Међутим, као што смо раније рекли, Објецтиве-Ц је строга супер сет
Ц, што значи да постоји принтф у Објецтиве-Ц, такође.
Али, већина људи не користи то.
Већина људи користи ову НСЛог јер је даје податак о времену, па ћемо видети
она у акцији касније.
Али, то је генерално више користан начин да одштампате променљиве.
>> И ја такође желим да истакнем да НСЛог узима у исто
чувара места вредности као принтф ради -
па% д је за инт, % Ф је за пловак.
Међутим, ја желим да истакнем ово веома последњи -
НСЛог% на знак -
да је чувар места за објекат.
И као што сам раније рекао, Објецтиве-Ц бави прилично углавном у објектима,
и тако ће доћи у употреби када желе да штампају, можда, можда
НСАрраи, или НСДицтионари, или НССтринг.
>> Дакле, такође, приметити да, у нашем НСЛог изјава, имамо на знак испред
од цитата -
то је да означи тај жице, сада, у Објецтиве-Ц су објекти.
Они више нису само Чар звезде.
Они су објекти и су третирати као такве.
>> Дакле, то је заиста важно да када користите НСЛог је потребно у НС
ниска, што значи да ћете имати да укључи АТ испред ваше
наводници.
И то је разлог зашто видиш, овде, у свим моја функција позива на овај НСЛог, ја
имају АТ испред наводника, чак иако% д и% ф је су
све исто из Ц.
>> Има ли питања до сада?
Ја ћу покушати да прођемо кроз ово брзо тако да можемо да имамо више времена за рад
са Ксцоде и Објецтиве-Ц, тако да ви можете да добијете више
упознати са њом.
>> Даље, желим да нагласим нешто концептуално важно.
Дакле, у Ц, већина ствари су функције.
Правимо функцијски позив.
Ми изјављујемо функције на овај начин, са укуцајте повратак прво, онда
име функције, заграде, а затим без обзира на аргументе и тип
ови аргументи желимо да прође унутра
И Објецтиве-Ц, јер је све је објекат или класа -
па класа и објекат су два термина који су углавном синоним једни са другима,
па ја могу да их користе наизменично током семинара.
>> Али, видећете да имамо методе у Објецтиве-Ц, а не функције.
И методе припадају објектима.
Дакле, само као, можда узети на пример, чвор -
наша врста [ИНАУДИБЛЕ]
чвор из псет 6 или 5 -
имамо реч, имовину, или следећи чвор показивач.
Методе су једноставно функција унутар неких врста структуре.
>> Дакле, у овом случају, структура ће бити објекат, а затим метод
нешто што припада објекту.
А ово је како би прогласити, врста, метод.
Ти би почети са, опет, повратак Тип - па, покушао сам да боји
кодирају кључне речи овде, тако да ви може да види, барем, форматирање
сличности између функције декларације и декларације метода.
Дакле, ви почнете са, знате, повратак Тип - у овом случају, то је низ, или
НСАрраи показивач -
а онда имате овај метод.
А онда, оно што је занимљиво је овде да уместо заграде, ми
имају ове двотачке.
И онда, пред нашим аргументима, ми пут, опет, у загради тип
наше тврдње.
>> Дакле, сада покушавам да поређење између, знате, н и
број, зато што су обе воле интс.
А онда, други је тип НСУИнтегер.
А онда, са Објецтиве-Ц, те када желе да имају вишеструке аргументе у
метод клаузула, ти, некако, одвојите их некако овако -
Нисам сасвим сигуран како да га опишем, али ово је добар пример како се
може да има више аргумената у тамо.
>> Могао би, наравно, само тотално игноришу андАрраи дебело црево НСАрраи
Низ ако сте хтели само метод који узима у једном аргументу.
Да, питање.
>> ПУБЛИКА: Да ли су оба НСУИнтегер и НСАрраи аргументи који се могу предузети у
унутар НСАрраи?
>> Рхед Ши: Да.
Дакле, дозволите ми да објасним.
Дакле, да.
Дакле, питање је било НСУИнтегер су и НСАрраи * врсте аргумената,
и то је тачно.
Дакле, увек желите да одредите шта тип вашег аргумента.
И овде, ја покушавам да вас упознам на неке од синтаксе и Воцаб од
Објецтиве-Ц, тако да они који су стварни типови да ћете се бавити.
>> И као што ћете приметити, низови нису више, некако,
једноставне ствари носач.
Они су објекти.
Мада, ако ћемо ићи на следећи слајд, можемо видети да можемо
тешко код НСАрраи у Објецтиве-Ц са једноставно у симбол испред
заграде.
Нисам, заправо, сасвим сигурни да ли Ја синтаксички хард-цодед низ
исправно за верзију Ц, али то је требало да буде у Ц низу.
>> Дакле, ово је како би, знаш, можда користити функције или
Методе које смо раније креирали.
Зар не?
Дакле, ово је место где ћемо прогласити наше функција и наш метод.
И сада желимо да их користимо у наш програм, а то је
како би ми то радимо.
Дакле, у Ц, ти би, знаш, можда, боол Б, а ви га подесите да
једнаке функцију, а затим прође у аргументима.
>> У Објецтиве-Ц, то је прилично много иста ствар.
Имате НСАрраи * ми_арраи, и то је ће бити једнака - сада, једини
Разлика је овај објекат ствар, који сам истакао у жуто, и
као што можете видети, у Ц, ту је ниједна друга жута реч.
А то је зато што методе припадају са одређеним предметом.
Зато ми треба да има објекат да, на неки начин, назива овај метод на
број нула, а затим НСАрраи, б, ц, д.
Има ли питања о томе?
>> Видећемо ове концепте у акцији Ускоро када идемо у демо.
У реду.
Сада, желим да укратко кажем нешто о кцоде 5, који је
интегрисано развојно окружење да ћете радити са.
Знам доста вас, или неки од вас, немају Мац, што је проблем
јер Ксцоде није доступан за Виндовс и ПЦ.
Не питајте ме зашто, али вероватно -
Да, корпоративни.
Како год.
Али у сваком случају, па, ја се извињавам ако је неко од Ви морате да преузмете неку врсту
виртуелна машина за Мац у наређење за покретање Ксцоде 5.
Али, то је прилично диван софтвер за коришћење.
>> И тако, пре него што зароните у било које врсте од демо, ја само желим да вам покажем један
слика онога Ксцоде изгледа у вашем прозор, а затим такође разговарати о
шта је ово цео простор је.
Дакле, то је као учење како да се користите Мицрософт Ворд, осим желите да
се упознају са свим различите ствари које
се овде дешава.
>> Дакле, прво, желим да вам тачка на траку са алаткама на врху.
Видећете да је, на врху, имаћете назив датотеке -
или, заправо, ваше име пројекат а онда ваш име датотеке.
Обратите пажњу на представе и запорние дугмад.
То су оне које ћете бити користећи за покретање апликација на
Симулатор -
иОС симулатора.
То аутоматски долази са кцоде 5, тако да не морате да бринете о
преузимање неку врсту симулатору.
Само притисните дугме за репродукцију и онда се покреће апликацију.
А можете се играти са вама, и ви ћете видети како то функционише касније.
>> А онда, у центру, наравно, није где све ваше лепе кода је
да идем.
А онда, на левој страни, ви ћете имам ово, некако, фасцикла -
навигација -
а затим, такође ћете видети да, уз са иконом фолдера, постоје
гомила других икона које тамо ће бити корисно касније.
>> А онда, на десној страни је услужни област где можете да радите са
неки од објеката и одредите, те Знам, шта би требало да буде боја, што
Фонт текста треба да буде, и тако даље.
Мада, све што радите у комуналном подручју, можете
урадити у коду, као добро.
И тако, ја ћу да идем кроз два примери коришћења, једноставно, нема код на
све - или врло минималан број -
стихови свега код, само да ви Знам шта можете и не може да уради у
Ксцоде и Објецтиве-Ц.
>> А онда, на крају, доле на дну, имате дебуг област.
Дакле, више не морате да покренете гдб, и тако даље, на својим програмима.
То аутоматски то ради за вас.
И ви такође можете да одштампате ствари на овом подручју.
Па заправо, касније, идемо кроз марио.ц, ако ви још увек сећам
да у кцоде.
Тако да би требало да буде забавно.
>> А онда, само да га врати на Објецтиве-Ц, желим да нагласим оно што
можете да урадите са изјавама ако.
Дакле, знате, јер Објецтиве-Ц је надскуп Ц, све што радите је,
буквално, исто као Ц. сте управо има мале разлике.
Дакле, ви ћете приметити образац за ако изјава је и даље исти - ви имате
ако, а онда имате заграде са стање унутар, то и онда
цурли протеза за шта год желите да урадите унутар тамо.
>> Међутим, хтео сам да ставим овај слајд горе овде, једноставно да илуструјем да,
јер имамо посла са објектима сада, ћемо морати да користе те ствари
назива као, је једнака стринг, који је, случајно, метод
стринг или НССтринг објекат.
Дакле, реч, у овом случају, је НССтринг објекат, и има метод назван је
једнак стринг, а онда смо, пролазећи у хард-кодиране ниске да види
да ли су то једнаки једни другима.
>> Има ли питања до сада?
У реду.
И, ја желим да идем преко за изјаву такође.
>> Тако, на пример, ако бисмо желели да петљи по дужини стринга у Ц, ово
би требало да буде познато.
И, у Објецтиве-Ц, ја не желим да се истакне то, некако,
метод звао кол.
Па, у ствари, нека ми само узети то назад.
Тачка је метод низа.
Међутим, то је прецизније имовина низа, због чега сте
могу користити дот нотацију.
Али ја не желим да улазим у превише ово концептуални ствари, само желим
да вам показати како ће се ствари изгледају као у Објецтиве-Ц у односу на Ц.
>> И такође, желим да истакнем да иако сам користећи НСУИнтегер
испред свих мојих Ја их у Објецтиве-Ц, можете користити инт, инт јер је
потпуно важи у Објецтиве-Ц, такође.
Да?
>> ПУБЛИКА: Да ли је то само стилски, или је -
>> Рхед Ши: Да.
Дакле, као што ћете видети -
тако, питање је било да је само стилска питање.
Као што ћете видети, ја имам, рецимо, звезда Звездица ствар доле на дну, и
да веза вас води на Стацк Оверфлов формирају, где неко објашњава
разлика између инт у НСИнтегер и НСУИнтегер.
И тако, можете да прочитате о томе касније.
Ови слајдови ће бити, наравно, располагању.
>> Хајде да видимо.
Ок, супер.
Дакле, ово је такође укључена у слајду јер сам мислио да је ово одличан
сајт који вас уводи у Објецтиве-Ц синтакси.
Дакле, у ствари, зашто не кренемо да Хром и проверите овај сајт?
>> Право.
Дакле, оно што желим да ти покажем Момци овде је то слика.
Дакле, ово је, на неки начин, оно ће бити идете да видите унутар било
Ксцоде фајл.
Заправо, зашто не бисмо узети тренутак да се, некако, узми ово унутра
>> Дакле, ова књига -
То је објекат који бавимо.
И онда, то је очигледно ће бити наследио од неког другог објекта, али
Ви не морате да бринете о томе.
И онда, то, можда, има неке чланице променљиве.
>> Важна ствар коју желим да вам покажем је методе пример, овде.
Дакле, методе инстанце су означени овим знаком минус.
И онда, као што ћете приметити, ми смо већ почиње да види парадигму
за декларације метода, зар не?
Повратни тип, назив методе, и затим врста аргумента, и
затим име аргумента.
И то знак минус значи да је пример метода, што значи да
Ове методе су доступни само предмети који су инстанце.
>> Да контраст који, методе са плус пријавите испред њих су класа
методе, што значи да можете позвати ове методе, чак и ако немате
објекат креиран још.
Дакле, на јасан пример, НССтринг је класа.
И ви можете звати, на пример, методе класе на НССтринг -
стварна, као, реч НССтринг.
>> Међутим, да би се користили ови методе, ви у ствари
Потребно је да креирате стринг.
На пример, НССтринг звезда стринг једнак у наводнике, здраво свет.
А онда, можете да користите ове методе -
методе инстанце -
на том Хелло ворлд стринга.
Дакле, то је разлика између методе и методе инстанце класе.
>> И, ми смо само покривен овај део.
Некретнине су још једна ствар која се унутар објеката, у основи.
А ти их прогласи са на имовину кључну реч.
Имате ове опције, овде, да ћу објаснити касније, када
идемо у демо.
Да?
Здраво.
>> ПУБЛИКА: Можете ли зумирате, молим вас?
>> Рхед Ши: О, да.
Извините.
>> ПУБЛИКА: Хвала.
>> Рхед Ши: То би требало да буде много боље.
>> ПУБЛИКА: Да.
Хвала.
>> Рхед Ши: Да, молим вас да ме подсетите ако Заборавио сам да увећате или умањите.
Дакле, ово је све што сам желео да вам покажем за -
хеј, то је много -
за овај сајт.
Дакле, хајде да се вратимо на наше слајдове.
>> Заправо, сада хајде да на тренутак да зароните у демо.
Дакле, ми ћемо почети са нови Ксцоде пројекат.
Дакле, ако ћете отворити Ксцоде на све ваше машине, он би требало да ти узме неки
страна где се каже, као, било отворено до постојећи пројекат или нова
пројекат, а ви треба да кликните нови пројекат.
И онда, то би требало да да овај екран.
Да?
>> ПУБЛИКА: Ако немамо Мац, немој ми само мало смири?
>> Рхед Ши: Или погледајте на са неким, да.
Да.
Можете да се смири, превише.
У реду.
>> Дакле, шта ћемо прво урадити, сада, је, заправо, идемо да радимо
један поглед апликација.
Дакле, ако ћете приметити, што је супер о Ксцоде и подршку за Аппле
програмери је да имате много шаблони за рад са већ.
Ти би, на пример, да мајстор-детаљ апликација.
Можете направити игру -
и заправо, нећу ићи у играма, јер игре су друга прича
за иОС развој.
И они некако раздвоји, па ја не улазим у то.
>> Затим, имате страницу на бази апликације.
Имате апликацију картице -
па бих, на пример, Банк оф Америца вероватно има, као, на апликацију картицама.
То су оне где морате дугмад на дну.
И онда, имате Спрајт Кит игру.
>> Или можете да радите од нуле, који је оно што ћемо урадити касније.
Али хајде, прво, почети са један поглед апликација.
Затим, то ће питати за име производа, и можемо само да уради тест.
Име организације -
тако, организација име, Компанија идентификатор -
они су важни, ако идете да стави своју апликацију на Апп Сторе.
Осим тога, ваша шифра ће покренути апсолутно добро и без тога.
>> Ово ће бити важно ако желе - тако, по себи, као, стави апликацију
на ваш телефон или нешто, и теста то се, знате, у стварном животу -
ово ће бити важно.
Ово има тенденцију да обично повезан са неки од програмера рачуна
са Аппле.
>> И тако, ја знам, вероватно, много вас неће имати никакве девелопер рачуне.
Знам универзитет има један.
Мислим да има један ЦС.
Али, можеш ми е-маил и ја ћу пробати да схватим да се за тебе.
Али сада, ја сам само ставио у неке ствари овде. чувара места
>> И ви можете, наравно, овде, изабрати да ли желите да то буде искључиво у
иПхоне, иПад у, или обоје -
универзална примена.
Дакле, за сада, хајде да урадимо универзалан, само да види обе стране платформе.
>> Хајде да видимо.
Дакле, сада, ја ћу да сачувате она у некој врсти фасцикле.
Није битно где - те могу увек га преместили касније.
И, сада, ми смо донели нашем кцоде пројекту.
Ја не бих бринуо о свему овоме.
Предложио бих не додирује било који од ово, осим ако тачно знате шта
радиш.
Дакле, све ово, само игнорисати за највећи део.
Нећете морати да га додирне, а ако Да ли се неред неке ствари овде, она
добија мало лукав.
>> Дакле, зашто не можемо погледати у датотеке на
лева страна у нашем навигатор.
Ево, имамо АппДелегате.х.
Имамо АппДелегате.м тако, као што ћете Обавештење, ми смо хеадер фајлове који
завршава у дот х, а ми имамо имплементација -
заправо, пусти ме унутра зоом
У реду.
Пусти ме унутра зоом
>> Право, па сте хеадер фајлове и имате имплементације датотеке.
Заправо -
У реду.
То је мало чудно, али носе са мном.
Затим, зато што смо одабрали један приказ апликација, ми ћемо бити
рад са Сторибоард.
>> Дакле, сторибоард је нешто што Аппле је дошао до заиста помогне
програмери брзо прототип њихова примена.
Дакле, ово је место где можете да креирате апликација без писања
једна линија кода.
Међутим, у нашем једном приказу апликације, ми, наравно, имају
филе за наш поглед, који је поглед контролер.
Дакле, имамо заглавље и имплементација фајл, овде.
>> А, ја ћу да умањите сада јер ћемо морати да радимо на монтажној траци.
Дакле, овде је наш став.
Ако смо, једноставно, покрените апликацију одмах, нема много узбудљиво дешава.
Дакле, видећете овај бели екран.
ОК?
>> И, у нашем комуналном подручју, можемо додати гомила различитих ствари на њега.
Дакле, када имате посла са екранима у иОС, виев контролери су
објекти који обухвати, врста, ваша гледишта.
Дакле, поглед контролер увек има имовину зове поглед.
И то поглед, обично, садржи, знате, шта сте
Желим да видим на екрану.
>> Дакле, добро, хајде да почнемо тако што, можда, можда етикета.
Дакле, хајде да стави ознаку на тамо -
држати га у средини.
Дакле, сада када сам кликнуо на етикети, ја могу да иду у својства инспектора
и почети мења своју вредност.
Назовимо то ЦС50 боје.
>> А, ја Такође можете променити фонт.
Дакле, уместо да ради систем, који је подразумевани, можемо да урадимо прилагођену један.
Можемо променити -
знате, УлтраЛигхт, чине га 32.
И онда, можемо направити наше кутија већи.
>> ПУБЛИКА: Да ли мислите да можете да зумирате у само мало више, можда?
>> Рхед Ши: Да?
У реду.
>> ПУБЛИКА: Само додирните?
>> Рхед Ши: Да видимо.
Да ли овај посао?
>> ПУБЛИКА: Само проћи Ксцоде?
>> Рхед Ши: Наравно.
У реду.
Страва.
>> ПУБЛИКА: ознака испод?
Ознака?
>> Рхед Ши: Шта је то?
>> ПУБЛИКА: Шта Падајући је ознака испод?
>> Рхед Ши: Дакле, питање је било, шта Падајући је ознака испод?
То би требало да, једноставно, бити под овде.
Претпостављам да је то коцка ствар.
Али обично, то је стандардна -
Само ћу овде док не нађем ознаку.
Да.
>> Дакле, сада, имамо ознаку.
Хајде да га центрирате.
И Ксцоде нам даје смернице за центрирање објеката.
Дакле, хајде да сада поново покренете наш код.
>> Тамо идемо.
Дакле, имамо ЦС50 Боје.
А сада, хајде да стави дугме тамо, зар не?
Зато што желимо да Овај интерактивни.
Дакле, хајде да стави овде дугме.
И ми ћемо назвати овај дугме "славину овде да настави. "Ми ћемо га центрирали, такође
Заправо, то је већ центриран.
Да.
>> Дакле, сада имамо дугме.
И ако ми поново покренути ово, идемо да имају овде лепо мало дугме.
И ја могу да кликнете, али то не радим ништа, јер нисмо урадили
нешто са дугметом још.
>> Дакле, хајде да креирате други поглед, зар не?
Дакле, хајде да кажем да желим да тапнете који тастер и ја желим да
иди на другу страну -
други поглед.
Оно што ћу да урадим је, ја могу да креирају поглед контролер, зар не?
Сада ћу кликните на дугме мом, а затим, Важно је, ја ћу да
кликнете - или -
Да, притисните контрола на мојој тастатури.
Контрола.
Кликните на дугме, а затим превуците.
>> Дакле, не заборавите да држите управљачки тастер.
Хајде да то урадимо поново.
Дакле, држите контролу, кликните на дугме, и превуците на оно што желите да урадите.
У реду.
>> И сад, ја имам неколико опција овде.
Ја могу или гурати, или ја могу да урадим модални, или ја могу да урадим обичај.
Воки је само ако имате навигација контролер.
Управо сада, наш први поглед контролор није било унутра
навигација контролер.
Дакле, навигација контролер је један који вам даје задњу дугме на
иОС апликација где имате, знате, да врх, некако, дебљине бар -
где можете ићи уназад, или напред, и тако даље.
Управо сада, ја не морам да.
И тако, зато ја не могу да урадим воки.
>> Дакле, кликнуо сам на пусх случајно, овде.
И заиста, хајде да покренете код, и требало би да се сруши на мене.
Само ако притиснем дугме мада, тако -
у праву.
Дакле, ово је лоше.
>> И, као што видите, овде, ми смо имају поруку о грешци.
Дакле, "Пусх сегуес може да се користи само када извор контролер управља
инстанца УИ навигационог контролера. " Дакле, зато што то није био унутар
навигација контролер, Нисам могао то да урадим.
>> Дакле, сада, ја идем назад у фасцикла, враћајући се Сторибоард.
>> ПУБЛИКА: Шта је навигација контролер, поново?
>> Рхед Ши: Дакле, сада ћу ти показати.
Хајде да видимо.
Дакле, ја ћу да кликнете на овом приказу контролер, а онда ћу да одем
до производа -
заправо, не, извините - уредник.
И ја ћу да идем у -
заправо, да ли сам кликните на њу?
Не.
Тамо идемо.
Ја идем горе у едитор, иди доле уградити у, а затим навигација
контролер.
>> У реду.
И, мој радни простор изгледа стварно неуредан, па хајде да почистим ово.
Дакле, све ово је Сторибоард.
И на овај начин -
Ок, стани -
Ја брзо може да изгради нешто овако.
А онда, сад могу да се вратим, знаш?
>> Али, то је некако досадно, зар не?
Дакле, оно што ја желим да урадим је, ја не желим да, једноставно, поглед
контролер.
Рецимо ја хтео да заправо чине сто поглед контролер, тако да могу ставити у
неке лепе боје, у табели.
>> Дакле, сада када сам ставио у мом мишљењу табеле контролер, морам да га повежете назад
из овог дугмета на поглед контролер.
Зато морам да радим свој контролу, клик, превуците ствар поново.
И сад ја могу да урадим притисни, јер сам уградите то унутар навигационог контролера.
>> ПУБЛИКА: Навигација контролер само вам омогућава да иду од места до места?
>> Рхед Ши: Да.
Дакле, више технички, то је објекат где -
тако, унутар навигацију контролер објекат, она
води евиденцију низа.
И то има низ све накнадне видите контролере.
Зато кад си се вратио притиснете, она враћа се на претходну страну.
Јер навигација контролер објекат, или код који брине о
овај објекат, има низ који држи пратите ових приказивање контролера, и
да онда, знате, дк поглед контролер и дају вам назад
претходни.
>> Дакле, ово је технички ствари, али -
и ја ћу вам показати касније у код, ако имамо времена.
Ја сам некако истиче на време, али -
>> Дакле, са погледом табеле, шта можемо да урадимо јесте -
То је обично аутоматски подесити на Динамиц Прототипе -
ћемо то учинити Самолетов Ћелије, иначе ћемо
наиђете на неке проблеме.
>> А онда, рецимо идем да имају једну секцију.
Дакле, секције је као -
ако сте икада видели музички апликацију, када имате уметници, секције би
бити да кроз З'с -
слова -
а онда, знате, појединац редови ће бити имена уметника.
И тако, шта је кул овде, јесте да ја могу приступ свим објектима унутар
моје раскадровки кроз ово падајући мени, превише.
>> Дакле, ја ћу да кликнете на мојој секцији, и ја желим, знаш, можда пет редова.
А онда, унутар сваког реда, Желим да стави ознаку.
И ја ћу да позовем ову Блуе.
И онда, ја желим да ставим УИ поглед, ти знам, можда за, као, малу кутију.
>> Тако да ја могу да покажем људима преглед боје.
И ја ћу се вратити на имовину ићи и промените ту боју, ох, ја не радим
Знам, овај.
>> А онда, такође приметио, овде, када сам прибор, могу имати много
различитих прибор који обично видиш.
Индикатор обелодањивање, детаљ, или квачица, или једноставно само детаљ.
Дакле, можда можемо да урадимо, као, откривање индикатор, на пример.
>> И онда, зашто не узмемо ове, копију залепите их, и стави их у
Следећа табела ред.
Дакле, можемо назвати Иеллов.
И ја можда морати да продужи ово.
Нека буде жута.
И на овај начин, можемо да копирате пасте наш пут доле.
Шта је то било?
Љубичаста.
>> Дакле, то су све типичне ЦС50 боје које сте видели у класи -
заправо, ми -
или на сајту.
Надам се да сте се видети шта ја радим овде.
У реду.
Последњи један.
>> ПУБЛИКА: Како сте додали ред у почетку?
>> Рхед Ши: Дакле, питање је, како да ли сам у почетку додати ред?
Отишао сам у овом делу табеле - или ипак могу
изаберите одељак табеле -
а онда, овде, ја ажурирају број редова.
>> И, дозволите ми да се надам да ово ради.
У реду.
Да видимо да ли ово ради.
О, савршено, феноменално.
У реду.
Док сам градио мој демо, неке ствари нису усклађени, тако, хвала за
аплауз.
>> Да.
Дакле, хајде да видимо.
Ми ћемо направити овај девет само да би је све - или, заправо, хајде да
претворити све то у откривању индикатори.
А онда, оно што желим да вам покажем, такође, је како ја могу узети сваки од оних
Редови табеле и имају их у интеракцији -
ох.
Не.
>> О.
Такође, желим да вам покажем -
овде, ја могу ставити наслов мог навигација контролер, зар не?
Па заправо, ви ћете приметити, чим сам уграђен овај приказ Цонтроллер Инсиде
навигационог контролера, видимо ово трака за навигацију на врху наше
Сторибоард заступање приказа контролера.
И тако, ово нам даје, као, визуелни, некако, водити нашем видљивом екрану.
Ово је очигледно ће бити трака за навигацију.
>> И шта ја желим да брзо уради, Сада, се ставља у други -
па ово сто поглед контролер сам по узимајући један од њих и превући
овде, и то је оно што ми је дозволио да брзо, заиста, креирате приказ табеле
контролер.
Ако имамо времена ипак, ви ћете види да је, програмски, то је
мало незгодно да креирате табелу поглед контролер, јер тамо
су неколико метода које су потребно за вас да, на неки начин, пишу
у би приказу табеле контролер да буде исправно приказан.
>> Међутим, само желим да вам покажем, сада, пример где, ако узмем ово,
на пример -
Ја сам ставио у други вид контролера.
А сада, хајде да кажем да желим да контролишу алт своју прву плава
табела ред довде.
И ја желим да позовем ову Блуе.
А онда -
хајде да видимо.
Ја сам у приказу сада, а ја могу променити позадина на плаво.
>> И тако, обавештење, овде, овај падајући Мени такође даје хијерархију све
ових објеката.
Дакле, важно је напоменути, овде, је да све ове ствари, овде -
ово сто поглед контролер, табела поглед, сто поглед секција, сто поглед
ћелија - све су то објеката, у коду.
Дакле, знате, етикета сада је под поглед садржај, и тако даље.
Тако даље и тако даље.
>> Дакле, ако смо покренули овај код, ми Требало би да видите нешто -
хајде да видимо да ли то - да.
Дакле, тамо идемо.
Али, ако ми то не радимо, нико од ове друге ствари раде.
Зар не?
Дакле, само овај један ради.
А, због времена, ја нећу иду у, знате, стављајући
доле других.
И то је крај, врста, Сторибоард -
оно што сам хтео да покажем ти за Сторибоард.
>> А, ја имам разрађену пример, заправо, овде.
Дакле, ово је Сторибоард да сам раније направио.
Дакле, као што видите, ово је моја навигација контролер.
Тада сам имао свој први приказ контролер, тада сам имао свој сто приказ контролер,
а онда сам морао све ово -
па раније, радим нешто сасвим другачије.
Дакле, извини те ствари.
Вероватно ћу га очисти пре него касније Ја га испратити до производње.
>> Али, ако смо покренули ово, видећемо да све опције су
на располагању за нас.
Осим Нисам направити позадину те боје.
Дакле, лепо једноставна апликација.
>> Сада, хајде да покушамо да се позабаве ово програмски.
У реду.
Дакле, да се то уради, ми ћемо само да започнете нову кцоде пројекат.
Ми ћемо то учинити сада празан апликација, јер не желимо да имамо
Сторибоард.
Дакле, ја само себе ограничава да не користити било који од раскадровки, и
празан апликација неће дај ми Сторибоард.
Ово је само да би се спречило ја из варање.
Хајде да видимо.
Чекај.
Да ли сам ја -
Да.
У реду.
>> Право.
Дакле, овде, ми смо оставили са ништа друго него код.
Дакле, да пређемо овај прозор нешто више.
Право.
Као што можете видети овде, једине датотеке смо дали су АппДелегате.х и тачка
м, а немамо сториборд више.
>> Дакле, ако смо покренули ово, ми смо и даље ће се добити на белом екрану, хвала Богу.
ОК - бели екран, али ништа друго.
А, ту је важан део.
Ово је место где се дешава радња.
У претходним верзијама, ту је обично нема код овде, али
Сторибоард суштини обезбеђује код за овај део.
Ја не улазим у детаље о томе како.
>> И оно што ми желимо да урадимо јесте сада, желимо да иде у овде, и ово мало простора
почиње стварање поново нашу апликацију.
Дакле -
да?
>> ПУБЛИКА: Зоом?
>> Рхед Ши: зум.
Да, наравно.
У реду.
Ја ћу бити куцање, тако да ово не би требало да ствар превише.
У реду.
>> Дакле, прво, запамтите да је желео да створи навигација контролер, зар не?
И такође, као што можете видети овде, Ксцоде Да ли заиста велики посао
само-пуњење.
Дакле, као што ћете приметити, имена све су много дуже него
уобичајено, али Ксцоде га попуњава за вас.
Тако сам само да притиснете Ентер.
>> Дакле, желим да направите УИ навигацију контролер показивач, а ја могу да га зову
навигатионЦонтроллер.
Сада, шта сад да радим?
Након овог знака једнакости, треба да, прво, стварају се унутар меморије.
Дакле, ја ћу да урадим НавигатионЦонтроллер Аллоц -
па, ово је сличан маллоц, да ти момци користе у Ц -
а онда, ја ћу да га инит.
>> Дакле, то је заиста важно да свака објекат који креирате, желите да
Аллоц и инит га.
То ће га створити и инстантиализе га унутра меморије, и
Сада можете да га користите.
У реду?
Ако не урадите то, ваш објекат ради не постоје, а ви ћете наићи на гомилу
проблема.
>> И онда, ја желим да створи поглед контролер, зар не?
Дакле, желим да направите УИВиевЦонтроллер звезда -
тако, све је показивач у Објецтиве-Ц, а ја ћу да радим
нешто слично, овде -
Аллоц, прва.
У реду.
>> И онда шта ћу да урадим је, ја сам ће - па, сећам се када смо урадили
уградити у навигационом контролер?
То је како ви то урадите у коду.
Ти ћеш урадити навигатионЦонтроллер
пусхВиевЦонтроллер -
>> ПУБЛИКА: [ИНАУДИБЛЕ].
Ће се то десити за нас, или -?
>> Рхед Ши: О, да.
Не.
То ме воли боље.
Не, то ће радити за вас, такође.
Дакле, то су све методе.
Дакле, пусхВиевЦонтроллер је метод, и такође, прецизније, то је
пример метод УИ навигација контролер.
Зато сам морао да направим УИ навигацију контролер звезда, а онда сам
може назвати ову пусхВиевЦонтроллер на мој специфична инстанца УИ навигацију
контролер.
>> ПУБЛИКА: Да ли морамо да урадимо тачан реч, или се то већ постоје за то?
>> Рхед Ши: Да, јер је то метод.
То је као у функцији.
То је као принтф.
То је као сцанф.
То је као стрцомпаре.
Осим што зна шта ћете можда желети да укуцајте, и приметићете да увек ћу
доћи до ствари које су законски дозвољено за вас.
Дакле, ако ништа појави овде, онда нешто није у реду.
>> Дакле, пусхВиевЦонтроллер.
Дакле, сада, желим да гура моја новонастала
УИВиевЦонтроллер, а затим, анимирани -
можда не.
Јер ово ће бити први поглед контролер.
Мислим, чак и ако ја нисам направити анимирани, вероватно неће појавити, јер
то је први екран.
>> И запамтите заграде.
Дакле, запамтите како смо користили заграде?
И унутар заграда, објекат позива метод -
тако да је наш објекат је навигација контролер, а метод је гурање
поглед контролер анимирани.
И види како је потребно у два аргумента, и они раздвојени, врста,
речи, и дебелог црева.
Дакле, Објецтиве-Ц покушава да га лепо и лако за вас да прочитате наглас -
Ваш шифра - а имају га полу, врста, има смисла.
>> Међутим, ради управо ово није довољно.
Дозволите ми да умањите сада.
Доинг само то није довољно да се добити оно што смо добили на претходно.
Дакле овде, ви ћете приметити да постоји заправо неће бити било која врста
бар, овде, зар не?
Нема трака за навигацију, што значи да ми још увек нисмо га добио.
>> И можемо да тестирамо да се, такође, по, можда, промени позадину
ВиевЦонтроллер, зар не?
ВиевЦонтроллер.бацкгроунд--
ах.
Дакле, видимо како ВиевЦонтроллер није имао боја позадине, иако сам
желела да јој приступе?
А то је зато ВиевЦонтроллер је контејнер за приказ.
Дакле, она има поглед имовину, који онда има боју позадине.
>> А, ја могу да га подесите, некако мукотрпно, позивом боју
на УИЦолор објекат.
Дакле, овде обавештење, редЦолор је метод.
То је метод класа УИцолор.
Зато што нисам имао да створи Стварни инстанца УИЦолор како
да позове метод на њему.
Само, једноставно, то се зове на типа-као што су име.
Ја, као, то се зове на инт, инт ако је имао, као, метод за њега, на пример.
>> И тако, ако смо покренули овај код, ми ћемо приметити да је позадина
заправо не ред.
Још увек је бела.
И како можемо да добијемо око које је, приметити како постоји селф.виндов.
То је, као, крајњи контејнер за вашу апликацију.
То је крајњи ствар која садржи све на екрану, за
иПхоне или иПад апликација.
>> А, згодно, селф.виндов има ово својство се зове
роотВиевЦонтроллер.
И то ће бити показивач први поглед контролер унутра
Ваше апликације.
Дакле, оно што ми желимо да урадимо овде, сада, је да подесите да једнака нашој навигацију
контролер.
Зар не?
Јер, технички, навигација контролер је наш први поглед
контролер.
Она бележи низ други приказ контролери, а ми смо гурнути ово
поглед контролер у том низу у навигационој контролер.
>> Дакле, ви не желите да се то уради.
То не би баш ти помоћи.
Ви желите да урадите ово, ако сте желели да урадите навигација контролер, који највише
од вас ће вероватно јер ћете желети да, на неки начин, имају неку врсту,
као, мени да се вратимо на неке или страница да се вратим у, него
празан екран.
Да?
>> ПУБЛИКА: Да ли је непријатно за вас да зумирате на -
>> Рхед Ши: Да.
Дакле, да.
Ово је код, и сада хајде да га испробате.
>> Дакле, тамо идемо.
Магија.
Дакле, у реду.
Хвала.
У реду.
Дакле, сада, оно што желимо да урадимо јесте - тако, смо некако ограничен, овде, зар не?
Могли би потенцијално писати све унутар ове једне функције.
Али, то није начин развој иОС обично ради.
>> Дакле, шта ћемо да урадимо је да, ми смо ће створити неке нове фајлове.
Али, тачније, идемо на створити још једну Објецтиве-Ц класе, или
још један објекат -
класе и објекти су заменљиви овде.
А, ево како сам могао, потенцијално, створити још једну класу од У контролера.
>> Дакле, то је под-класе, као што ћете приметити, овде, то је под-класа
УИ поглед контролер, али ја могу зову га било који други назив овде.
Могу да позовем ову ЦС50, могао бих назвати ово поглед контролер, могао бих назвати
ово бла поглед контролер -
нешто желим.
Ово је само назив за класу.
Међутим, то ће бити важно јер, у суштини, шта ја радим
Овде је, Правим друго име класе.
Дакле, то ће бити, као, неки врста типа или објекта.
Дакле, требало би да буде мало генерички.
Неће бити веома специфичан.
>> И такође, желим да истакнем од ове две опције.
Зато радимо све унутар код, понекад је много лакше
да доведе у датотеци интерфејса, тако да Ја могу буквално превуците и отпустите, као
смо раније радили са раскадровки -
знате, налепница, или дугме, или било шта друго.
И тако, кибс су датотеке које вам омогућавају да немој да, и морате да га повежете
на овај вид контролера фајл.
>> Дакле, ја ћу да намерно не види ово.
Обично бих проверим ово, и ако ја само ово урадио за иПхоне или иПад, ја
би проверити ово и једноставно имају један за, знате, иПхоне или иПад.
Али пошто ја радим универзална, ја идем да створи два оних касније.
Дакле, ја ћу да намерно поништите ово.
>> Ово је такође веома важно.
Много пута, имао сам бубе где то није линк.
И тако, очигледно, ова датотека није, врста, као што су, укључен или увезена
унутар овог теста фасцикле.
И тако, мој број има апсолутно нема појма постојања ове датотеке, и
који изазива много бола и сати дебаговање.
Али, само проверите да ли је то тако проверава да, знате, циљ ове
фајл је за ову апликацију.
>> У реду.
Дакле, сада смо створили две нове фајлове.
И ови фајлови изгледају прилично празан.
А, у ствари, хајде да наставимо такође на стварањем КСИб фајлове.
Дакле, раније, био сам у Какао додир падајућа.
Сада, ја ћу да идем у Кориснику Тоуцх интерфејс, и као што видите, ја
може створити Сторибоард.
>> Дакле, чак сам почео са празна апликација, ја и даље могу користити
Сторибоард.
Мада, она добија лукав у смислу од како желите да се повежете
да на вашем коду.
Дакле, ја не идем тамо.
>> Али, оно што ми желимо да урадимо сада је креирате приказ.
И можете да одаберете за иПхоне или иПад.
И обично, да означи разлика - ако радите
Универзална примена -
ви или ставити доњу иПхоне, или можете да урадите Твиддли.
То није битно.
То је једноставно за вас да диференцирају који поглед је за који апарат.
>> И тако, сада изгледају.
Имам екран који могу да раде са.
И тако, на пример, ја могу ставити етикету овде, знате, и ја такође могу ставити
други дугме овде.
Нећу гњавити мења вредности овде.
>> Али, оно што је овде важно је да власник фајла -
па, ја сам унутар иПхоне поглед, иПхоне КСИб фајл.
И у овој области за навигацију или падајући мени, желим да идем у
власник датотеке.
И то је заиста важан корак овде.
Желим да поглед класе контролер, тако да је ово КСИб фајл
ће да буду повезане са мој поглед контролер.
И све што радим у мом мишљењу контролер програмски је
ће се одразити на овде.
>> Дакле, међутим, приметити да -
заправо, хајде да овај став фон плава, на пример.
Или зелене.
И онда, па ако ћете приметити, назад у ово код, ово је место где морамо да се наше
навигација контролер.
>> Иако смо урадили тај корак, то је и даље ће бити црвено, зелено не.
И постоји разлог зашто.
То је зато што, кад смо инитед наш поглед контролер, овде -
Извини, то је мало луда -
када смо инитед нашем мишљењу контролер овде, ми то инитед општег типа
УИВиевЦонтроллер.
ОК?
Дакле, ми нисмо ни урадити га са ове класе.
>> Дакле запамтите, ово је као класе сада.
Може се замислити као тип, само као УИВиевЦонтроллер је тип.
И како да користе то, оно морамо да урадимо је да га увезете -
увоз ВиевЦонтроллер -
и, као што видите, она аутофиллс то за мене.
Дакле, ВиевЦонтроллер -
и сада, овде, ја могу да промени ово УИВиевЦонтроллер да ВиевЦонтроллер.
И сада, овде, ја могу променити ово ВиевЦонтроллер.
>> Хајде да то поново.
То је увек ред.
А разлог зашто је то још црвена је зато -
Воах, шта се десило тамо?
Желели смо да се повезују ову КСИб филе са погледом контролер.
Међутим, у циљу заиста раде да, морамо да идемо у ово.
И када радимо инит, желимо да урадимо инитВитхНибНаме, а онда ми желимо да
раде на стринг Виев_иПхоне, на пример.
Можете да занемарите пакет овде.
>> И ово ће се дозволити нас да, заправо -
ух ох, ту је проблем.
Право.
>> И тако, ту је проблем, јер, у наш поглед КСИб фајл, имамо ознаку и
имамо дугме.
Међутим, иако смо повезани то двоје, не постоји ништа унутар
ВиевЦонтроллер.х или ВиевЦонтроллер.м да одражавају оне
дугмад или оне ознаке.
Дакле, морамо да пишу они који у као својства вид контролера.
>> Дакле, ово је како се прогласити имовине.
Потребно је у, обично, ове две опције.
За потребе овог семинара и нама, Ја бих рекао да је, генерално,
већина својства су нонатомиц и задржати.
Можете прочитати од стране Гоогле претраживање, знате, разлика између
нонатомиц и задржати на, те Знам, Гоогле или нешто.
И ја ћу вас одвести до, као, Стацк Оверфлов, где ће људи имати
одговори на разлике између оних.
Али за сада, то је оно што смо желе да се баве.
>> И ми желимо да направимо ознаку УИ, звезда, и можемо га назвати како год хоћемо.
Можемо назвати ово, знаш, етикета.
А, ми ћемо креирати још један један за дугме.
И запамтите да укључите звездицу, јер имамо посла са показивачима
прилично свуда унутра од Објецтиве-Ц.
>> Међутим, то неће даље решити Проблем, као што можете видети овде.
А разлог је зато што, кад год смо Желим да повежете ознаку КСИб фајл или
дугме на програму, или заглавље и имплементација фајл, желимо да
додали ово парче кода -
утичницу.
Приметимо да је кључна реч.
>> И, чим завршим са куцањем да је од, треба да има ове
два круга, овде.
Обично, они не попунити
Нисам сигуран зашто су они.
Али обично, мораћете да ручно повезати их тако што ћете на овој страни
комуналије област.
>> И тако, сада, ја имам своју етикету изабран, а ја желим да превучете ово ново
референцирање излаз на власнику мог датотеке, а затим кликните на Лабел.
Тако сада, коначно, ова ознака је повезан са овом ознаком.
И то је оно што етикета ћемо користе програмски да промени своје
текст, њена слова, њена позадина боја, и тако даље.
>> Па, зашто не радимо Исто за дугме?
И као што ћете приметити, за дугме, то је мало компликованије.
Јер, мислим, да треба да притисните на дугме, тако да има доста
опција за начин на који корисници можете да притиснете на дугме.
А онда ћемо видети касније да можемо повезати ово наше
код да то ради.
>> Дакле, за сада ипак, желимо да се повежете је на стварни дугмета
унутар нашег кода.
Дакле, идемо на нови референцирање утичницу, и онда на дугме.
Сада, хајде да то опет.
Ух ох.
У реду.
Ја не знам шта се овде дешава сада.
Вау.
Само један тренутак, овде.
>> Заправо, зашто не узмемо Погледајмо још један пример у
интерес времена.
У реду.
Дакле, овде је лакше припремити Пример за ВиевЦонтроллер.
Као што можете видети овде, ја сам укључен својства за
ознака и дугме.
А онда, овај део кода овде -
ово ИБацтион -
био веза са овог дугмета овде.
Дакле, као што можете видети овде, Тоуцх изнутра је повезан на селектор
зове дугме притиснуто.
>> Дакле, можемо да идемо кроз кретање опет, овде, узимајући Тоуцх Уп
Унутра и превући је Филе је власник, а затим
кликните на дугме притиснуто.
Сада, хајде да наш код.
Дакле, сада, ово дугме сада ради и ће нас одвести на следећу страницу.
>> И, у смислу нашег вид контролера, ово је део кода који је
брига о дугме притиснуто.
И важно је напоменути овде, да Ја сам створио још једну врсту гледишта
контролер назива табеле поглед контролер.
Дакле, то је био сличан подржати у сторибоард, када сам вукао један од
ови сто виев контролери у Сторибоард.
Правим други
>> Поинтер на табелу вид контролера, Аллоц и то прва-инг, а затим ради
само тачка навигација контролер, пусх ВиевЦонтроллер, овај нови
виевЦонтроллер.
И ја сам поставити анимацију на Да, јер сада у мојој апликацији, и ја
Желим да видим заправо анимација иде из матичној страници за сто
поглед контролер.
>> ПУБЛИКА: Да ли још увек бринете око прикупљања смећа?
>> Рхед Ши: Шта је то?
Не.
Дакле, питање је, да ли имате да раде са одношење смећа?
Дакле, Ксцоде 4 имао као АРЦ, који је аутоматски референтна бројање.
И тако, обично када почнете нови пројекат, ти би да проверите, јер
нико заиста не жели да се бави ослобађање меморије и ствари.
Али мислим да у кцоде 5, не постоји ни да опција на новом пројекту.
Дакле, она се аутоматски то ради за вас.
Да?
>> ПУБЛИКА: Можете ли извозите ПДФ у монтажној траци жељени?
>> Рхед Ши: Да, дефинитивно.
Дакле, све од њих ће бити укључен у изворни код, тако да ви можете да проверите
стварна Ксцоде пројекат за њу.
Да?
>> ПУБЛИКА: Али, ја мислим, као, могу да принт ПДФ са мојим раскадровки?
Ако ја само желим да извезете слике да покаже некога.
>> Рхед Ши: О, да.
Мислим, можда, можете једноставно да узети снимак екрана.
Да, и послати им екран пуцањ или нешто.
Да.
>> Дакле, хајде да видимо.
У интересу времена, мислим то је све што могу да покрију данас.
Али, ја знам да је то, у ствари, само једва додирује површину иОС
развој.
Дакле, слободно ми се обратите ако имате било каквих питања у вези иОС
развој.
И, надам се, да ћу бити у стању да очисти неке од кода за извор
код датотеке, тако да ћете имати неке заиста лепих примера за рад.
>> Осим тога, ако ви идете на ЦС50 Хацкатхон, ја могу или
не буде тамо, а ја могу да помогнем са неким иОС развој, такође.
Дакле, хвала пуно, момци.