Зак CHAUVIN: Awesome.
Така че ние ще започнем.
Благодарение на куп за идване и на орди от хората, които гледат онлайн,
благодарение както и за тунинг инча
Така че моето име е Зак.
И днес ние ще говорим за как да създадете iPhone приложения, използвайки
на език, наречен Objective-C.
>> Така че моята надежда е, че след днес, вие ще се чувствате
овластен да вземат на уроци, които ще ви помогне да ви води по пътя си
да се започне iPhone приложения.
Така че да се надяваме, ако дойде днес, тогава вие сте
малко се интересуват в тази технология.
Но само в случай, аз ще се опитам и мотивира малко
Затова програма за iPhone и след това по-специално,
Ето защо ние се програмира за Objective-C.
>> Така че на първо място, защо iPhone?
Така че хората ще ви кажат, най-различни причини.
За мен, iPhone е наистина вълнуващо, защото това е, което хората около вас
използвате.
Както можете да видите от тази таблица, Iphones имат множеството използване в Америка.
Особено в Харвард, те са наистина добре използвани.
И така създаването iPhone приложения е наистина вълнуващо,
защото твоите приятели ще се използва тях.
>> Както е добре, в случай, че сте мотивирани от други неща,
можете да видите, че дори и ако Андроидите имат по-висока
дял от пазара от гледна точка на сваляне,
iPhone идва последователно на върха по отношение на продажбите.
Така че това е още една голяма причина в случай се интересувате от работа в тек
до по късно.
Готино.
Така че сега сте продаван на програмиране за Iphones.
Но вие все още имате избор.
Както вероятно сте чували, че има по-нова език, наречен Swift.
И двете от тези, които са страхотни възможности.
Лично моя фон е в Objective-C.
И затова аз ще се опитам да продавате на Objective-C.
Но Суифт друг чудесен вариант.
>> Така че защо да използвате Objective-C над Swift?
Първата причина е, че Цел-C е около продължение на много дълго време.
Вярвам, че това е като около 20 години.
Той е бил около продължение на дълго време.
И така, заради това, че има богатство на ресурсите, които са на разположение за вас.
>> И така, аз ще ви дам няколко примера за уроци в края на този семинар.
Но ти просто напишете нещо в подобно как да направите това в Objective-C. То е
навсякъде, уроци.
Има една огромна общност заобикалящата Objective-C
защото това е най-често срещано нещо.
>> Подобно на това, че е Много създадена език.
Вие, момчета, са били изучаване на C този семестър.
И както можете да видите от името, тя има силна прилика с C.
Ние ще разгледаме някои Objective-C-късно.
Но със сигурност в своята произход, тя дойде от C.
И ще видите как това се представя на език.
И накрая, тя доминира индустрията.
Така че, въпреки че Swift е като този нов, луксозен технология,
виждате ли, ако отидете на iPhone, като, ако отидете на ап фирми,
ще видите, че много от тях все още използват Objective-C.
И това е било защото тяхната база код първоначално е бил
направена в Objective-C или за тези и други причини
че ти казах, а именно, че има изобилие от ресурси.
Те знаят, че ако те са отивам да се използва библиотека,
След това той е бил силно тестван от други приложения и такива,
като има предвид, Swift код е по-малко силно тествани.
Така че със сигурност причините за двете.
Но това е защо аз лично бих отида с Objective-C в момента.
Готино.
Така че вие, момчета са работили в CS50 IDE този семестър.
И се оказва, че за да програмирате нещо за iPhone,
вие трябва да използвате Xcode, което е най- родния IDE за Objective-C и Swift.
И така уговорката за това е, че ако искате да развиете за iPhone, а след това
вие трябва да имате Mac, защото това е възможно само за Mac.
Разбира се, има заобиколни, но най-добрият начин да се развие за iPhone
е на вашия Mac с Xcode.
>> Така че това се каза, нека мушкам наоколо в Xcode
за да видите как изглежда това, а някои от средствата, които можем да използваме в тук.
Така че това е Xcode.
Има много неща се случват.
Това е малко по-сложна, отколкото логическо устройство, което сте свикнали да от CS50.
Но добрата новина е, че е разработена с течение на времето да наистина
имат най-различни инструменти които са наистина страхотно.
И аз ще направя всичко възможно да ми ви покажа някои от тях.
>> В центъра, имаме си нормално текстов редактор, че знаете и любов.
Това е мястото, където вие ще бъдете писането Objective-C. Там
някои примери за Objective-C че ще преминете през по-късно.
От лявата страна, ние имаме нашия файлов указател, точно същата като на CS50 IDE.
От дясната, имате нещо който ви помага по-внимателно разгледа
на нещо, което вие търсите в.
Например, нека кажем, че ние ще за да кликнете върху нещо подобно.
Ето, нека да направим по-лесен пример.
>> Така че, ако се вгледаме в това файл, да кажем, че се опитваме
да манипулира това нещо точно тук.
От дясно, ние се панел, в който можете да зададете различни неща
за това табло.
Очевидно е, че не знам какво е това е все още, но просто го за даденост
че тази страна е да се направи малки корекции по нещо
че върху което работите в момента.
Така че по този начин, това е хубаво да получите този IDE, защото
не е нужно да направим всичко по код.
Вместо това има опция за използвате потребителския интерфейс, за да промените
малки неща за вашата кандидатура.
>> Може би най-доброто нещо за Xcode е наличието на симулатора.
Така че днес ние ще се търсят в това приложение.
ДОБРЕ.
Така че аз съм бил ти казвам малки неща.
Аз съм просто пишете на малките ми примери.
Така че трябва да се премахне тях, преди да се съберат.
>> Perfect.
Така че това ще излезе.
Ние получаваме това малко симулатор.
И тогава веднага можете да видите как точно
изглежда точно като имате на iPhone пред вас, които
е наистина сладък.
Отиваме да си поиграете с това.
Той работи точно като нормална вашия iPhone.
>> И дори можете да правите неща като натиснете Начало на бутона или да го разклаща, тя се върти,
всички видове страхотно неща, които означават този процес може вашето развитие
бъде наистина бързо.
Вместо да се налага да го порт към телефона си всеки път,
можете просто да използвате симулатора.
И ние ще видим как можем да използваме, че в наша полза в малко.
>> Така че това е Xcode за вас.
Супер мощна IDE.
Определено, ако започваш да инвестират от известно време се развива в Objective-C,
Важно е да се опознаят и Обичам Xcode, защото използването на този инструмент
добре ще го направи много по-лесно за да можете да програмирате на Objective-C.
>> Така че това се каза, това е първата стъпка за програмиране
Objective-C е придобиване на този Xcode.
И това може да стане чрез ап магазина на вашия Mac.
И това е почти единственото настройка, в действителност, е изтеглянето на този.
След като имате тази, вие сте създадени, за да се развива
за iPhone, което е доста сладко.
Всякакви въпроси, просто ми кажи.
>> STUDENT: Какво прави NS престои в NSObject?
>> Зак CHAUVIN: Да.
Така че ние ще се получи малко малко повече в това.
Но виждате NS навсякъде в езика Objective-C.
И така се оказва, че са създали цял куп предмети за вас,
цял куп неща, които ви можете да използвате, че са супер полезни.
>> Така в този пример, това е обект, който представлява някакъв предмет.
Или тук имаме NSString, което представлява низ.
Това е нещо като как CS50 дефиниран низ за вас.
Хората, които създадоха Objective-C определил NSString за вас.
И NS е само представката че те използват, за да го спаси
като нещо, те създадоха за вас.
Той е за следващите стъпки.
>> И ако проявявате интерес, той трябва да общо с историята на Objective-C.
И мисля, че една от първите компании, да се работи с него се нарича NeXTSTEP.
И ние ще говорим за обекти и всички добри неща по-късно.
Но в общи линии това означава само, това е един обект за вас
да се използва, че сме създали.
Така че може да има подобно NSNumber, NSString, всички добри неща.
Awesome.
Да.
И ако някой от вас има въпроси, просто ми кажи.
>> Готино.
ДОБРЕ.
Така че това е малко за логическо устройство.
Нека да се потопите в и да вземе погледнете какво Objective-C е
и как я използвате за създаване на приложения.
Така че първото нещо е, че ще забележите вляво имаме основно два
различни видове файлове, .h и .m му.
И това е нещо като как в C, имаме два файла, .h и .c му.
>> Така че точно като по-рано, .h е заглавната част на файла.
Така че ние ще разгледаме един от тях.
Но заглавната част на файла е нещо че просто основно предупреждава
съставител на какво идва.
Подобно хей, аз имам този обект.
И е тези методи и тези свойства.
Това може и да не се правят твърде много смисъл за вас точно сега.
Но в общи линии това е подобно на начина, по който кажа като хей, аз имам тези structs,
или имам тези функции във вашия .h.
Това е просто обявяване преди време от сортовете
неща, които ти започваш да се използва във вашия файл.
>> От друга страна, ние имаме .m години.
И м е за изпълнение.
Така че във файл .m, която действително зададени логиката на тези функции.
Така че може да се каже .h, имам функция, наречена ми функция,
.m може да се каже че имам функция, наречена моя функция.
И го прави х, у и зет от манипулира тези променливи и такива.
Това е разликата в .h и .m.
И вие ще забележите, че те се появяват по двойки, защото всеки .m нуждае от .h
за описване на компилатора какво различни неща, че ще съдържат.
>> Да.
Perfect.
Така че езикът се нарича Objective-C. Какво е
сделката с тази цел част?
Оказва се, че C не поддържа много добре позната част от програмирането
По принцип, който се нарича обектно-ориентирано програмиране.
И обектно-ориентираното програмиране е революция в компютърните науки
че започна да се движи към програмисти мисля за програмиране на начина, по който ние
мисли за света.
И начина, по който мислим за света е че всички около нас са обекти, нали?
Имам един лаптоп.
Имам една маса.
Да видим дали можем Програма по този начин, когато
описваме всички от предмети, които взаимодействат
в нашата система в нашата молба.
И тогава опише видове неща, видовете
на информацията, която те съхраняват и видовете неща, които те могат да направят.
>> Така че в Objective-C, тези две неща са техните свойства и техните методи.
Така че в този пример, аз имам кола.
В реалния живот, това е обекта, колата.
Какво прави една кола да изглежда като че ли са да го опиша с код като обект?
Така че на първо място, вие кажа, хей, аз отивам да бъде
описвайки това нещо, което е една кола.
И тази кола е по- специфичен вид NSObject.
>> Така на първо място, там някои свойства.
Има някаква информация че колата има.
Той разполага с марка, която е низ.
Ние говорихме за NS преди.
И това просто означава, че е подобни на нормалната низ, който те дадоха на нас.
Той също е с грим.
Така че може да се окаже, като това е ако имате Honda Odyssey,
Одисеята ще бъде от марката.
И най-накрая, тя има скоростта, която поддържа
следите колко бързо е тази кола става точно сега.
Така че тези, които са всички свойства, информацията,
че ние трябва да знаем за колата.
Но не са само автомобили пакети от информация.
Те също правят неща.
Така че това са методи или функции че може да действа по този автомобил.
Така например, бихме могли да кажем, ей кола.
Искам да започнете шофиране с тази скорост.
И така, това е функция че не се връща нищо.
Тя просто се изключва и прави нещо.
Но, за да започнете шофиране с определена скорост,
тя трябва да знае каква скорост ви искате да започнете да шофирате в.
>> Така че ние преминаваме в поплавък, същият плаваш, че вие, момчета са свикнали,
който се нарича скорост.
И имайте предвид, че това е Например в .h файл.
И така, вие ще видите, че всичко това е просто
казвам методите, които ще съществуват.
Но това не е дал на изпълнението.
В досието .m, бихте могли ида и да бъде като, OK,
Сега аз отивам да зададете скоростта ми към това.
И стартирате двигателя нагоре, независимо.
Тогава може да има друг метод за спиране на шофиране.
Така че тези, които са двамата неща, че колите могат да направят.
Те могат да започнат.
И те могат да спрат.
И вие можете да видите как чрез дефиниране всички видове на тези обекти,
можем да представим супер, супер сложни неща
по начин, който има смисъл за хората.
Това е добра новина, защото хората са програмирането един.
Така че обектно-ориентираното програмиране е начин да се направи много сложни неща, много по-
опростен чрез капсулиране метода или действията
и информация за дадено възразят всички в един файл.
>> Така че това е голяма част от Objective-C. Ако ние се опитахме да програмирате за Iphones в C,
би било кошмар, защото този вид неща е много трудно в C.
И затова те създават нов език, наречен
Objective-C, за да се постигне този вид неща.
>> ДОБРЕ.
Така че аз казах, че, на първо място, нека просто Посетете малко по-подробно в това, което
методи приличат.
Така че първото нещо, което е имаме този минус.
И тогава ние виждаме типа възвръщаемост.
В другия ми например, че Тип на възвръщаемост е нищожен,
защото тя не се върна нищо.
Тогава ние имаме името на метода.
>> И ние имаме цял куп от тези двойки, които казват,
Това е типът на нещо Първи премина инча
Това е името на нещо Първи премина инча
Така че от сега нататък, ще бъде в състояние да се отнасят към него като stringVar.
И тогава може да има колкото се може повече от тези двойки, които искате,
които казват малко на текст и след това вида
и след това името на променливата, на назове, че променливата ще свърши като.
>> Така че, ако искате да разгледате как това би могло да се нарече,
щяхте да кажете, ако имате реален инстанция на обекта, който
означава, че толкова класа на автомобила е като това високо ниво представа за това какво е кола.
Тя може да бъде като чертежи на тази кола.
Това е просто, ако ние определяме класа, тогава ние
казват, че е възможно, че една кола съществува, докато ако ние създаваме една кола,
ние създаваме инстанция на кола, това е като истинска физическа кола.
Това е като тази кола има тази да, тази марка, и каквото.
>> Така че, ако се върнем към тази Например, това е клас.
Но една инстанция е действителен кола, която сме инициализира
и сега сме дал данни.
Това разграничение ясно?
Така че можете да имате класа, която е като плановете на високо равнище.
И тогава една инстанция, която е действителна кола, която е всички тези неща попълнени.
>> Така че в този пример, ние да кажеш, Искам да се инициализира този клас.
И сега какво всичко това възвръщаемост е действителен случай.
Така например е като пример на конкретен автомобил с грим
и чисто и всички добри неща.
И така, ако имате например, можете да се обадите метод инстанция върху него.
>> Така се казва, че това е начина, по който обадете функции в Objective-C
с квадратните скоби.
Така че това, което се обаждате метода на метода и след това
който искате да се обадите.
Така методът се нарича myMethodTakesAString.
И тогава ще го дам низ и след това останалата част
от името и втори параметър.
Така че това е вид объркващо.
Това е ново за вас, момчета.
Вие сте свикнали да пишете цялата метод име на функция и след това
всички аргументи.
Това е решение на дизайн, който те реши да направи в Objective-C, които сте
всъщност разнообразявам името на метода с нещата
че сте преминаване инча
>> Така че това е като малко име, и след това нещото, което преминава през,
повече от името на нещо, което минава инча
И така сега stringVar ще бъде Hello.
И floatVar ще бъде 1.5, като отидеш в за реалното изпълнение на този метод.
>> Аз ще контрастира, че с метода на класа.
Така че, докато метод инстанция, ти се обадя за конкретен копие на тази кола,
би имало смисъл само да кажа конкретен автомобил да стартирате или спрете.
Но може би има някои методи, които сте искате да се обадите на целия клас.
Например, клас, кажи ми какво да се казваш.
Какво е името на този клас?
>> За това, че не би имало смисъл да попитам индивидуален автомобил, който.
Вместо това ние искаме да поиска плановете.
Чертежи, какво е най- Име на вашия клас?
И това ще ни даде назад.
Така че основно, плюс определя метод клас.
И така, това означава, че ти се обадя то на целия клас,
като има предвид, минус определя инстанция, която
ще се обадя за конкретен случай.
Това може да бъде малко на скок.
И така, това вероятно ще нещо, което ще се подразни от
като започнете да си уроци.
Така че не се плаши далеч от това.
Това е просто като малко разграничение и малко по-добър пример
за това как ние използваме методи в Objective-C.
>> Готино.
Друго много важно нещо е вашият любимата концепция от pset тази седмица,
Model-View-Controller.
Така се оказва, че Model-View-Controller
Не е нещо, което е специфично да CS50 финансите или към PHP.
Това е една идея, в създаването ап.
Вие, момчета, за която кандидатствате тя да уеб приложения.
Но се оказва, че в повечето видове рамки,
те всъщност използват MVC в За да се изяснят ролите
и отговорностите на всеки файл.
>> Така че просто ви харесва момчета научихме, има
три части за заявление, модел, контролер, и изглед.
И се надяваме, че имам малко малко разбиране за това
от pset тази седмица.
Но аз просто искам да направи тази супер ясна,
защото в Objective-C става особено
важно да се разбере тази концепция.
И се надяваме, че това ще помогне вие с вашия pset, както добре.
>> Така че ние имаме тези три части с контролер е като посредник.
Той е човекът, в средата който прави повечето от мисленето.
Така че той е отговорен за вземане, основно
действащ по искане това е направено от потребителя.
И така, някои неща, че той може да направя са актуализирани или задават въпроси
за модела.
И тогава, след като той е направил някои мислене за това, което се върнах от модела,
той ще се актуализира на гледката.
>> Така че основно той е човекът, в средата говори както за модела и гледката.
Но имайте предвид, че има без връзки тук.
Гледката никога не разговаря с модела, защото гледката
не направя някоя мислене.
Това е точно като контролер, да ми даде някаква информация.
И аз ще го покаже.
Това е всичко, аз съм отговорен за.
Аз дори не знам нищо за модела.
Просто знам, че аз получа малко информация за него.
И аз ще го покаже.
>> И това е супер важно да се запази тази разлика,
защото това опростява нашите файлове много.
Технически, бихте могли да приложат всички от MVC в един файл.
Но това ще доведе до супер объркващо код, който
не работи толкова бързо, колкото код като този.
>> Така че една аналогия, разбира се.
Така че тук и да отидем.
Вървиш до Walmart или любимата си магазин.
И има много неща се случват.
Налице е този човек, който ви поздрав.
Има някои манекени на предния прозорец.
А има и един човек, с клипборд, който знае
всичко, което трябва да знаете за какво Walmart купува и продава.
Така че това е наистина това, което ви интересува.
Вие не искате да видите този човек, или този човек.
Ти дойде тук, за да разгледате и манекени се опита и да решите какво искате да купите.
>> Но ако имаха само един вид манекен, че ще е смотан, нали?
Така че можете да създадете статичен уеб сайт че просто трябваше същото нещо винаги.
Но вие трябва тези двамата в За да се направи една динамична.
>> Така че първото нещо, което правите, е ходи до контролера.
И вие казвате като хей, аз съм се интересуват в купуването на този вид облекло.
Това е моя размер.
И аз съм се интересуват конкретно в поръчване на сако.
Така че той е като OK.
Не, аз съм позволено да мисля куп.
Но аз не знам всъщност това, което ние имаме в наличност.
Така че аз ще отида да попитам моя приятел модел, който ще ми даде обратно всичко,
всичко, което той знае за нашите якета.
>> Така че на модела човек проверява тефтера си.
Той вижда, че имаме три якета.
И той казва на контролера обратно, тук са якетата имаме на склад.
Контролерът не е позволено да ти покажа нещо.
Това не му е работата.
Неговата работа е да бъде посредник между модела и гледката.
Така че той не можете директно да им покажем.
Той го връчва на манекена човек или самите манекените.
Тя поставя върху манекените.
И манекените са тези, че ви покажа крайния продукт.
>> Така той взема якетата.
Той е на администратора, им дава на вижданията.
Всички те се свърши до.
И в края на деня, виждате това, което искате да видите.
Подобно на един сайт как това човек отнема това, което са въведени,
пита модела за тях.
И след това евентуално, той дава на мнението
с цел да се покаже на екрана.
Надяваме се, че малко по-прави по-ясна за pset и Objective-C,
защото за двете тях, това е много важно
че знаете кои файлове са които.
>> Вие казвате, е този файл контролер?
Am I пускането оглед код в моя контролер?
Или правя прекалено много мислене в мен?
Всички те ще потенциално дори да доведе до грешки,
защото Objective-C много стриктно налага този принцип.
Така че основно, не нарушават MVC.
Той ще направи своя код тъжна и евентуално бъги.
>> Сладка.
Така че това е малко за MVC.
С това се каза, нека проверите кода например.
И така, аз не искам да отида в твърде много подробности, защото наистина,
, за да се научат тези неща, вие трябва да го научите от земята.
И това е направено от пробвате уроци.
Но да се надяваме само чрез погледнете в някои примери,
можем поне да се получи усещане за това, което структурата на тези неща са.
>> Така че, аз ще дойда тук.
Ние имаме много различно видове файлове в тук.
Но за щастие те се подредят доста добре с трите части на MVC
че ние говорихме за преди.
Така че един от тях е моделът.
Това е наистина добре появиха.
Тези са като двете различни модели, които имаме.
Те са две различни, можеш да се сетиш на тях като двете различни бази данни
че имаме.
>> Така че във вашата pset тази седмица, че имате база данни на потребителите, база данни с портфейли,
и анамнеза на база данни, тези, ще бъде като си три модела.
Има три различни пичове с checkboards.
И те знаят всичко има да се знае
за тези три различни неща.
По същия начин тук имаме тези файлове.
И ако ние кликнете в едно, така че тук имаме ScaryBugData.
Така че това е моя клас.
Това е моя клас.
Тук можете да видите, че съм тя определя като RWTScaryBugData.
>> И така, както казах и преди, всички класове има неща, които те съдържат в тях,
както и неща, които могат да направят.
Това са две различни неща, които са по данни бъг.
Какво е някаква информация, която е в данните за грешки?
Ами на първо място, това, което е Заглавието на този бъг?
Предполагам, че трябва да обясни това, което прави това приложение.
Това е приложение, което ви трион, пред който просто
е списък на всички видове страшни бъгове.
>> Така че тук ние ще се окажете показване бъговете с техните снимки и такива неща.
Така че този клас ще се капсулира само текстът на този бъг.
Така че това, което включва името му е, както както и рейтинг на колко страшно е.
И едно от нещата, че тези данни може да да, добре, единственото нещо, което той може да направи
е, че ще се инициализира с заглавие и както с рейтинг.
>> Така че, ако имаме Например, празна инстанция на тези данни,
ние може да искате да тя се инициализира с данни.
И така, ние може да премине в заглавие и рейтинга по този начин.
Така че един от начините, че това ще се нарича е така, ако кажа RWTScaryBugData.
И тогава аз правя АПос.
Това просто означава, да ми дадете празна инстанция на този клас.
Така че сега ние имаме един празен инстанция на ScaryBugData.
И ние сме готови да започнете хранене тя неща.
>> Ами за щастие имаме метод за този клас, който прави точно това.
Така че можем да кажем, initWithTitle и низ.
Какво е заглавието, че ние искаме да я дам?
Искаме да кажем, че това е един призрачен паяк.
И си рейтинг ще бъде 9.5 от 10 възможни точки призрачен скалата.
Така че пример за това как бихме могли да използваме първоначален
функция, за да се действително премине в данните
да се инициализира една инстанция на призрачен паяк.
>> И така, сега имаме действителен Например на данните от клас грешки, които
представлява нещо общо с бъг.
Готино.
За тези от вас, любопитни, това малко е просто най-
приумица на Objective-C, това означава, че аз искате да създадете копие на низ.
Така че това е като супер бърз начин за създаване на
действителен обект, който е низ.
По принцип само не забравяйте, поставени в пред вашите струни.
>> Cool Така че аз ви казах, че на .h е заглавната си част.
И .m е изпълнението.
Така че, ако ние отидохме в тук, щяхме да очакваме виж още малко на изпълнението
за това, което тези неща е.
Така ще научите за това неща в уроци надяваме.
Има нещо, което ви Трябва да се помни, за да намалят / паста.
Но това, което виждам е, че тази функция, този метод,
всъщност получава изпълнени.
Той казва, че когато някой призовава тази функция, какво
искаш да се случи?
>> И се оказва, че това е това, което искате да имате случи.
В функция първоначален, това е доста бланкетни.
Но ако сте създали своя собствена функция че е имал свой собствен поведение,
логиката за това, което би отида на тази функция
ще бъде много подобен на това, което сте прави в C. Това е точно същото.
Вие създавате функция.
Вие искате тази функция, за да се направи нещо.
Така че тук ти пиша на Objective-C, че
ще направи го направя това нещо, което надяваме се, ще бъде по-ясно да ви
след като знаете Objective-C.
>> Сладка.
Така че това са примери за нашите модели.
Какво ще кажете за контролери?
Какво контролери приличат?
Така че ние имаме четири файлове тук които казват ViewController.
И това е нормално, че наставката Ще отида на всякакъв вид на контролера.
В Objective-C те са наречени вижте контролери,
които просто вид ви помага да се направи тази връзка между изгледа
и контролера гледка.
>> Така че нека да разгледате и навън.
Така че ние имаме този човек, наречен MasterViewController.
И работата му е да бъде този голям, основно цялата тази гледна точка,
на MasterViewController е нещо, което контролира това мнение.
Така че това е този, който върши цялата мисля, че за цялата страница.
>> Другият казва DetailViewController.
И той е този, който прави мисленето за това,
защото това е най- подробности вижте, по подобен начин
за това как вие имате един цитат контролер за вашата страница цитат
и с контролер за вашата по страница.
Всеки един получава чифт ViewController и View.
>> Така че този човек върши много неща.
Един метод, който ще видите над и отново е viewDidLoad.
И това е нещо като Вашата инт основна функция
в Objective-C, който казва, , че гледката е направил натоварване, което
означава, че аз съм готов да започнем да мислим.
По принцип имам това празна гледка, която искам
можете да започнете да правите мисленето за, започнете инициализиране неща
там, където трябва да бъде.
И така, това е, че ви пращам съобщение, че гледката е направил натоварване.
И сега сте готови да се направят някои мислене.
>> И така, какво прави този човек направя, когато си виждане товар?
Той създава лентата за навигация, което е това нещо в горната част.
Той добавя бутон за навигация бар, който е този малък плюс.
И тогава той определя неговия заглавието да бъде Страшен Bugs.
>> Така че, без да става прекалено гнидав пясъчен, има един куп други методи
това да се случи в този майстор изглед контролер, който са
доста специфични за тази молба.
Но какво друго мога вашето внимание?
Друго нещо, което прави тази гледна точка е сходна как според вас или вашия контролер,
Съжалявам, дръжки отговори на потребителя.
Това е функция че ще реагира, когато
някой кликне върху определен ред.
>> И в Objective-C, Това се нарича Segue.
Вие segueing от един екран на друг.
Така че това казва дадена че някой се опитва
да минат оттук към тук, какво искаш да направя?
И така, как мога да се подготвя, за да отидете от този етап към следващия етап?
Така че това е един пример на контролер.
Той е този, който прави мисленето.
>> И накрая, това, което е на мнение, изглежда?
Един наистина страхотно част за Objective-C
е, че възгледите всъщност изглеждат като гледка.
Те не са код.
В повечето случаи те не са код.
Те са всъщност снимки на това как искате да изложи мнението ви.
>> И така, това е пример за това, което гледката изглежда като в този случай.
И те действително нарича сторибордове, защото тя разказва вид
една история за това как някой минава през вашия ап.
Така че за много прости приложения, Това работи много добре.
Така например, тук можете да виж гледката над масите, които
Списък на всички различни грешки.
Той има тази малка стрелка, която казва, че когато някой кликне върху една клетка,
Искам да се преход да детайлния изглед.
>> Така че това е, което вашите възгледи приличат.
Те са обикновено сториборда.
Има и други програмни начини да декларират гледка, както добре.
Но ако работите с много проста ап,
сториборд е начин да отида.
И подкрепа за това е намерила наистина, наистина добре през последните няколко
версии на Objective-C IOS.
Така че това е един пример за оглед.
Има ли някакви въпроси относно, е там нещо, което вие искате да погледнете?
Или някакви въпроси относно това, което се случва в, така ли?
>> STUDENT: Можете ли да промените изгледа там?
Или пък трябва да бъде в рамките на вашия файл?
Зак CHAUVIN: Да.
Така че въпросът е възможно промените мнението?
Така че можете да направите всички видове неща на това виждане.
Например, тук имам списък на всички видове неща
че мога да добавя към мнението.
Така че искам да кажа, че винаги да има етикет в средата на този човек, който казва CS50.
Ако трябва да го пуснете отново, а след това CS50 ще се появи точно там.
Така че това е като влачене и пускане тип справят където лежеше всичко.
>> И той също има тази сладка нещо, наречено автоматично оформление,
което означава, че можете да завъртите телефона си,
той автоматично ще се оправям с това.
И това е нещо като неща, които биха да бъде кошмар за да напишете в кода,
но когато сте просто да я показва на екран като този не е толкова лошо да се направи.
И така, това е основно като теб Никога не трябва да пиша CSS отново,
които, ако сте написали някоя CSS за това pset, трябва да бъде наистина щастлив.
>> Готино.
ДОБРЕ.
Така че това е един от начините.
И тогава друг начин е има начини програмни
да добавяте неща, за да възгледи, както добре.
Така че в възможно да се наложи друг папка, която се нарича гледка.
И вие можете да се обяви прегледате само чрез оформяне,
Аз нямам никакви примери тук.
Но има начини в код, за да се дефинира какво става тук основно.
Така че може да се каже етикет добави към моите маса оглед контролер, нещо,
подобно, табличен изглед.
>> Сладка.
ДОБРЕ.
Така че има малко Например на кода.
Следващата много проста, просто говорим за някои съвети.
И тогава ние ще се направи.
Така че най-големият ми съвет е че ако се опитате и да скочи
право в приготвянето на крайния Вашия проект когато сте учене на нови технологии,
тя много рядко работи на добре, защото колкото
Може да сте виждали с някои от Вашите psets, за първи път
които се опитват нещо, то завършва е малко разхвърлян.
>> И това не е толкова лошо, когато по време на това, което работи по е само една седмица.
Но, ако се опитвате да се развива това за своя окончателен проект
или извън вашия окончателен проект, това е важно
че да започнете вашия проект, след като сте
справедлив малко познания за други неща.
Така че това не трябва да бъде огромна.
Вие не сте се създаде две финални проекти.
Но може би намери урок от едно от средствата
че аз ще посочим в края на това, което казва, се създаде
пример на Twitter приложение.
>> Или се създаде един пример, дори страшно бъгове нещо.
Ако сте изпълнени всички страшните бъгове, че
Би било чудесно начало, така че, когато всъщност отиде да създадете свой собствен,
вие не правите малки грешки или завършващ с всички сортове от случаен код
в окончателния си проект.
Направете малка ап преди да скочи в окончателния проект.
>> Следващата имаме използване Git да си сътрудничат с партньори и запишете работата.
Така Git не е нещо, ние сме говорихме много за в CS50.
>> STUDENT: Дали е като GitHub?
>> Зак CHAUVIN: Това е нещо като GitHub.
Така че това, което са Git и GitHub?
Каква е разликата?
Те какво правят?
Така Git е начин за спестяване няколко версии на вашите файлове
цял куп пъти.
Така се каже, върху което работите есе.
Работата ви е само някога има една версия на това есе.
Така че, ако сте написали цял куп неща.
И тогава вие сте като, о, Имам тази велика идея.
Отивам да добавите целия този параграф.
И аз отивам да се намали тази навън и бла бла бла.
И тогава ще стигнем до края на това.
И вие сте като, о.
Аз всъщност мисля, че ми харесва моята версия преди по-добра от тази.
Така че след това можете просто да напишете отмените един милион пъти.
>> Основно това, което прави, е Git тя има ви спести версии на файла,
на цялата своя проект, като отидеш заедно.
Така че може да се приложат първата част от проекта си.
И след това спаси моментна снимка на какъв е вашият проект е като тогава.
Така че може да се каже, аз току-що завърши това.
И всичко това е работа.
И тогава един ден по-късно, да се върне.
И вие прекарате целия ден работа по него.
И се оказва, че счупи някои неща.
>> Ти не знаеш какво се случва.
Само ако можех да се върна към вашия предишна версия или дори само
погледнете какво е вашето предишно версия да видим какво правиш по различен начин.
Git ще ви позволи да направите всичко това.
>> И вие споменахте GitHub.
Git е и начинът, по който вие сътрудничи с други хора.
Така GitHub е това нещо, което онлайн изисква, че използвате Git.
И ако използвате Git локално на вашия собствен лаптоп,
След това можете да използвате GitHub, което е като облак,
като пространство за съхранение в облака, така че да можете
да натиснете си неща от вашия местен версия на Git върху облака.
И тогава някой друг, който също има Git може да вземе това, което е на облака
върху техния машина, тяхната местна машина.
>> Така GitHub прави сътрудничество чрез възможно Git.
И така Git има две предимства че тя ще ви предпази
от получаване супер разочарован, че не бъде
можете да се върнете на предишната работа, което се случва изненадващо често.
И също така, че да ви позволи да плавателни съдове сътрудничи с партньори.
Буквално ние виждаме хора като равенство бокса неща напред-назад помежду си,
която ще ви накара да се тъжно бързо.
>> Git е начинът да го направя.
Той е създаден специално за програмисти.
И тя има също страхотни инструменти.
Има вероятно е CS50 семинар за него.
Ако не има всевъзможни големи ресурси за онлайн Git.
ДОБРЕ.
Последният ми съвет е да тече вашия Код често, за да се изравнят бъгове рано.
Това е наистина като бакшиш за всеки подреди по програмиране, че сте прави.
Но това е особено важно, когато сте като на една нова технология,
защото ако направите 10 минути струва на промените, и след това можете да го ползвате,
и това е счупена, имате много по-малко идея от това, което е счупен, ако сте били постоянно
използвате вашите програми.
>> И дори като някой, който е бил програмиране в Objective-C за известно време,
Намирам, че ако аз чакат твърде дълго, преди да пуснете ми код,
това не е наистина ясно къде бъг е, идващи от.
Така тичайте кода си често.
И това ще се предотврати пропадане преживявания късно в линията.
>> Така че какви са някои ресурси за вас?
Това първо и последно една са страхотни онлайн ресурси, raywenderlich
както и rypress.
Примерът на страшни бъгове дойде от raywenderlich.
Ще се изпраща тези слайдове, както добре.
Но вие сте добре дошли да ги вземат определени сега.
Така че тези, които са достъпни онлайн.
И тогава хода Stanford IOS е на разположение чрез качи U.
>> И това е всъщност курса, че го направих.
Работил съм в работата IOS това лято.
И тогава аз се появи.
И разбрах, че не знае нищо за IOS.
И затова взех този курс за подобно няколко дни.
И тогава бях готов да скочи в развитие IOS.
>> Така че, ако сте посветен на използване на IOS за вашия проект,
След това най-добрият залог за сигурност, е, да се направи едно от тези уроци
преди да се опитате нещо друго, защото тя може да бъде супер разочароващо просто да мушкам
наоколо в Objective-C, без наистина знаейки, някои от основите.
>> Така че всички те са големи ресурси.
И аз вероятно бих препоръчал Станфордския разбира се най-много,
Просто защото това е професор.
Той е научил много за този вид неща.
И така, това е един голям ресурс.
Това е всичко, което имам да кажа около Objective-C. Правя
вие имате някакви окончателни въпроси?
Или като можем също говорим за вашите идеи?
Да?
>> STUDENT: Какви други езици място има за кодиране на ап развитие?
Какви са предимствата на Objective-C над другите или други потребители по Objective-C?
>> Зак CHAUVIN: Със сигурност.
Това ли е специфична за iPhone или?
STUDENT: Да.
Зак CHAUVIN: Sweet.
Така че въпросът е какви езици са там за разработването на iPhone?
Така че почти само две, са Objective-C и Swift.
И така ми фон е в Objective-C. И така, това е, което аз ще настоява за.
>> Говорих малко за това.
Но това е основно само искала толкова по-установена език.
Той е бил около продължение на много години.
Поради това, много хора го използват.
И няма начин повече средства за го, защото тя не е от вчера вече.
И това е също много по- подобен на C, отколкото Swift.
Swift е може би по-скоро като JavaScript.
И това е много по-често.
>> Цел-С е много по-често в индустрията, отколкото Swift
за повечето от причините, които казах преди.
Това е нещо като наследството език, че хората започнаха да използват,
както и, че това е много по- по-добре подкрепени от ресурси.
Суифт страхотно, както добре.
Има и други уроци.
Има и други уроци CS50 на Swift.
Вие сте добре дошли, за да проверите тези навън.
И да вземе решение за себе си.
Това определено къде ще.
Аз няма да се преструвам че Objective-C е
ще бъде около завинаги.
Но това е въпрос на, когато че ключа ще се случи.
Но повечето хора използват Суифт.
Готино.
Всякакви други въпроси?
Сладка.
ДОБРЕ.
Така че това е всичко, което имам.
Аз ще си наоколо за малко в случай вие искате да говорите за вашите идеи
или как е възможно те.
Но благодарение на куп, че дойдохте.
И пожелание за отлични проекти.