Тианиу ЛИУ: Хеј, како је иде свима? А ово је апликација за иОС програмирање објективне ц семинара. И моје име је Тианиу Лију. Тренутно сам Лоуел млађи, концентришу у рачунарству. Дакле, у овом семинару сам Научићу момци мало о томе како да направи апликацију. Ура, гет узбуђени због тога. Дакле, пре него што уопште почети роњење у стварно програмирање стране, хајде да заиста брзо разговарати о зашто би желите да изградите иОС апп? Зашто је иПхоне толико страшан? Дакле, прво проблем, прва Оно што је прилично страшан за нас, посебно као ЦС50 Студент, је да иОС користи Циљ Ц Па, ту је нови језик зове Свифт, али ми не идемо у користите да у овом семинару. Ако сте заинтересовани за Свифт, тамо је независна семинар о томе. Али Циљ Ц је у основи надскуп Ц. Меанинг да све што користите у Ц могу бити преведена на Објецтиве Ц врло лако. Као што можда касније видети, то заиста постоје неке веома основна синтакса, су основи исто, Ц и Ц Циљ Дакле, пошто сте предузели ЦС50 до овде, већ си сазнати објективну Ц, најмање 40%. Такође, Аппле има стварно робустан АПИ за иОС. Има пуно заиста лудо ствари које можете да урадите са њом. Од којих је неко заправо створио иОС апликацију за контролу возила, која је прилично занимљиво. Вероватно хеликоптер је узбудљивије. Али тако моћан иОС АПИ може бити. И као што можда има схватио одмах, Стацк Оверфлов је вероватно један од најважнији онлине ресурси располагању. И добра вест, за сваки ниједан проблем могуце висе мислите о приликом изградње ваше финални пројекат у Објецтиве Ц, вероватно постоји Стацк Оверфлов одговор. То је само супер. Поред тога, иОС је заиста платформа где можете достићи огромна Публика уз мало труда. Није као Андроид, где све је прилично подељена. Све иОС је јединствена. И све док правите апликација за иПхоне, можете врло лако порт који се иПад, иПад Мини, или различите величине иПхоне. То су све јако згодно. И то је само јако добра за импресионирају пријатељи. Можете само да држи иПхоне и реци свом пријатељу хеј, ово је апликација направим. То можете учинити за било десктоп апликације, што је лепо. У реду, хајде да заиста добити у Објективна Ц. језика Па зашто не бисмо почели са неки заиста основна синтакса. Као што сам поменуо раније Циљ Ц То је у основи надскуп Ц. Тако много основне синтаксе су заправо потпуно исти. Проглашавајући променљиву и додајући две променљиве заједно Управо као што смо урадили у Марио. То није ништа ново. Слично, станар за петљу и стања је такође исти. То можете да урадите за петљу баш као и ви су урадили у Марио [неразумљиво]. И можете да урадите услове баш као што сте радили у својим претходним п сетовима. Међутим, Објецтиве Ц није потпуно Ц, и постоји нешто што је мало чудно у вези тога. Први од њих је да када сте радиш Ц програмирање, ви обично зовемо укључују и онда библиотека име. Али у Објецтиве Ц то зовес увоз. У основи говорећи функционалност, само различити називи. А жице су заправо мало чудно. Можете видети да је прва Оно што је мало чудно је да имате прилично веирд-- је-- будете имали стварно уврнуте НС потписати овде. И друга ствар То је мало чудно је ли у знак пре заправо проглашавајући стринг. Дакле, на знак основи означава да стринг није само низ, то је заправо објекат. Идемо да објаснимо да касније то уради не паника ако не разумеју шта то значи. И штампање на конзоли је мало другачија јер у Ц зовемо принтф, али у Објецтиве Ц зовемо [неразумљиво]. Можда се питате шта је то. То је у основи иф, само другачији језик. Потпуно иста употреба, Иста функционалност тачно. Па испада да Циљ Ц заправо има НС префикс у готово све, свака основна типа података, нсстринг, нсарраи, нсдицтионари. Разлог за то је да нс заправо стоји за следећи корак, која је фирма која Стив Џобс основао, која је фирма у којој Циљ језика Ц се роди. Дакле, ово је у основи традиција. Знам да је мало чудно, али то је Аппле. Тако нешто што је још чудније него да је декларација функција. Ово је веома разликује од онога што види у Ц, јер овде га заправо више не личи Ц. Оно што овде-- имате од начин ово није тачка, ово је знак минус. Имате знак минус заграду ништаван и онда име функције. Рецимо, ако смо има хелло ворлд, онда повратни тип би бити неважећа јер се вратимо ништа. Оно што се стварно чудно је да када сте имају више од једног параметра прешавши на исту функцију која ће бити заиста чудно, као на слици. Имамо име метода, позвао аддИнт да [неразумљиво] а ми пролазимо један параметар. Али после тога, имамо више назив начина позив са. И пошто је у ми пролази Други параметар. Ово је у ствари мало чудно, Али све ове декларације фунцтион прате исти образац као ово. Имамо минус знак за почетак. Знак минус могао бити знак плус понекад на основу какав метод је она. Метод је у основи друго име за функцију. И идемо у објашњавају да касније када говоримо о објекту оријентисано програмирање. Прво ти навести повратак типе унутар заграда, након чега долази име метода. Ти пролази један параметар. А ако имате више параметара морате да продужи име метода и суштини пишем нешто више овде. То може бити било шта желите. У нашем случају то је са. Али могло би се рећи крај, или или, или АБЦ пуна трака, шта год желите. И онда после тога сте пролази параметар б. Ово је стварно цудно конвенција али ми смо идемо да видимо зашто Аппле хтео за то врло брзо. Па како ви зовете функцију? Позивање функција у циљ Ц је такође разликује од Ц. Заправо, називајући Функција у Објецтиве Ц је више као да разговарате са неким. Овде имамо самога себе, чиме назива објекат. Ви у основи говориш објецт себе да каже "Хелло Ворлд!" То је како да позовете функцију. Објекат и име метода у комбинацији са међусобно. И ово је место где чудно продужење за име метода заиста долази до изражаја. Погледајмо другом примеру. Управо смо дефинисали метод назван аддИнт са бла бла бла. Дакле у овом случају када позивате да специфична [? Порука?] иде да изгледа као себи аддИнт: 10 са: 2. Звучи као енглески. Иако функције Функција декларација је чудно, тачка Објецтиве Ц-их метод декларација образац, је да када зовете функција или метода то ће звучати као стварне енглеском. Тако да је врло интуитивно једном када уђу у њу. Посебно у овом случају, где сте у суштини можеш видим да име функција некако се документује. Не треба ми више објашњење да видим шта се дешава, шта тачно један параметар раде. Која премашује оне, хајде да разговарамо мало мало о објектно оријентисаног програмирања. Објектно оријентисано програмирање је једно од основних програма технике или обрасци који је користи Објецтиве Ц. Објецтиве Ц назива Објецтиве Ц, не Ц, за веома добар разлог. Дакле, пре него што се у Циљ Ц синтакса, Хајде да заиста брзо погледамо шта је тачно предмет. Вероватно смо урадили нешто као објекат пре, који назива струцт када сте имплементацију дрво или повезану листу или [? пробајте. ?] Дакле, то је основи као струцт, али то је много моћнији од тога. Објекат има методе и својства. Методе су у основи функције. У основи функције које специфични за одређени објекат. И особине су у основи поље наведете у струцт. Дакле, за сваки појединачни објекат имамо неку имовину да има неке променљиве која су специфичне за објекта. И ми имамо неке функције које су такође специфичне за објекат. И функције се називају методе и променљиве се називају својства. То је само фенси име. Док сте заправо, сваки поглед видиш док сте отворили иОС апликацију, Рецимо Твиттер или Фацебоок, сваки поглед видиш је објекат. А чак цела апликација је објекат за почетак. Врло интересантан концепт. И зашто желимо објекат оријентисано програмирање? Тако да можете замислити да када вас Програм постаје прилично компликовано. Рецимо кад си имплементацију шаховској табли, логика ће се заиста компликовано. Имате 36 различитих комада, тако да ако сте Желим да пишем логику за све 36 различите комада у шаху, да ће бити доста различите функције и променљиве. То је много труда. И вероватно ћеш написати други начин или различити функција за сваку од комада за тачно контролишу шта раде. Али ако то урадите објецт ориентед програмирање, све ове комада се могу издвојити у једна објекат. И објекат ће имати неке заједничке својства као што су коју врсту дела зар не? Које је боје? Како то може кретати? И на тај начин увелико имају поједностављени логику тога. Дакле то је само јако добар начин да компликоване програме, и хијерархијски однос у оквиру програма, врло једноставно. Као ћемо видети Зато врло брзо када ми заправо радимо программинг-- када смо уствари ради се Цоде програмирања касније. Па у Уз то, објецт ориентед программинг је само забавно. Мораш да дизајнира свој објекат. Мораш да дизајнира шта да изгледа као сами. Нема правог одговора на њега. И то је потпуно занимљиво. Дакле, у објектно оријентисаног програмирања, Два основна концепта ће бити класу и инстанцу. Класа је у основи шаблон за објекат. И инстанца је у основи један специфичан објекат. Рецимо да правиш колачић. У овом случају, сваки Колачић заправо завршити са ће бити предмет. Али колачић плоча користите да се пече сви колачићи ће бити класа. Класа је у основи шаблон. И инстанца ће бити један специфичан објекат створен из те класе. И инстанца ће бити креирана на основу декларације класе, као што ћемо видети у каснијим слајдовима. Па хајде да урадимо у ствари стварно Брзо пример [неразумљиво]. Рецимо да смо изјављујући објекат за мачка. Објекат треба да бих-- мачка класа треба имају неке особине и методе. Какав својстава треба да класа бих-- треба мачка има? На пример, боја, старост и раса, они ће бити варијабле које су специфични за сваку мачку. А то су неке ствари да користимо да опишемо мачку. Какав метода, или шта може учинити мачка? Неки примери брзе би било јурњава миш, једу рибу или само меов. Ово је стварно брзо Пример цат класе. И заиста специфична мачка објекат ће бити мачка где смо навести боја, старост и раса. У том случају, наш циљ је више не класе више. Ми копирате шаблон из класе и прецизирамо сваки конкретне информације на дату објекат да га независним. А када зовете метод унутар објекта, само позовите мијауче на објекту, који је мачка сте управо створили. Вероватно ћете одштампати нешто као "Хелло Ворлд! Меов. " Прилично слатко. У реду, хајде да у неке детаље и види шта тачно то ради транслате у постојање иОС програмирање. Дакле, у иОС програмирању сваки класа ће бити реализован у две датотеке. Један фајл је овде, који назива интерфејс. Још један фајл је овде, који назива спровођење. Типично интерфејс ће имати ектенсион.х као што смо видели у Ц библиотекама. И имплементација фајл је морати ектенсион.н. Мало је чудно. Али заправо .Н значи .ц, нема Суштинска разлика између оних два. Дакле, у овом случају, можемо видети да смо проглашавајући интерфејс, Кат: објекат. То се зове наследство. Ми смо у основи наслеђивања мачка класа од објекта класе. Тако сваки део имовине и метод који је претходно дефинисани у Објецт класи ће бити аутоматски дефинисани у Цат класе. Поред тога, дефинишу смо боју, раса, и старост, три варијабле. То заиста изгледа као нешто што нису радили. Изгледа као струцт. То је у основи синтакса за струцт декларације, а то је потпуно тачно. А пошто сам раније поменуо, Разлика струцт и предмет, један од фундаменталне разлике је да објекат има метод, док струцт има само променљиве. Дакле, поред својства или варијабле смо створили за објекат, прецизирамо неке методе. Рецимо овде имамо два метода, један је Мјау, други је потера миш. Вероватно Желимо да се пролази параметар на основу нашег досадашњег метода Декларација образац. Вероватно желите да буде доношење миша. И вероватно ћете желети да врати боол означавајући ако ваша мачка има успјешно ухваћен миша или не. Ово је интерфејс, али можемо види да заправо интерфејс не ради ништа. То само говори програм шта екистс-- оно постоји у мачке класи. Тако да би за Програм да уради нешто, морамо да имамо имплементације фајлове. Дакле овде, прво што ми радимо је Очигледно смо увезли интерфејс. Након што смо увезли интерфејс, дефинишемо начин. Рецимо овде меов би само одштампати "Хелло Ворлд!" у конзолу. И после имплементације фајл, ми смо прилично урађено. Ово је у основи класа Декларација за један разред. Тако сада питање постаје, како прогласити променљиву? Начин на који користите класу за креирање објекат у Објецтиве Ц није написано. Прво ти навести да ово је мачка показивач, јер сваки објекат у Објецтиве Ц се коначно реализује као показивач. И ви називате класу, позовите их као аллоц, која је у основи маллоц, говори оперативни систем који вам Треба ми мало меморије за овај објекат. Након тога имате неки предмет Већ и само га покрене. Ово је само конвенција. Знам да је је мало чудно, али ово је заправо како Аппле ради ствари. Додела својства се заправо прилично јасно. То је врло слично шта радиш кад ви додела неке специфичне поље унутар струцт. Потребно је само да променљиву наме, име имовину, и доделите посебне вредности за њу. И позивање метода је врло слична. Називајући метод је у основи оно што причам о за позивање било који метод у објективној Ц. Ти пролази објекат, у овај случај то ће бити миЦат, а ви пролазите име метода. Као и да се ради на објекат, миЦат, да ли треба да меов. Прилично је занимљиво. Након тога, постоји један битнија дизајн образац да морамо да разговарамо о пре него што се стварног С кода. Тај дизајн образац се зове догађај дривен програмирање. Ово је такође вероватно један од највише фундаменталне идеје у иОС програмирању. Тако да вероватно не знате шта тачно је програмирање догађај дривен, али то није баш то страшно. Па у ствари, имате Већ то радио. Ово је једна од линија вероватно сте већ пише у последњем [неразумљиво] од ЦС50, гоогле.мапс.евент.аддЛистенер (маркер, "Цлицк", фунцтион () {}) :. Позивом ову линију сте у суштини говори рачунар да кад год манифестација "Клик" дешава на маркер, користити ту функцију. Ово се веома разликује од оно што радите у марио.ц. У марио.ц само покрените програм Једном, она вам даје излаз, и готови сте. Ово су нека врста оне схот програми. Евент дривен програми су веома, веома различити. Замислимо, ако Фацебоок је једна ударац Програм није баш добра. Само идите на Фацебоок једном и готово је. То вам даје неку излаз и никад није вратио. Ти никада није добио ништа више. Дакле овде, нарочито образац који користимо је евент дривен, тако да свака функција ће бити ухваћен на основу онога што Догађај се десило. На пример, ако имамо дугме и прецизирамо да кад год се кликне да дугме, позвати функцију под називом "Хелло Ворлд!" На тај начин ми заиста можемо управљати Логиц Фунцтион флов у високо флексибилан начин. Корисник може да уради или позвати функцију који је већ звао. Потпуно је на темељу онога што корисници чине. Тако можемо видети да је ово заправо много боље него марио.ц. А добра вест је да је заправо није нови концепт. Момци су већ урадили да у последњем проблему сет. Дакле, у Објецтиве Ц постоје три различита дијаграми за догађај дривен програмирање. Први дијаграм је зове мета акција, где сте везати дугме преса са неке функције. Рецимо, кад год кликнете неки тастер, зовете неку функцију. Ово је врло једноставна мета акције. Други је заправо најтеже, то се зове делегација на протоколу. Идемо да објаснимо да веома детаљно касније. И трећи пут је обавештење. Ово је у ствари није Веома важно колико као да смо забринути, јер је шанса да идеш да користите обавештења у својој завршној пројекту је прилично ниска. Тако ћемо прескочити тај део. И ми ћемо да рони у делегацији на протокол. Па шта је тачно протокол? Или шта је тачно делегација? Хајде да причамо о протоколу за почетак са. Протоколи су ништа друго до догађаја. Али ови догађаји су дати Ви Аппле за почетак. На пример, ја нисам потпуно сигуран колико вас момци користе Апплеов оригинал Апликација маил или контакт, али сваки пут се крећете сто и притисните специфична ћелија на столу, да је догађај. А ако желите да урадите тај догађај сами, то је заправо мало тешко. Дакле Аппле је дао да цак и вама тако да можете само директно користити догађај да уради нешто сами. Протоколи су заправо Заиста, заиста широко користи у циљ Ц. добро у Чињеница, сваки апп има нешто ухватио апп делегат. Унутар деликатна је све протоколи за утовар апликацију. Рецимо само да постоји догађај за око јесте оптерећење. Дакле, шта треба да се деси након што сте цреатед апликација, након што отворите апликацију, након што затворите апликацију, или после ставиш иПхоне на спавање. То су сви догађаји који има већ дато. И првобитно унутар ових честица неће бити имплементација. Аппле управо рекао да ове функције ће се десити када неки догађај деси, али оно што радите са тим Функција је потпуно на вама. Делегација је у основи говори разред да треба да се изборе са таквим протоколе. То је мало збуњујуће, али то ће бити много јаснија када радимо су с кодови у акцији. Делегација на протоколу је заправо веома робусно механизам у смислу да ако радимо делегацију на одређену класу, ми смо у основи може да обради све врсте догађаја Коришћењем било ког класу имамо, врло повољно алат. Дакле, један брз пример за Делегација на протоколу ће бити оно што сам управо говорио. Овај протокол посебно се зове Таблевиев [неразумљиво] селецт улогу у [? Индекс?] [? прошлост. ?] Дакле ово Догађај који ће бити ухваћени када вас заправо додирните на специфичан ћелија у вашем Таблевиев, Рецимо у вашем поштом или у апликацију контаката. Унутар функција било првобитно радећи ништа. Функција не ништа подразумевано. Али можете да одредите шта функција ради, с обзиром шта желите од апликацију. Врло згодно средство. И са свим што речено, ја основи покривају неке веома основне синтаксу и Основни концепт за Објецтиве Ц програмирање, а ми можемо учинити неке слике код. Много узбудљивије. Дакле ова код је заправо мало неодољив када га отворите први пут. Један брзи напомена, па ако вас Желим да радим иОС развој, Топло препоручујем да имате Мац. Јер ради иОС развој на Виндовс је стварно, стварно тешко. То је изводљиво, али то је заиста тешко. И дефинитивно урадити Не желе да користе г едит. Тако смо у Цоде имају неколико различитих области. Када први пут отворите ова број видећете навигациони област, што у основи показује да сви датотеке које је у тренутној пројекту. Имате са алаткама област, која је у основи управљање ставове, или нека мала брзо алати за с коду самог. А ово је стварни уредник подручје. Ово подручје је веома слична г уреди, али много боље него г едит. И у овој области десном, је зове комунално подручје. Подручје постаје заиста згодно када правите интерфејс или наводећи неке брзе Сетупс за апликацију. И Последња област је отклањање грешака. Ова област садржи конзолу. Па, кад год иф рећи, или нслог у нашем случају, сви ваши резултати ће се штампати овде. У реду? Претпостављам да можемо стварно брзо урадити Пример за иОС програмирање. И хајде да заправо отворити а код. И сваки пут кад отворим ова код, то је ће се појавити нешто. То ће вас питати шта хоћеш да урадиш? Да ли желите да почнете нешто случајни, игралиште, у основи сте могу само тест код без заправо починио на било апп. Да ли желите да креирате нови пројекат? Или хоћеш да наставите ради на постојећем пројекту? У нашем случају ћемо да створи нови пројекат. Тако да је стварно лепо, с Код заправо је већ дат вам неки шаблони за креирање објеката. Ако желите да урадите неку игру, а код заправо има шаблон игра за вас, има страницу на бази апликације, Картица базирана апликација. У овом случају, идемо да уради нешто веома једноставно, а ми ћемо користити сингл поглед апликација. Након тога само оно што желите да позовете Ваш производ, а како се зовеш, која је твоја идентификатор, и користите ком језику. Овде не желимо да проверите помоћу Цоре Дата. Цоре података је у основи Формирање базе података иОС. Уколико Пентиум података, с код ће дефинисати лот компликованије настава за вас. Тако да све буде једноставно, ми смо Само ћу да радим без Цоре подаци одмах. Проблем ћемо бити користећи је то-- проблема ћемо бити стварање је да ми у основи желе да увезете Марио из Ц на иОС апп. Па хајде да то зовем Марио-иОС. Наравно да одредите шта вас Желим да стави у свој пројект. И ево га. Дакле, ово је мало огромна, али ово је стварно оно што смо управо видели на слајдовима. И прва област видимо сада је у основи конфигурација пројекат. Дакле све што желите да урадите Пројекат, какве уређаја, Рецимо какву уређаја да ли желите да ваш апликација да се појави на? Да ли је иПхоне, иПад или универзални? Дакле оријентације уређаја, све ове ствари. Није веома важно, али могу бити, али ово је место где можете подесити Ваш пројекат ако вас стварно Желим да распореди на Аппле Сторе. У реду, хајде да погледамо нешто што је у нашој код. Идемо кроз датотеке навигатора. А ово су све датотеке које већ дошао са шаблоном, веома лепом. Дакле, када смо кликните на једну од њих ово је како то изгледа. Врло сличан г едит. Али можете да видите да истицање синтаксе је вероватно мало лепше. И то је заправо много више моћнија од г уређивање. И можете ауто цомплете много ствари за вас, као што ћемо видети врло брзо. Отворимо отклањање грешака област. У реду, као што видимо, конзола је овде. То је оно што ћете видети где ти си у принтф или нслогинг нешто. Дакле, без даљег одлагања, хајде да ствари саставити апликацију и видимо шта ће се десити. Једна суштинска одлика за а код, јесте да ови код долази са иПхоне симулатору. Тако да не треба да има иПхоне да пробам свој пројекат, а код може симулирати да за Ви, као што можемо сада видети. То је лепо. То је узимање мало мало времена да састави и основи имамо празан апликација, који заправо не ради ништа. Али саставља. Стварно је сјајно. То је много боље него Ц, а? У реду, онда хајде да покушати да додам нешто. Једна датотека која је мало чудно овде се зове сториборд. Ово је у ствари велика, супер функција за с кодом. Јер у с кодом, заправо можете драг и испустите елемената на интерфејсу а то ће директно појавити. Хајде да покушамо да. Ми дроп ознаку овде, "Хелло Ворлд !!!" Можемо центар који. Заиста кул. Хајде сада да водим ову симулацију стоп. Овде имамо "Здраво свете !!!" Нисмо ни урадити никакв кодирање. Шта се дођавола дешава? Овако моћан Интерфаце Буилдер може бити. Неко је чак рекао да Вероватно можете само завршити апликацију без писања вероватно хиљаду линија кода само помоћу Интерфаце Буилдер. Али то је вероватно није Најбољи начин да се то уради. Хајде сада да заправо пређемо на кодирање. Тако структури за датотеке је заправо стварно занимљиво јер, као што можете видети, ту постоји главна функција нигде. Сее? Као што смо раније поменули, можете да видите да ово је датотека имплементација за одређену класу. Али нема нигде главна. Па где је главни? Заправо, постоји главни, али Главни је заправо скривен од тебе. Главни је овде. То изгледа познато. Дакле, у основи оно иОС ради унутар главни је да кад год је главна зове, која је у основи кад год апликација извршава, ит ствара објекат под називом АппДелегате. Као што сам раније поменуо, цела Апликација је заправо предмет по себи. На тај начин, у основи иОС апликација говори компајлер то ОК, ја ћу да створи производ зове АппДелегате, и да ће бити моја апликација. Зато морате да идете кроз тај АппДелегате и види шта тај тип ради. Мој посао је учинио за мене. И у АппДелегате можете видети да постоје неке заиста чудне функције, добро заправо методе, које Аппле је већ дао те. Шта је ово? То су у ствари само протоколи да сам говорио. Дакле, то су догађаји који Аппле те је дао за почетак. Не постоји ништа у неким од функција управо сада, али ако желимо да се покрене нешто за нашу апликацију пре уласка у дисплаиинг Свако гледиште, ми то радимо овде. Можете само да прочитате име и претпостављам догађај је заправо стварно јасно. Тако сада главни је створио објекат за АппДелегате. А шта АппДелегате ће урадити заправо такође скривен од тебе. АппДелегате ће почети учитавања ВиевЦонтроллер залиха. Тако да је у основи ће почети пунити све ставове које имате и само рендер поглед заснива се на хијерархији. Дакле у овом случају имамо само један поглед, који је овде. Тако да је једини поглед да ће се звати. ВиевЦонтроллер Логика је овде. Ово је код који заправо контролише поглед смо управо видели. У реду, хајде да урадимо нешто овде. Дакле виевДидЛоад звучи као догађај, када у ствари то је такође посланик, ово је такође протокол. Дакле, шта год поглед се учита, све унутар функције ће се звати. У овом случају треба да видимо "Добро Тианиу! "Ако покрените програм. Постаје мало спор састављања сторибоард филес. Па заиста, ми не видим излаз за њега. То је кул. Хајде сада да урадимо ствари Марио. Идем да дефинише функционишу врло брзо. мариоВитхЛевелс: Резултати (инт) нивоу. У реду, то је у ствари супер карактеристика а код ауто завршетка. Дакле, када пишете за и укуцајте ући, она је већ одустала шаблон за вас, који је баш кул. То би требало да изгледа стварно упознати са вама. Извини, то је моја кривица. У реду, кул. То логика би требало да изгледа заиста упознати да вама, посебно само Марио. Али ми сада ће одштампати на конзола сваки пут, јер желимо да некако задржати стаза од онога што штампају. Идемо за коришћење Резултати некако касније, да би се приказао принт се довести кориснику. Дакле, уместо ми смо само нслоггинг све, који смо чување све у резултат функција позива, али логика је потпуно исти. Након што смо га, завршавамо Само принт наше резултате. И овде уместо штампања мој Име, идемо да позовете функцију. Да видимо шта ће се десити. Упс, очигледно. Имамо леп Мало пирамида овде. Ово је у основи, Ц, само смо манипулисање где сте позвали функцију и како функција изгледа. Нема ништа другачије. Али ово је стварно није баш занимљив овде, јер ми не видимо ништа од иПхоне апликације. Дакле, ако сте заиста имате иПхоне апп-- ако стварно имате Марио иОС право Сада, ти не идеш да видим ништа што има икакве везе са Мариом јер сви ти излази у један конзоле су скривени од корисника. То је оно што видите, која је "Хелло Ворлд !!!" Није добро. Хајде сада да покушамо да корисник види шта смо одштампа. Тако да не треба више да означи. Хајде да пробамо и смислити нешто остало што може бити корисно. Заправо постоји један елемент који се зове Текст поље, који би могао бити од велике помоћи за нас. То је у суштини приказује регион текста који се може мењати. Тако то изгледа заиста корисно. Хајде сада да га превуците и испустите га. Вов, имамо поглед текст по нашем мишљењу, заиста фенси. То је мало превелика. Нека буде мања. Стави га у центар. Нека буде мања такође. Сада имамо поглед текст, који би могли да се користи за приказ наше коначан резултат. Али сада је то дефинитивно не иде на посао јер постоји Не-- ВиевЦонтроллер смо управо дефинисано не зна да постоји текст поглед тамо. Зато морамо да некако повезују поглед текста смо управо креиран са разредом да је већ дошао са нама. Начин на који то није уствари заиста магична. Тако отвори Сторибоард. Постоји посебан [неразумљиво] зове [? асистент?] [неразумљиво]. Када кликнете да, то је ће отворити два фајла. Један је класа и други је одговарајући поглед за то. То је веома, веома корисно. И хајде да иде кроз .х фајлу. Контрола, ово је [неразумљиво] логика. Притисните Контрола и повуците Текст поглед у декларацији. Идемо у зовемо оутпутВиев. Цоннецт. Дакле овде смо прогласили нови имовина за нашу ВиевЦонтроллер класе. И нова имовина је само поглед текст смо створили у згради интерфејса. Тако на тај начин смо могли Приступ све податке и манипулишу све што је унутар излаз поглед, који је сјајно. Тако је у нашем стварном коду, хајде да урадимо нешто са тим. Овај пут, када смо као штампање од коначног резултата за Марио, ми смо у не улогујете ништа. Мислим смо могли задржати сеча изјава. Поред тога, послати очитавање смо управо креиран да излазном поглед, која је УИ ТектВиев смо управо створили. Сад да видимо шта ће се десити. Вов. Имамо пирамиду у апликацији одмах. Тако да корисник може видети наше производње пошто ми смо копирали излаз из наше кода нашем интерфејс. То је прилично добро. То у ствари није то узбудљиво јер смо можеш-- Све апликација ради се показује пирамиду вама, и ти ту ништа не могу да урадим поводом тога. Није посебно узбудљиво. Па сада хајде да се дугме који ће јасно ставове. Чини се да ће бити од помоћи дугме. Драг анд дроп. Дугме један. Дугме два. Дакле, када смо кликните на леви дугме, поглед ће имати јасну. Треба да постоји ништа на екрану. А када смо кликните десно дугме, Марио, поглед ће поново појавити. Дакле овако радимо и магија ствари, контрола и повуците на декларацији класе у помоћника дирецтор-- у помоћника гледаоца. У овом случају смо наводећи да треба да буде акција. цлеарМарио. Дакле овде смо већ створили Акција под називом цлеарМарио, што је метод који ће се зове кад год смо притиснути дугме јасна. Тако је у нашем заправо код, рецимо само стави текст излаза и излазну поглед у ништа, и на тај начин она ће се појавити да буде јасно. Поред тога, хајде да створи друга метода зове рунМарио. Ох извини, то не би требало да буде власништво. У реду, то би требало бити акција као добро. А када то функција зове, ми само трчимо Марио десет. Надајмо се да ће бити у реду. Да ли то цомпиле? Да. Сада имамо поглед. Имамо излаз. И хајде да видимо шта ће се десити. Тога више нема. То је поново. И ево нас навели каква функција ће се звати када ми укуцајте у нечему, кад смо притиснути одређену тастер. Ово је у основи мета акције шема за догађај дривен програмирање у циљ Ц. Поред тога, није баш узбудљиво јер не можемо заиста променити колико високо пирамида ће бити, тако да вероватно желе да некако добити улаз од корисника и промените висину пирамида на основу онога што излазу. Тако ћемо урадити. Овај пут, када зовемо рунМарио, не само зови на Марио директно. Овај је наслов. Делегат. Ово је веома интересантно. Шта је делегат? Идем да ставим себе овде. И ми ћемо да видимо шта то значи касније. И ево нас у основи створили специфична инстанца зове УИ упозорење поглед. Поглед УИ узбуна је у основи оно што хоћеш види сваких пут нешто попс горе и пита вас за улаз, Као што ће се догодити кад покушаваш купити нешто о неком Апп Сторе. Поред тога, теби после створи га, само смо показали упозорење. У реду, хајде да брзо Тест ће да раде или не. То је веома кул. Хајде сада да правите улаз поље за УИ узбуну. Овако ми то радимо. И ми треба да имамо улаз поглед на узбуну. Врло кул. Рецимо 10. Није раде ништа у праву сада јер позив у ствари није мењала за извршавање марио. Дакле, ово је постало мало јер мало чудно кад год притиснемо дугме доле, кад год смо притисните дугме у приказу алерт, несто деси, али то се не дешава. Како да ухватимо то? Како да знамо да корисник је отпустио поглед упозорења и већ ушао број, јер сада ништа се у ствари дешава. Па, можда сте погодили како треба, делегација. Дакле, поред на све Ове изјаве, морамо да додате нови делегацију на она зове УИ поглед узбуна делегата. Тако да сваки интеракција или догађај да ћемо имати са погледом на УИ алерт ће се руковати наша класе. Дакле, поред тога, бити Упозорење приказ кликните дугме на индекс. Ово је постигнут. Дакле, у том случају имамо алреади-- тако да имамо сазнао протокол који ће носити случају када кликнемо на дугме Доне на приказу алерт. Дакле, сваки пут кад отпусти Поглед узбуна, ово би требало да се деси. Дозволите ми да га тестирати веома брзо. Па заиста, ми смо овде стигли. Па овде, шта нећемо заправо се заправо гет који-- Зато желимо да изађемо Текст који смо претходно ушао у приказу алерт. И на основу текста, ми смо ће приказати Марио. Овај веома брзо испада ако је заиста функционише или не. Дакле, у том случају, ако се улаз, рецимо, 10, требало би да видимо 10. Врло добро, имамо број овде. То је прилично добро. Сада последњи корак ће Тако бити-- Последњи корак морамо да урадимо сада је само зови Марио са базиран на улаз да смо ставили у погледом алерт. Зато морамо да претворити Овај стринг у иОС. Статиц прелив је веома страшан. И онда смо звати само мариоВитхЛевелс вредност. Да видимо хоће да заправо раде или не. Већ смо дали пирамиду. Хајде да покушамо да промените висину. То заправо ради. То је кул. Тако да сада можете једноставно улазна свака вредност желите. Рецимо четири. То је сјајно. Дакле, ово је у суштини стварно брзо пример како да направите пројекат у Цоде и како да заиста брзо послати горе неки заиста једноставне догађаји и функције. Дакле извор иде да се стави на мрежи касније. Дакле, ако сте заинтересовани у колико иОС Марио функционише, Ја ћу баш ставити исти Пројекти надје на сајту ЦС50 касније. Ми у основи завршили са лето, а пре него што завршимо Ја само желим да вам укаже момци да неки заиста страшан ресурси који су доступни на мрежи. Очигледно Аппле документација ће бити од велике помоћи. Али поред тога, ја посебно Препоручујем четири извора, код школске, дрво кућа, АппЦода и ВВДЦ видеа. Код школа и дрво кућа су два онлајн едукацију сајтови, који специфично фоцус на софтверског инжењерства. Посебно за школу код, они Имам заиста добар туториал на иОС. То је стварно брз пример за то. Они заправо стварају заиста цуте-- погледај тог малог слатког иПхоне ортак тамо, то је сјајно. И начин на који објашњавају циљ Ц синтакса је савршено јасно. Дрво кућа је иста. И АппЦода је форум. То је заправо блог који је водио од заиста искусни Објецтиве Ц програмер. И сви ти туторијала у АппЦода су прилично кратка и лако спровести, препоручује. А ако сте програмер, Дефинитивно го провери како се ВВДЦ видеа где можете Сазнајте више о најновијим иОС програмирању технике, АПИ и библиотеке. Тако да је прилично је за семинара. Тханк иоу со муцх. И надам се да забавите стварајући свој иОС апп.