>> 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.