RHED SHI: Sveiki pamatyti CS50 seminarą - Įvadas į iOS. Dėkojame visiems, kad atvykote. Tikiuosi, kad jūs esate, kaip malonu kaip aš apie iOS. Pernai aš paėmė CS50 kaip antrakursis, ir aš iš esmės išmoko iOS už mano galutinis projektas. Ir tai buvo gana - gerai, tai nebuvo lengva, tačiau yra daug paramos samouczków internete. Aš tikrai tikiuosi, kad su šiuo seminaras, aš duosiu jums vaikinai galva pradėti iOS plėtros Taigi, kalbant apie iOS plėtros, yra du pagrindiniai dalykai, kuriuos mes norite padengti šiandien. Pirma, kalba - kalba ketinate būti Objective-C. Mes iš tikrųjų išgirsti kažkas tikrai įdomu. Taigi, jūs galite prisijungti visą "Apple" bendruomenės kūrėjų ir sukurti kai tikrai nuostabus Apps. Be to, "iOS 7 yra gražus, tikiuosi, kai kurie iš jūsų. Bet tai ginčytinas dalykas, aš žinau. Ir daugiausia, ką aš noriu padaryti, tai instrukcija jūs per Objective-C ir taip pat Xcode, kuri yra integruota kūrimo aplinka, kuri jums bus darbo iOS. Ir taip, tiesiog žodis Objective-C. Iš esmės, tai lygiai toks pats kaip C, bet su daug kitų dalykų. Ir taip, griežčiau, tai tikrai super rinkinys C. Taigi, nieko, kad jūs gali padaryti C dabar, kuris yra iš esmės patinka pset 0 per 6, jūs gali daryti Objective-C. Taigi, nereikia bijoti apie šį naują kalba, kad jūs ketinate mokytis. Jūs jau taikoma daug jo, nes jūs visi padaryti çAtitikties praeitį semestrą, išskyrus dabar jūs ketinate turi daug dirbti. Ir aš tik ketina vesti jus per pora pavyzdžių, pabrėžti kai iš pagrindinių skirtumų, kad aš rasiu buvo tikrai svarbu, kai aš sužinojau, Objective-C pernai. Na iš tikrųjų, taip, kitas punktas yra Objective-C yra, be abejo, Objektinis. Ir mes aptarsime šiek tiek apie tai, ką tai reiškia, kad vėliau. Iš esmės, tai, pavyzdžiui, kaip dirbote structs šioje pastaruosius pset, su mazgai ir panašūs kiti dalykų, pavyzdžiui, kad. Išskyrus, Objective-C, viskas yra objektas, ir jūs ketinate būti einančios aplink patarimų objektų o ne pačių vertybių. Taigi, tai tik kažką svarbaus nepamiršti. Taigi, kodėl ne mes pradėti su mažai skirtumai sintaksė tarp C ir Objective-C? Noriu pabrėžti # include, jūs žinau, standartas io.h C ir C + +, su Objective-C versija, kad kuri yra # importas, o tada kažkokia antraštės failą. Šiuo atveju, tai būtų UIKit, žinote, velniop UIKit.h. Taip pat gali būti, žinote, MKMapview jums velniop MKMapview.h jei norite daryti, kaip, žemėlapį viduje jūsų app. Panašūs dalykai kaip, kad. Taigi, svarbiausias dalykas yra įtraukti dabar pasikeitė importuoti. Bet idėja išlieka. Jūs ketinate būti importuoti tam tikros rūšies iš antraštės failą į savo programą. Taip pat noriu pabrėžti skirtumą tarp printf ir NSLog. Tačiau, kaip minėjome anksčiau, Objective-C yra griežtai super rinkinys C, kuris reiškia, kad printf egzistuoja Objective-C, taip pat. Tačiau dauguma žmonių nenaudoja tai. Dauguma žmonių naudoja šią NSLog nes jai suteikia jums laiko spaudu, ir mes pamatyti tai veiksmų vėliau. Bet tai paprastai labiau naudinga būdas spausdinti kintamuosius. Ir aš taip pat noriu pabrėžti, kad NSLog trunka tik pats vietos rezervavimo ženklo vertybės kaip printf nėra - taip:% d yra int, % F yra už plūdės. Tačiau aš noriu pabrėžti tai labai naujausia - NSLog% tuo ženklu - tai yra už objekto vietos rezervavimo ženklas. Ir kaip jau minėjau, Objective-C pasiūlymai gana daug, daugiausia objektų, ir todėl tai bus naudojama, kai norite spausdinti, ko gero, gal NSArray arba NSDictionary, arba NSString. Taigi, taip pat pastebėsite, kad mūsų NSLog pareiškimą, mes turime ne ženklas prieš citatos - tai yra, reiškia, kad sekas, dabar, Objective-C yra objektai. Jie nebegali paprasčiausiai char žvaigždutės. Jie objektai ir taip elgiamasi. Taigi, tai tikrai svarbu, kad kai naudoti NSLog ji imasi su NS eilutę, o tai reiškia, kad jūs turite įtraukti AT priešais savo kabutės. Ir štai kodėl matote, čia, visi mano funkcija skambučius tuo NSLog aš jaučiamas priešais kabučių, net nors% d ir% f 's yra viskas tas pats, iš C Turite klausimų iki šiol? Bandysiu eiti per tai greitai, kad mes galime turėti daugiau laiko dirbti su Xcode ir Objective-C, todėl kad jus vaikinai galite gauti daugiau susipažinęs su juo. Be to, noriu atkreipti dėmesį į ką nors konceptualiai svarbus. Taigi, C, dauguma dalykų yra funkcijos. Mes padaryti skambinimo funkcijos. Mes pareiškiame funkcijos Šiuo būdu, su grįžimo tipo, tada funkcijos pavadinimas, skliausteliuose, ir tada nepriklausomai nuo argumentų ir antrojo tipo šie argumentai norime perduoti in Ir Objective-C, nes viskas yra objektas arba klasė - taip klasę ir objektas yra dvi sąvokos, kurias dažniausiai tapatinama su kitu, todėl aš gali naudoti juos pakaitomis per seminarą. Tačiau, jūs pamatysite, kad mes turime metodus Objective-C, o ne funkcijas. Ir metodai priklauso objektus. Taigi lygiai taip pat, o gal imtis Pavyzdžiui, mazgas - mūsų tipas [nesigirdi] mazgas iš pset 6 ar 5 - mes turime žodį, turtą, ar kitas mazgas rodyklę. Metodai yra tiesiog funkcijos viduje kai struktūros rūšiuoti. Taigi, šiuo atveju, struktūra būtų objektas, tada metodas kažkas, kad priklauso objektas. Ir tai, kaip galėtumėte paskelbti, rūšiuoti, metodas. Galima būtų pradėti vėl grįžti tipas - taip, aš bandžiau spalvos koduoti raktažodžiai čia, kad vaikinai matote bent formatavimą panašumų funkcija deklaracijos ir metodas deklaracijos. Taigi, galite pradėti su, žinote, grąžinimas tipas - šiuo atveju, tai masyvas arba NSArray rodyklė - ir tada jūs turite šį metodą. Ir tada, kas įdomu čia kad užuot skliaustus, mes turėti šiuos dvitaškius. Ir tada, prieš mūsų argumentų, mums vėl įdėti,, skliausteliuose tipas mūsų argumentų. Taigi, dabar aš bandau padaryti palyginimas tarp, jūs žinote, n ir skaičius, nes jie abi kaip ints. Ir tada, kita yra NSUInteger tipas. Ir tada, su Objective-C, kai jums norite turėti kelis argumentus jūsų būdas sąlyga, jūs, rūšiuoti, atskirti juos lyg tai - Nesu visai tikras, kaip apibūdinti jį, bet tai yra geras pavyzdys, kaip jūs gali turėti kelis argumentus ten. Galima, žinoma, tik visiškai ignoruoti andArray dvitaškis NSArray matrica jei norėjo tik metodas kad užima vieną argumentą. Taip, klausimas. Auditorija: Ar abu NSUInteger ir NSArray argumentai, kad gali būti imtasi per NSArray? RHED SHI: Taip. Taigi, leiskite man paaiškinti. Taip, taip. Taigi, klausimas buvo yra NSUInteger ir NSArray * rūšių argumentais, ir tai teisinga. Taigi, jūs visada norite nurodyti, ką Jūsų argumentų tipas yra. Ir čia aš bandau jums pristatyti kai sintaksė ir vocab iš Objective-C, todėl jie yra tikrieji tipai kad jums bus susiję su. Ir kaip jūs pastebėsite, masyvai nebėra, rūšiuoti, paprastas laikiklis dalykų. Jie objektai. Nors, jei mes einame į kitą skaidrė, matome, kad galime sunkiai kodas NSArray Objective-C su tiesiog tuo ženkleliu skliausteliuose. Aš ne, iš tikrųjų, yra gana tikri, ar Aš sintaksiškai sunkiai koduojamų masyvą teisingai C versijos, bet tai turėtų būti iš C masyvo. Taigi, tai yra, kaip jūs žinote, gal naudoti funkcijas ar metodai, mes sukūrėme anksčiau. Teisė? Taigi, tai yra, kai mes paskelbti mūsų funkcija ir mūsų metodas. Ir dabar mes norime juos panaudoti mūsų programa, ir tai yra kaip mes norėtume daryti. Taigi, C, jūs turite, žinote, galbūt, bool b ir nustatote ją lygūs funkciją, tada pereisite į argumentus. Objective-C, tai gana tas pats dalykas. Turite NSArray * my_array, ir tai ketina prilygti - dabar tik skirtumas čia yra šis objektas dalykas, kurį aš geltonos spalvos, ir kaip matote, C, yra joks kitas geltonas žodis. Ir tai todėl, kad metodai priklauso su tam tikru objektu. Štai kodėl man reikia turėti objektą kad, tarsi, vadina šį metodą skaičius lygus nuliui, tada NSArray, b, c, d. Bet apie tai, kad klausimų? Pamatysime šias sąvokas veiksmų gana greitai, kai mes einame į demo. Gerai. Dabar, aš noriu kalbėti šiek tiek trumpai apie Xcode 5, kuris yra Integruota kūrimo aplinka kad jums dirbti su. Žinau iš jūsų daug, ar kai kurie iš jūsų, neturiu Mac, kuris yra problema nes Xcode nėra Windows ir PC. Neklausk manęs, kodėl, bet tikriausiai - Taip, įmonės. Koks skirtumas. Bet vistiek, taip, atsiprašau, jei kai kurios jūs turite atsisiųsti kažkokia virtuali mašina Mac Kad paleisti Xcode 5. Bet tai yra gana madingas programinės įrangos naudoti. Ir taip, kol mes pasinerti į kokį nors iš demo, aš tik noriu parodyti jums vaizdą, ką Xcode išvaizda ir savo langą, o tada taip pat kalbėti apie ką visa ši erdvė. Taigi, tai lyg išmokti "Microsoft Word", išskyrus norite susipažinti su visais įvairių dalykų, kad vyksta čia. Taigi, pirmiausia, noriu jums nurodyti į viršuje įrankių juostoje. Jūs pamatysite, kad viršuje, turėsite failo pavadinimą - arba, iš tikrųjų, jūsų projekto pavadinimas ir tada jūsų failo pavadinimas. Atkreipti dėmesį į žaidimą ir stabdymo mygtukai. Jie yra tie, kad jūs būsite naudojant paleisti app treniruoklis - iOS simuliatorius. Tai automatiškai ateina su Xcode 5, todėl jūs neturite jaudintis atsisiųsti kai treniruoklio rūšiuoti. Jūs tiesiog paspauskite žaisti ir tada jis veikia savo programą. Ir jūs galite žaisti aplink su jumis ir pamatysite, kaip ji veikia vėliau. Ir tada, centre, žinoma, yra kur visi jūsų gražus kodas yra ketina eiti. Ir tada, ant kairėje pusėje, jums turėti tai, tarsi, aplanko - navigacija - ir tada, jūs taip pat pamatysite, kad kartu su aplanko piktogramą, yra krūva kitų piktogramų ten, kad bus naudinga vėliau. Ir tada, dešinėje pusėje yra įrankis sritis, kurioje galite dirbti su kai kurių objektų ir nurodyti, jums žinoti, ką spalva turėtų būti, ką teksto šrifto turėtų būti, ir tt. Nors viskas, kad jūs į naudingumo srityje, jūs galite daryti kodą, taip pat. Ir taip, aš išgyvena dviejų pavyzdžiai naudojant, tiesiog, neturi kodą visi - arba labai minimalus kodas - eilutės visą kodą, tik todėl, kad jūs vaikinai žinoti, ką gali ir ko negali daryti Xcode ir Objective-C. Ir tada, pagaliau, žemyn apačioje turite derinimo srityje. Taigi, jums nebereikia paleisti GDB, ir tt, jūsų programose atlikti. Jis automatiškai daro tai už jus. Ir jūs taip pat gali spausdinti stuff šioje srityje. Taigi iš tikrųjų, vėliau mes pereiti per mario.c, jei jus vaikinai vis dar prisimena , kad Xcode. Taigi, kad turėtų būti įdomus. Ir tada, tik jį atgal į Objective-C, aš noriu atkreipti dėmesį į tai, ką jūs galite padaryti su if. Taigi, jūs žinote, nes tikslas-C Superset C, viską, ką padaryti, tai, tiesiog, kaip ir C. jūs tiesiog turėti nežymius skirtumus. Taigi, jūs pastebėsite formą, jei pareiškimas yra dar tas pats - jūs turite jei ir tada jūs turite skliaustus su viduje sąlyga, kad ir tada garbanotas petnešos ką noriu padaryti viduje ten. Tačiau aš norėjau įdėti šią skaidrę aukštyn čia tiesiog norima parodyti, kad nes mes susiduriame su daiktais dabar mes turime naudoti šiuos dalykus vadinamas kaip yra lygi eilutę, kurioje yra, atsitiktinai, dėl metodas eilutę ar NSString objektas. Taigi, žodis, šiuo atveju, yra NSString prieštarauti, ir ji turi metodą, vadinamą yra lygi eilutę, ir tada mes artimųjų į sunkiai koduojami eilutę pamatyti ar jie yra lygūs vienas kitam. Turite klausimų iki šiol? Gerai. Ir aš noriu eiti per už pareiškimą, taip pat. Taigi, pavyzdžiui, jei mes norėjome kilpa per ją į C eilutės ilgis, tai turi būti susipažinęs su Jumis. Ir, Objective-C, aš noriu pabrėžti tai, tarsi, metodas, kuris vadinamas skaičius. Na, iš tikrųjų, leiskite man tiesiog, kad nugarą. Skaičius yra masyvo metodas. Tačiau, tai konkrečiai turtas masyvo, kuris yra, kodėl jūs galite naudoti dot žymėjimą. Bet aš nenoriu patekti į per daug Šis konceptualus dalykų, aš tik noriu parodyti jums, kaip viskas atrodys kaip ir Objective-C, palyginti su C Ir aš taip pat noriu atkreipti dėmesį, kad nors aš naudoju NSUInteger prieš visus mano i-aisiais Objective-C, Taip pat galite naudoti int, int, nes yra visiškai galioja Objective-C, taip pat. Taip? Auditorija: Ar tai tik stilistinė, arba - RHED SHI: Taip. Taigi, kaip pamatysite - taigi, klausimas buvo tai, kad tik stilistinė klausimas. Kaip pamatysite, turiu, rūšiuoti, žvaigždė Žvaigždutė dalykas žemyn apačioje, ir kad nuorodą, pateksite į kamino Perpildyta forma, kai kažkas aiškina tarp tarpt skirtumas NSInteger ir NSUInteger. Ir taip, jūs galite skaityti apie tai vėliau. Šios skaidrės bus, žinoma, prieinamas jums. Pažiūrėkime. Gerai, nuostabus. Taigi, tai taip pat yra įtrauktas į skaidrę nes maniau, kad tai buvo puikus svetainė, kuri supažindina jus į Objective-C sintaksė. Taigi, iš tikrųjų, kodėl ne mes einame į Chromas ir patikrinti šią svetainę? Teisė. Taigi, ką aš noriu parodyti jums vaikinai čia tai vaizdas. Taigi, tai, tarsi, bus ką jūs einate pamatyti viduje bet Xcode failas. Tiesą sakant, kodėl ne mes tiesiog momentas, rūšiuoti, pasinaudoti šia in Taigi, ši knyga - tai objektas, kuris mes susiduriame su. Ir tada, jis akivaizdžiai bus paveldėjo iš kažkokio kito objekto, bet Jūs neturite jaudintis, kad. Ir tada, jis, ko gero, yra kai kurios valstybės kintamieji. Svarbus dalykas, aš noriu parodyti jums yra instancijos metodai, čia. Taigi, instancijai metodai žymimi šio minuso ženklu. Ir tada, kaip jūs pastebėsite, mes jau pradeda rodyti paradigma Metodams deklaraciją, ar ne? Grįžimo tipo, metodo pavadinimas, ir tada argumento tipą ir tada argumento pavadinimas. Ir tai Minuso ženklas reiškia, kad jis Pavyzdžiui metodas, kuris reiškia, kad šie metodai yra prieinami tik objektus, kurie buvo instantiated. Kontrastas, kad, metodai su pliuso pasirašyti prieš juos yra klasės metodai, o tai reiškia, kad galite skambinti šie metodai, net jei jūs neturite Objektas sukurtas dar. Taigi, aiškiai, pavyzdžiui, NSString yra klasė. Ir galite skambinti, pavyzdžiui, klasės metodai, NSString - faktinis, pavyzdžiui, žodis NSString. Tačiau tam, kad jomis pasinaudoti metodai, jūs iš tikrųjų reikia sukurti eilutę. Pavyzdžiui, NSString žvaigždė styginių Lygu į kabutes, hello world. Ir tada galite naudoti šiuos metodus - instancijos metodai - tą Hello world eilutę. Taigi, tai skirtumas tarp instancijos metodai ir klasės metodai. Ir mes tiesiog taikoma ši dalis. Savybės yra dar vienas dalykas, kad yra viduje objektų, iš esmės. Ir jūs paskelbti juos ne nuosavybės raktinį žodį. Jūs turite šias galimybes, čia kad aš paaiškinsiu vėliau, kai mes einame į demo. Taip? Sveiki. Auditorija: Ar galite padidinti, prašome? RHED SHI: O taip. Atsiprašau. PUBLIKA: Ačiū. RHED SHI: Tai turėtų būti daug geriau. PUBLIKA: Taip. Ačiū. RHED SHI: Taip, prašom man priminti jei Aš pamiršti padidinti arba sumažinti. Taigi, tai yra viskas, ką aš norėjau parodyti jums - Whoa, tai daug - šioje svetainėje. Taigi, grįžkime prie mūsų skaidres. Tiesą sakant, dabar tegul šiek tiek laiko pasinerti į demo. Taigi, mes pradėsime su nauja Xcode projekto. Taigi, jei jums atverti Xcode apie visus Jūsų mašinos, jis turėtų būti jums keletą puslapis, kuriame jis sako, kaip, arba atvira iki esamos projektas arba naujas projektas, ir jums reikia spustelėkite naują projektą. Ir tada, jis turėtų būti jums šiame ekrane. Taip? PUBLIKA: Jei mes neturime Mac, mes tiesiog rūšies chill? RHED SHI: Arba pažiūrėkite su žmogumi, taip. Taip. Galite nusiraminti, taip pat. Gerai. Taigi, ką mes ketiname padaryti pirmiausia, dabar, yra, iš tikrųjų, mes ketiname daryti vienas vaizdas taikymas. Taigi, jei jūs pastebėsite, koks puikus apie Xcode ir Apple paramos kūrėjai yra ta, kad jūs turite daug šablonai dirbti su jau. Galima, pavyzdžiui, kad master-detail taikymas. Jūs galite padaryti žaidimą - ir iš tikrųjų, aš neisiu į žaidimus, nes žaidimai yra kita istorija iOS plėtrai. Ir jie rūšies atskirai, todėl aš neisiu į tai. Tada turite puslapis pagrįstas programos. Jūs turite skirtuką programa - taip patinka, pavyzdžiui, "Bank of America tikriausiai turi, kaip, skirtukų app. Tai tie, kur jūs turite apačioje mygtukai. Ir tada jūs turite Sprite Kit žaidimą. Arba galite dirbti nuo nulio, o yra tai, ką mes padarysime vėliau. Bet tegul, pirma, pradėti vienas vaizdas taikymas. Tada jis paprašys, kad gaminio pavadinimas, ir mes galime tiesiog padaryti testą. Organizacijos pavadinimas - taip, organizacijos pavadinimas, Bendrovė identifikatorius - tas yra svarbu, jei jūs ketinate įdėti savo app į App Store. Išskyrus, kad jūsų kodas ketina paleisti tikrai gerai nors tai. Tai bus svarbu, jei jums nori - taip, per se, kaip, įdėti savo app į jūsų telefoną ar kažką, ir bandymo tai, jūs žinote, realiame gyvenime - tai bus svarbu. Tai paprastai paprastai siejamas su kai kūrėjo paskyrą rūšiuoti su Apple. Ir taip, aš žinau, turbūt, iš jūsų daug nebus jokių kūrėjas sąskaitas. Aš žinau, universitetas turi vieną. Manau AP turi vieną. Tačiau, jūs galite rašykite man ir aš pabandysiu suprasti, kad už jus. Bet dabar, aš tiesiog įdėti kai placeholder dalykų čia. Ir jūs galite, žinoma, čia, pasirinkti ar norite, kad ji būtų tik iPhone ir iPad, arba abu - universalus taikymas. Taigi, dabar, darykime universalus, tiesiog matyti abi platformos pusių. Pažiūrėkime. Taigi, dabar aš ruošiuosi įrašyti tai kai kuriose aplanke rūšiuoti. Nesvarbu, kur - jums visada galite perkelti jį vėliau. Ir dabar mes atnešė mūsų Xcode projekto. Aš ne nerimauti apie visa tai. Siūlyčiau neliečia bet tai, jei jūs tiksliai žinote, ką darote. Taigi, visa tai, tiesiog ignoruoti didžiąja dalimi. Jums nereikės liesti ją, o jei padaryti jums bałagan kai kurių dalykų čia, tai gauna šiek tiek sudėtinga. Taigi, kodėl ne mes žiūrime į dėl bylos kairėje pusėje mūsų navigator. Čia mes turime AppDelegate.h. Mes turime AppDelegate.m Taigi, kaip jūs Skelbime, mes header failus, kurie baigtis dot h, ir mes turime įgyvendinimas - Tiesą sakant, leiskite man priartinti Gerai. Leiskite priartinti Teisė, todėl jūs turite header failus ir turite įgyvendinimo failus. Tiesą sakant - Gerai. Tai šiek tiek keista, bet būti su manimi. Tada, nes mes pasirinkome vieną vaizdą taikymas, mes ketiname būti dirbant su siužetinės linijos. Taigi, siužetinės linijos yra kažkas, kad "Apple" atėjo su tikrai padeda kūrėjai greitai prototipas jų taikymai. Taigi, tai yra, kai jūs galite sukurti be rašymo programa viena eilutė kodo. Tačiau, mūsų bendros peržiūros taikymo, mes, žinoma, turime failą, mūsų nuomone, kuri yra vaizdo valdiklis. Taigi, mes turime antraštę ir įgyvendinimas failą čia. Ir aš ruošiuosi nutolinti, nes dabar mes turime dirbti siužetinės linijos. Taigi, čia mūsų nuomonė. Jei mes, tiesiog paleiskite programą dabar, nėra daug įdomių vyksta. Taigi, jūs pamatysite šį baltą ekraną. Gerai? Ir mūsų komunalinių paslaugų srityje, mes galime pridėti įvairių dalykų krūva jį. Taigi, kai jūs susiduriame su ekranuose iOS, peržiūrėti reguliatoriai objektus, kurie apima, rūšiuoti, jūsų požiūris. Taigi, vaizdas valdytojas visada yra turtą vadinamas vaizdas. Ir toks požiūris, paprastai, yra, žinote, ką jūs norite matyti ekrane. Taigi, gerai, tegul tiesiog pradėti išleisti, gal, gal etiketė. Taigi, galime uždėti etiketę, ten - klijuoti viduryje. Taigi, dabar, kad aš paspaudžia ant etiketės, aš gali eiti į savybes inspektorius ir pradėkite keisti savo vertę. Tegul ją vadina CS50 Spalvos. Ir aš taip pat galite pakeisti šriftą. Taigi, užuot sistemą, kuri yra Numatyta, kad mes galime padaryti pagal užsakymą vieną. Mes galime pakeisti - žinote, ultralengvųjų, kad jis 32. Ir tada mes galime padaryti mūsų dėžutė didesni. Auditorija: Ar manote, kad galite padidinti vos šiek tiek daugiau, o gal? RHED SHI: Taip? Gerai. PUBLIKA: Tiesiog bakstelėkite jį? RHED SHI: Pažiūrėkime. Ar šis darbas? PUBLIKA: Tiesiog praeiti Xcode? RHED SHI: Žinoma. Gerai. Nuostabus. PUBLIKA: pagal etiketę? Etiketė? RHED SHI: Kas tai? PUBLIKA: Kas išskleidžiamajame buvo etiketė pagal? RHED SHI: Taigi, klausimas buvo, ką išskleidžiamajame buvo etiketė pagal? Reikia tiesiog būti pagal čia. Manau, tai kubas dalykas. Tačiau paprastai, tai yra pagal nutylėjimą - Aš tiesiog nusileisti čia kol aš rasti etiketę. Taip. Taigi dabar mes turime etiketę. Leiskite centro jį. Ir Xcode suteikia mums gaires centravimo objektus. Taigi, dabar galime paleisti savo kodą dar kartą. Čia mes eiti. Taigi, mes turime CS50 spalvos. Ir dabar, tegul įdėti mygtuką ten, tiesa? Kadangi mes norime, kad tai interaktyvus. Taigi, galime įdėti mygtuką čia. Ir mes tai vadiname mygtuką "palieskite čia toliau. "Mes centruoti jį, taip pat Tiesą sakant, jis jau centre. Taip. Taigi, dabar mes turime mygtuką. Ir jeigu mes paleisti dar kartą, mes einame turėti gražią nedidelį mygtuką čia. Ir aš galiu spustelėkite jį, bet jis to nedaro nieko, nes nebuvo padaryta nieko su mygtuku dar. Taigi, galime sukurti kitą vaizdą, tiesa? Taigi, tarkim noriu bakstelėkite kad mygtukas ir aš noriu eikite į kitą puslapį - kitas vaizdas. Ką aš ruošiuosi padaryti, tai aš galiu sukurti vaizdas valdiklis, tiesa? Dabar aš spustelėkite ant mano mygtuką, tada svarbus dalykas yra, aš ruošiuosi spustelėkite - arba - Taip, paspauskite valdymo ant mano klaviatūros. Valdymas. Paspauskite mygtuką ir vilkite. Taigi, nepamirškite laikykite Ctrl klavišą. Leiskite tai padaryti dar kartą. Taigi, palaikykite kontrolės, spustelėkite ir vilkite ką jūs norite daryti. Gerai. Ir dabar turiu keletą variantų čia. Galiu arba stumti, arba galiu padaryti modalinis, arba galiu padaryti pagal užsakymą. Stumti tik jei turite navigacijos valdiklis. Šiuo metu, mūsų pirmasis vaizdas Reguliatorius yra ne viduje bet navigacijos valdiklis. Taigi, navigacija valdytojas vienas , kuri suteikia jums atgal mygtuką iOS app, kur jūs turite, žinote, kad viršuje, rūšiuoti, stora juosta - kur jūs galite pereiti atgal, arba į priekį, ir tt. Dabar, aš neturiu, kad. Ir taip, tai kodėl aš negaliu padaryti stumti. Taigi, aš spustelėjote paspaudimu netyčia čia. Ir iš tikrųjų, tegul paleisti kodą, ir ji turėtų nukristi ant manęs. Tik jei aš paspauskite mygtuką nors, todėl - teisus. Taigi, tai yra blogai. Ir, kaip matote, čia mes turi klaidos pranešimą. Taigi, "gali būti naudojamas tik Push segues kai šaltinis valdiklis valdo egzempliorius UI navigacijos valdiklio. " Todėl, kad tai buvo ne viduje navigacijos valdiklis, Aš negalėjau padaryti. Taigi, dabar aš ruošiuosi grįžti į aplankas, grįžta į siužetinės linijos. PUBLIKA: Kas navigacija valdiklis, vėl? RHED SHI: Taigi, dabar aš jums parodysiu. Pažiūrėkime. Taigi, aš ruošiuosi spustelėkite šį požiūrį valdytojas, ir tada aš ruošiuosi eiti iki produkto - Tiesą sakant, ne, atsiprašau - redaktorius. Ir aš ruošiuosi eiti į - Tiesą sakant, aš spustelėkite jį? Ne. Čia mes eiti. Aš ruošiuosi eiti į redaktorius, eikite žemyn įdėti į, tada navigacija valdytojas. Gerai. Ir mano darbo sritis atrodo tikrai nepatogus, tad valyti tai padaryti. Taigi, visa tai siužetinės linijos. Ir tokiu būdu - Gerai, stop - Galiu greitai sukurti kažką kaip šis. Ir tada, aš dabar gali eiti atgal, jūs žinote? Bet tai rūšies nuobodu, tiesa? Taigi, ką aš noriu padaryti, tai, aš nenoriu padaryti, tiesiog, vaizdą valdytojas. Tarkime, aš norėjau, kad iš tikrųjų padaryti stalo vaizdas valdiklis, kad aš galiu įdėti kai gražus spalvų, į lentelę. Taigi, dabar, kad aš įdėti mano stalo nuomone valdiklis, man reikia prijungti jį atgal nuo šio mygtuko vaizdas valdytojas. Taigi man reikia daryti savo kontrolę, spustelėkite, vilkite dalykas dar kartą. Ir dabar aš galiu padaryti, stumti, nes aš įdėti ji viduje navigacijos valdiklio. PUBLIKA: Navigacija kontrolierius tiesiog leidžia pereiti iš vienos vietos į vietą? RHED SHI: Taip. Taigi, techniškai, tai objektas, kur - taip, viduje navigaciją kontrolierius objektas, jis stebi masyvo. Ir kad masyvas yra visų vėliau peržiūrėti valdikliai. Štai kodėl, kai jūs paspauskite atgal, tai nueina į ankstesnį puslapį. Kadangi navigacija valdiklis objektas arba kodas, kuris rūpinasi šis objektas, yra masyvas, kuri išlaiko stebėti šių vaizdo valdikliai ir gali tada, žinote, DQ nuomonės valdytojas ir duoti jums atgal pirmesnis. Taigi, tai yra techninis dalykai, bet - ir aš jums parodysiu vėliau kodas, jei mes turime laiko. Aš rūšies bėga laiku, bet - Taigi, su lentelės rodinyje, ką mes galime padaryti, tai - Tai paprastai automatiškai su dinaminio prototipas - mes ketiname padaryti Statiniai elementų, kitaip mes ketiname paleisti į kai kurias problemas. Ir tada, tarkim aš turėti vieną skyrių. Taigi, skyriai yra kaip - jei jūs kada nors matė muzikos programą, kai turite menininkai skirsniai būtų būti s per Z's - raidės - ir tada, žinote, individualus eilutės būtų menininkas, pavadinimus. Ir taip, kas kietas čia yra tai, kad galiu prieiti prie visų vidinių objektų mano siužetinės linijos per šį išskleidžiamajame meniu, taip pat. Taigi, aš ruošiuosi spustelėkite ant mano skyriuje, ir aš noriu, žinote, gal penkių eilučių. Ir tada, viduje kiekvienoje eilutėje, Noriu uždėti etiketę. Ir aš ruošiuosi skambinti šio Blue. Ir tada, aš noriu įdėti UI, bet kada žinoti, gal, kaip, šiek tiek dėžutę. Taigi, kad aš galiu parodyti žmonėms spalvos peržiūra. Ir aš grįžti į turtą ir pakeisti tą spalvą, oi, aš ne žinau, tai viena. Ir tada, pastebėsite, taip pat čia, kai aš priedai, aš gali turėti daug įvairių priedų kad jūs paprastai pamatyti. Atskleidimas rodiklis, detalė, arba žymė, ar tiesiog išsamiai. Taigi, gal mes galime padaryti, kaip, atskleidimo rodiklis, pvz. Ir tada, kodėl ne mes imtis šių, kopiją įklijuoti juos, ir įdėti juos į šalia lentelės eilutė. Taigi, mes galime vadinti šią geltonas. Ir aš galėjo pratęsti šį. Padarykime tai geltonas. Ir tokiu būdu, mes galime nukopijuoti įklijuokite savo kelią žemyn. Kokia ji buvo? Violetinė. Taigi, visa tai yra būdinga CS50 spalvos, kad jūs mačiau klasėje - iš tikrųjų, atsiprašau - arba svetainėje. Tikiuosi jus vaikinai galite pamatyti ką aš čia veikiu. Gerai. Naujausia. PUBLIKA: Kaip jūs įtraukiate pradžių eilutėje? RHED SHI: Taigi, klausimas buvo, kaip aš pridėti eilutę iš pradžių? Nuėjau į šią lentelę skyriuje - ar vis dėlto galiu pasirinkite lentelės skirsnį - ir tada čia aš atnaujinamas eilučių skaičius. Ir leiskite man tikiuosi, kad tai veikia. Gerai. Leiskite pamatyti, jei ji veikia. O, puikus, nuostabus. Gerai. Nors buvau kurti savo demo, kai dalykų nebuvo suderinta, todėl, ačiū už plojimai. Taip. Taigi, pažiūrėkime. Mes padarysime tai devynių tiesiog padaryti viskas - ar iš tikrųjų, tegul tik paversti visa tai į atskleidimo rodikliai. Ir tada, ką aš noriu parodyti jums, taip pat, buvo, kaip aš galiu imtis kiekvienas iš jų lentelės eilutės ir juos bendrauti - oh. Ne. Oh. Be to, aš noriu parodyti jums, - čia aš galiu įdėti titulą mano navigacijos valdiklis, tiesa? Taigi iš tikrųjų, jūs pastebėsite, kaip tik aš integruotas šį vaizdo valdiklio viduje Navigacijos valdytojas, mes matome tai navigacijos juosta Mūsų Top siužetinės linijos atstovavimas iš vaizdo valdiklio. Ir taip, tai suteikia mums, kaip, vaizdo, rūšiuoti, vadovauti mūsų matomos ekrane. Tai akivaizdžiai ketina būti naršymo juostoje. Ir tai, ką aš noriu padaryti greitai, dabar yra įtraukti į kitą - todėl ši lentelė vaizdas valdiklis aš iki vieno iš jų ir vilkdami jį čia, ir tai, kas leido man greitai, tikrai, sukurti lentelės vaizdą valdytojas. Jei mes turime laiko, nors, jums matyti, kad programiškai, tai šiek tiek daugiau sudėtinga sukurti lentelę vaizdas valdiklis, nes Yra metodų, kurie yra pora reikalingi jums, rūšiuoti, rašyti iš tam, kad lentelės rodinyje Reguliatorius turi būti rodomas teisingai. Tačiau, aš tik noriu parodyti jums, dabar, kur, jei aš tai pavyzdys, pavyzdžiui - Aš įdėti į kitą vaizdo valdiklio. Ir dabar, tarkim noriu kontroliuoti alt mano labai pirmąjį mėlyna lentelės eilutė į čia. Ir aš noriu tai vadina mėlyna. Ir tada - pažiūrėkime. Aš ne mano dabar, o aš galiu pakeisti fonas mėlynas. Ir taip, pranešimo, čia tai išskleidžiamajame Meniu taip pat suteikia jums visų hierarchijos Šių objektų. Taigi svarbus dalykas, reikia pažymėti, čia, yra tai, kad visi šie dalykai, čia - Šioje lentelėje vaizdas valdiklis, lentelė nuomone, sekcija stalas vaizdas, stalo vaizdas ląstelė - visa tai yra objektai, kodu. Taigi, žinote, etiketė dabar yra pagal turinio peržiūra, ir tt. Taip toliau ir taip toliau. Taigi, jei mes paleisti šį kodą, mes turėtumėte pamatyti kažką - pažiūrėkime, jei tai - taip. Taigi, mes einame. Tačiau, jei mes nedarome, kad nė vienas šių ir kitų dalykų, dirbti. Teisė? Taigi, tik šis vienas veikia. Ir, kiek laiko labui, aš ne eiti į, jūs žinote, išleisti žemyn kitų. Ir tai yra pabaiga, rūšiuoti, siužetinės linijos - ką aš norėjau parodyti Jūs už siužetinę liniją. Ir aš turiu dirbo iš pavyzdžiu, Tiesą sakant, čia. Taigi, tai yra siužetinės linijos kad aš padariau anksčiau. Taigi, kaip matote, tai buvo mano navigacija valdytojas. Tada turėjau savo pirmąjį vaizdo valdiklis, tada aš turėjau Table View valdiklis, ir tada turėjau visa tai - taip anksčiau, darau kažkas labai skiriasi. Taigi, atsiprašau tų dalykų. Aš tikriausiai išvalyti jį vėliau iki Galiu siųsti jį į gamybą. Tačiau, jei mes paleisti tai, matysime kad visi variantai mums prieinama. Jeigu aš nepadarė fonas šios spalvos. Taigi, gražus paprasta programa. Dabar pabandykime išspręsti tai programiškai. Gerai. Taigi, norint tai padaryti, mes tiesiog vyksta pradėti naują Xcode projektą. Mes padarysime tai tuščia taikymas dabar nes mes nenorime turėti siužetinės linijos. Taigi, aš tiesiog apriboti save ne naudoti bet siužetinės linijos, ir tuščias paraiška nebus duok man siužetinės linijos. Tai tiesiog, kad būtų išvengta save nuo sukčiavimo. Pažiūrėkime. Palaukti. Ar aš - Taip. Gerai. Teisė. Taigi, čia mes esame palikti su nieko, bet kodas. Taigi, leiskite man pereiti šį langą šiek tiek daugiau. Teisė. Kaip matote čia, tik failai mes duodamoms AppDelegate.h ir taškas m, o mes neturime siužetinės linijos nebėra. Taigi, jei mes paleisti tai, mes vis dar ketina patekti į baltas ekranas, ačiū Dievui. Gerai - baltas ekranas, bet nieko daugiau. Ir čia yra svarbiausia dalis. Tai kur veiksmas vyksta. Per ankstesnes versijas, yra paprastai nėra kodą čia, bet siužetinės linijos iš esmės numato šiai daliai kodas. Aš neisiu į detales apie tai, kaip. Ir ką mes norime padaryti dabar, mes norime eiti į čia, ir tai mažai vietos prasideda iš naujo sukurti savo programą. Taigi - taip? PUBLIKA: Zoom? RHED SHI: Zoom. Taip, tikrai. Gerai. Aš būsiu rašyti, todėl tai neturėtų Nesvarbu per daug. Gerai. Taigi, pirma, atminkite, mes norėjome sukurti navigacijos valdiklis, tiesa? Ir taip pat, kaip matote čia, Xcode daro tikrai didelį darbą savarankiškai užpildyti. Taigi, kaip jūs pastebėsite, kad vietovardžiai viskas yra daug ilgesnis nei įprasta, bet Xcode pildo ją už jus. Taigi aš galiu tiesiog paspauskite "Enter". Taigi, aš noriu sukurti UI navigacijos valdiklis žymeklis, ir aš galiu jį vadiname navigationController. Dabar, ką man dabar daryti? Po šios lygybės ženklą, man reikia, pirma, sukurti jį viduje atminties. Taigi, aš ruošiuosi daryti NavigationController alloy - taip, tai yra panašus į malloc, kad jūs vaikinai naudojami C - ir tada aš ruošiuosi init jį. Taigi, tai tikrai svarbu, kad bet koks objektas, kad jums sukurti, norite alloy ir init jį. Tai, kas vyksta jį sukurti ir instantialize jį viduje atminties, ir dabar jūs galite jį naudoti. Viskas gerai? Jei jums nereikia daryti, kad jūsų objektas nėra nėra, ir jums bus paleisti į krūva problemų. Ir tada, aš noriu sukurti vaizdas valdiklis, tiesa? Taigi, aš noriu sukurti UIViewController star - taip, viskas yra žymeklis Objective-C, ir aš ruošiuosi daryti kažkas panašaus, čia - alloy, init. Gerai. Ir tada, ką aš ruošiuosi daryti, aš tikiu, vyksta - taip, atsimenu, kai mes padarėme navigacijos valdiklio įdėti? Tai, kaip jūs tai darote kodą. Jūs ketinate daryti navigationController pushViewController - PUBLIKA: [nesigirdi]. Ar tai atsitiks mums, arba -? RHED SHI: O, taip. Ne. Jis sako, kad patinka man geriau. Ne, tai bus dirbti jums, taip pat. Taigi, tai yra visi metodai. Taigi pushViewController yra metodas, ir taip pat, tiksliau, tai Pavyzdžiui metodas UI navigacijos valdiklis. Kadangi man teko sukurti savo UI navigacijos valdiklis žvaigždė, ir tada aš gali skambinti šiuo pushViewController į mano konkretus egzempliorius UI navigaciją valdytojas. Auditorija: Ar mes turime padaryti tikslią žodis, ar ji jau yra tai? RHED SHI: Taip, nes tai būdas. Tai kaip funkcija. Tai kaip printf. Tai lyg scanf. Tai lyg strcompare. Išskyrus tai žino, ką jūs galbūt norėsite tipo, ir pastebėsite, kad jis bus visada sugalvoti dalykų, kurie yra teisiškai leidžiama už jus. Taigi, jei nieko pasirodo čia tada kažkas yra negerai. Taigi, pushViewController. Taigi, dabar noriu stumti mano naujai sukurta UIViewController, o tada animacinis - galbūt ne. Kadangi tai bus Pirmasis požiūris kontrolierius. Aš turiu galvoje, net jei aš padaryti animacinis, tai tikriausiai nebus rodomas, nes tai pirmasis ekranas. Ir atminkite laikiklius. Taigi, prisimenu, kaip mes panaudojome laikiklius? Ir Skliausteliuose Objektas ragina metodą - todėl mūsų tikslas yra navigacija kontrolieriaus ir metodas yra tiesioginio vaizdas valdiklis animacinis. Ir pamatyti, kaip ji užima du argumentus, ir jie atskirti, rūšiuoti, žodžiai ir storosios žarnos. Taigi, tikslas-C bando padaryti jį gražus ir lengvai galite skaityti garsiai - Jūsų kodas - ir jį pusiau, rūšiuoti, prasmės. Tačiau, daro tik tai nepakanka. Leiskite nutolinti dabar. Daro tik tai nėra pakankamai gauti tai, ko mes turime anksčiau. Taigi čia, jūs pastebėsite, kad yra tikrai nesiruošia būti bet tarsi baras, čia tiesa? Nėra navigacijos baras, tai reiškia, kad mes vis dar ne Dotarłeś jį. Ir mes galime patikrinti, kad iš, taip pat pagal galbūt, keisti foną ViewController, tiesa? ViewController.background-- ah. Taigi, matyti, kaip ViewController neturėjo fono spalvą, nors aš norėjo ją gauti? Ir tai todėl, kad ViewController yra rodinio konteineris. Taigi, ji turi peržiūrėti turtą, kuris tada yra fono spalvą. Ir aš galiu nustatyti jį, tarsi Nemalonu, paskambinus spalvą ant UICOLOR objektą. Taigi, pranešimas čia redColor yra metodas. Tai klasės metodas UICOLOR. Nes aš neturėjau sukurti Tikrasis egzempliorius UICOLOR tam skambinti metodą ant jo. Aš tiesiog, tiesiog pavadino jį dėl tipo kaip pavadinimas. Aš, kaip ir paragino jį int, int, jei turėjo, kaip, būdas jį, pavyzdžiui. Ir taip, jeigu mes paleisti šį kodą, mes pastebėsite, kad fonas yra tikrai ne raudona. Jis vis dar balta. Ir kaip mes galime gauti aplink, kad yra pastebėti, kaip ten self.window. Tai yra, pavyzdžiui, pagrindinis konteineris jūsų paraiška. Tai yra pagrindinis dalykas, kad yra viskas ant ekrano, už iPhone ar iPad taikymo. Ir, patogiai self.window turi šią ypatybę, vadinamą rootViewController. Ir tai bus į rodyklę Pats pirmas vaizdas valdiklis viduje jūsų app. Taigi, ką mes norime padaryti čia, dabar, yra nustatyti, kad vienodas mūsų navigaciją valdytojas. Teisė? Nes techniškai, navigacijos valdytojas yra mūsų pirmasis vaizdas valdytojas. Jis saugo takelį kitų nuomone masyvo valdikliai ir mes stumti tai vaizdas kontrolierius į masyvo, navigacijos valdiklio. Taigi, jūs nenorite tai padaryti. Tai jums padės. Jūs norite tai padaryti, jei norite padaryti navigacijos reguliatorius, kuris labiausiai iš jūsų tikriausiai bus, nes jūs norite kad, tarsi, turi tam tikrą rūšiuoti, kaip, meniu grįžti arba kai puslapis grįžti į, o ne tuščias ekranas. Taip? Auditorija: Ar tai nemalonus jums priartinti - RHED SHI: Taip. Taigi, taip. Tai kodas, o dabar tegul išbandyti jį. Taigi, mes einame. Magija. Taigi, Gerai. Ačiū. Gerai. Taigi dabar, ką mes norime padaryti, tai - taip, mes tipo ribotas, čia tiesa? Mes potencialiai gali rašyti viską viduje šios vienos funkcijos. Bet tai ne kaip iOS plėtra paprastai dirba. Taigi, ką mes ketiname daryti, mes esame ketina sukurti keletą naujų failų. Tačiau, tiksliau, mes ketiname sukurti kitą Objective-C klasę arba kitas objektas - klasės ir objektai yra sukeičiami čia. Ir čia, kaip galėjau, potencialiai sukurti kitą U valdikliai klasę. Taigi, tai poklasiui, nes jūs pastebėsite, čia tai sub-klasė UI vaizdas kontrolierius, bet aš galiu vadina jį bet kuris kitas vardas čia. Galėčiau pavadinti šią CS50, galėčiau paskambinti šis požiūris kontrolierius, galėčiau paskambinti tai bla vaizdas valdytojas - ką aš noriu. Tai tik dėl klasės pavadinimas. Tačiau tai bus svarbu nes, iš esmės, ką darau Štai, aš kuriu kitas klasės pavadinimas. Taigi, tai bus, kaip kai kurie rūšiuoti tipo ar objektą. Taigi, ji turėtų būti šiek tiek bendrinis. Jis nesiruošia būti labai konkretūs. O taip pat, aš noriu atkreipti iš šių dviejų variantų. Kadangi darome viską viduje kodas, kartais tai yra daug lengviau pritraukti sąsajos failą, pavyzdžiui, kad Galiu tiesiog vilkite ir upuść, kaip mes padarėme anksčiau su siužetinės linijos - žinote, etiketę arba mygtuką, ar kas nors. Ir taip, xibs yra failų, kurie leidžia tai, kad ir jūs turite jį prijungti šį vaizdo valdiklio failą. Taigi, aš ruošiuosi sąmoningai ne tai patikrinti. Paprastai aš norėčiau tai patikrinti, ir jei aš tik tai padarė "iPhone" ar "iPad", aš būtų tai patikrinti ir tiesiog turėti vieną , jūs žinote, iPhone ar iPad. Bet kadangi aš darau universalus, aš ruošiuosi sukurti du tie vėliau. Taigi, aš ruošiuosi sąmoningai nuimkite tai. Tai taip pat labai svarbu. Daug kartų, aš turėjau klaidas jei tai nebuvo patikrintas. Ir taip, žinoma, šis failas yra ne, rūšiuoti, pavyzdžiui, įtraukti arba importuojami viduje šios bandymo aplanką. Ir taip, mano kodas yra visiškai neįsivaizduoju iš šio failo egzistavimą ir kuris sukelia daug skausmo ir laikas derinimui. Tačiau, tiesiog įsitikinkite, kad tai yra tikrinami, kad, žinote, tai taikinys byla dėl šios paraiškos. Gerai. Taigi, dabar mes sukūrėme du naujus failus. Ir šie failai atrodo gana tuščias. Ir, iš tikrųjų, tegul ir toliau ant sukuriant XIB failus. Taigi, anksčiau buvau Kakavos Touch Išskleidžiamajame. Dabar aš ruošiuosi eiti į Vartotojo Sąsaja liesti, ir, kaip matote, aš galite sukurti siužetinės linijos. Taigi, net aš pradėjau tuščias taikymas, aš vis dar galite naudoti siužetinės linijos. Nors tai bus sudėtinga, kalbant kaip jūs norite prijungti kad savo kodą. Taigi, aš neisiu ten. Bet ką mes norime daryti dabar yra sukurti vaizdą. Ir jūs galite pasirinkti iPhone ar iPad. Ir paprastai, žymėti skirtumas - jei jūs darote universalus taikymas - jūs arba įdėti pabraukimo iPhone, arba galite padaryti Twiddly. Jis tikrai ne klausimas. Tai tiesiog, kad galėtumėte atskirti kuris požiūris yra kokiu prietaisu. Ir taip, dabar atrodo. Turiu ekraną, kad galėčiau dirbti. Ir taip, pavyzdžiui, galiu uždėti etiketę čia, žinote, ir aš taip pat gali įdėti kitas mygtukas čia. Aš ne nerimauti keičiasi vertybės čia. Tačiau, tai, kas svarbu čia kad failo savininkas - taip, aš viduje iPhone nuomone, "iPhone" XIb failas. Ir šiame navigacijos srityje arba išskleidžiamajame meniu, aš noriu eiti į failo savininkas. Ir tai tikrai svarbus žingsnis čia. Noriu klasės vaizdą reguliatorius, kad ši XIb failą bus susijęs su mano nuomone valdytojas. Ir kas, kad aš viduje mano nuomone valdiklis programiškai yra bus atsispindi čia. Taigi, vis dėlto pastebėsite, kad - iš tikrųjų, galime padaryti šį vaizdą fonas mėlynas, pvz. Arba žalia. Ir tada, taip, jei jūs pastebėsite, dar šis kodas, tai kur mes turime mūsų navigacijos valdiklis. Nors mes padarėme šį žingsnį, tai vis dar bus raudona, o ne žalia. Ir yra priežastis. Tai todėl, kad, kai mes inited mūsų nuomone valdiklis, čia - atsiprašau, tai šiek tiek beprotiška - kai mes inited Mūsų požiūris kontrolierius čia mes inited jį iš bendro pobūdžio UIViewController. Gerai? Taigi, mes net ne padaryti tai su šioje klasėje. Taigi atminkite, kad tai yra tarsi klasėje dabar. Jis gali būti suvokiami kaip rūšies, tiesiog kaip UIViewController yra tipo. Ir siekiant panaudoti tai, kas mes turime padaryti, tai jį importuoti - importo ViewController - ir, kaip matote, jis perkelia jį man. Taigi, ViewController - ir dabar, čia, aš galiu tai pakeisti UIViewController į ViewController. Ir dabar, čia aš galiu pakeisti tai ViewController. Leiskite paleisti dar kartą. Jis vis dar raudona. Ir priežastis, kodėl tai dar raudona, nes - woah, kas ten nutiko? Mes norėjome susieti šią XIb failą su vaizdo valdiklio. Tačiau tam, kad būtų iš tikrųjų kad mums reikia eiti į tai. Ir kai mes darome init, mes norime padaryti, initWithNibName, ir tada mes norime padaryti STRING View_iPhone, pavyzdžiui. Galite ignoruoti paketą čia. Ir tai vyksta, kad būtų galima mums, iš tikrųjų - uh oh, ten problema. Teisė. Ir taip, yra problema, nes, mūsų nuomone XIb failą, mes turėti etiketę ir mes turime mygtuką. Tačiau, nors mes prijungtas tie du, nieko viduje ViewController.h arba ViewController.m kad atspindi mygtukus arba, kad tos etiketės. Taigi, mes turime rašyti tas kaip savybės vaizdo valdiklio. Taigi, tai, kaip jūs deklaruoti nuosavybė. Tai trunka, paprastai šie du variantai. Už mūsų ir šio seminaro tikslais, Sakyčiau, kad, apskritai, dauguma savybės nonatomic ir išlaikyti. Jūs galite perskaityti per "Google" paiešką, žinote, skirtumas tarp nonatomic ir laikyti, jums žinau, "Google" ar kažką. Ir aš jus į, pavyzdžiui, kamino Perpildyta, kur žmonės turės atsakymai skirtumus tarp jų. Bet dabar, kad tai, ką mes nori būti susiję su. Ir mes norime padaryti UI etiketę, žvaigždė, ir mes galime jį vadiname, ką nori. Mes galime vadinti tai, žinote, etiketės. Ir mes sukurti kitą vieną mygtuką. Ir nepamirškite įtraukti žvaigždutę, nes mes susiduriame su rodyklėmis beveik visur viduje iš Objective-C. Tačiau tai vis tiek neišspręs problema, nes jūs galite pamatyti čia. Ir priežastis yra, nes, kai mes norite prijungti XIb failo etiketę arba mygtuką, kad programa arba antraštė ir įgyvendinimas failą, mes norime pridėti šį kodo fragmentą - lizdo. Atkreipkite dėmesį, kad tai pagrindinis žodis. Ir kaip tik aš baigti rašyti kad iš, jis turėtų būti šie du apskritimai, čia. Paprastai jie nėra užpildyti Aš nesu tikras, kodėl jie yra. Tačiau paprastai, jums teks rankiniu būdu sujungti juos kreipdamiesi į šią pusę Komunalinės plotas. Ir taip, dabar, aš turiu savo etiketę pasirinktas, ir aš noriu, kad vilkti šis naujas nuorodos lizdo mano failo savininkas, ir tada paspauskite ant etiketės. Taigi dabar, pagaliau, ši etiketė prijungtas prie šios etiketės. Ir tai ženklas yra tai, ką mes ketiname naudoti programiškai keisti jos tekstas, jo šriftą, jo fonas spalva, ir tt. Taigi, kodėl ne mes tą patį mygtuką? Ir kaip jūs pastebėsite, už mygtuką, tai šiek tiek sudėtingiau. Kadangi, aš turiu galvoje, jūs turėtų spauskite ant mygtuko, todėl jis gavo daug variantų, kaip vartotojai galite paspausti ant mygtuko. Ir tada mes pamatysime vėliau, kad mes galime prisijungti prie mūsų kodas padaryti jį dirbti. Taigi, dabar, nors, mes norime prisijungti tai su faktiniu mygtuką viduje mūsų kodą. Taigi mes einame į naują nuorodų lizdo, ir tada daryti mygtuką. Dabar galime paleisti dar kartą. Uh oh. Gerai. Aš nežinau, kas čia vyksta dabar. Oho. Tik vienas momentas, čia. Tiesą sakant, kodėl ne mes pažvelgti kitu pavyzdžiui, laiko palūkanos. Gerai. Taigi, čia lengviau paruošti pavyzdys ViewController. Kaip matote čia, aš įtraukti už savybės etiketė ir mygtukas. Ir tada ši kodo dalis čia - tai IBaction - buvo iki šio mygtuko prijungimas čia. Taigi, kaip matote čia, Touch viduje yra prijungtas prie selektorių vadinamas mygtukas nuspaustas. Taigi, mes galime iš tikrųjų eiti per judesio vėl čia, atsižvelgiant padažyti Viduje ir vilkite jį į Failo savininkas, ir tada paspauskite ant mygtuko. Dabar galime paleisti savo kodą. Taigi dabar, šį mygtuką dabar dirba ir nuves mus į kitą puslapį. Ir, kalbant apie mūsų vaizdo valdiklio tai kodo gabalas, kuris vyko Priežiūra nuspaudę mygtuką. Ir tai svarbu atkreipti dėmesį į čia, kad Aš sukūriau kitą vaizdo rūšį reguliatorius vadinamas lentelę vaizdas valdytojas. Taigi, tai buvo panašus į atgal į siužetinės linijos, kai aš nutempė vieną šios lentelės vaizdą valdikliai į siužetinę liniją. Kuriu dar Žymeklį į lentelės vaizdo valdiklio alloy ir paleidimo-mas, ir tada daryti savarankiškai taškas navigacijos valdiklis, stumti ViewController, ši nauja viewController. Ir aš nustatykite taip animaciją, nes dabar viduje savo app ir I norite realiai pamatyti animacija vyksta pagrindiniame puslapyje prie stalo vaizdas valdytojas. Auditorija: Ar jūs vis dar nerimauja apie šiukšlių surinkimo? RHED SHI: Kas tai? Ne. Taigi, klausimas buvo, ar turite dirbti su šiukšlių surinkimo? Taigi, Xcode 4 buvo kaip ARC, kuris yra automatinis nuoroda skaičiavimas. Ir taip, paprastai, kai jums pradėti naują projektas, tai būtų patikrinti, kad dėl niekas tikrai nori kovoti su išlaisvina atmintį ir stuff. Bet manau Xcode 5, yra net kad pasirinkimas dėl naujojo projekto. Taigi, jis automatiškai daro tai už jus. Taip? Auditorija: Ar galite eksportuoti PDF savo siužetinės linijos? RHED SHI: Taip, tikrai. Taigi, visi jie bus įtraukti į kodą, todėl jūs vaikinai gali patikrinti faktinis Xcode projekto jį. Taip? Auditorija: Bet aš turiu galvoje, kaip, galiu spausdinti PDF su savo siužetinės linijos? Jei aš tiesiog norite eksportuoti vaizdai norėdami ką nors. RHED SHI: Oh yeah. Manau, gal galite tiesiog imtis fotografiją ekrano. Taip, ir siųsti jiems ekraną kulka ar kažką. Taip. Taigi, pažiūrėkime. Laikui interesų, manau, kad viskas l gali apimti šiandien. Bet aš žinau, kad, iš tikrųjų, tiesiog vos liesdami iOS paviršių plėtra. Taigi, prašome nedvejodami kreipkitės į mane, jei turite kokių nors klausimų apie iOS plėtra. Ir, tikiuosi, galėsiu valyti kai kurie iš už šaltinio kodas kodas failus, kad jūs turite kai tikrai gražus pavyzdžiai dirbti. Išskyrus, kad, jei jus vaikinai ketinate į CS50 Hackathon, aš gali būti arba ne ten, ir aš galiu padėti su kai iOS tobulėjimui. Taigi, ačiū, vaikinai.