>> RHED SHI: Dobrodošli vidi CS50 seminar -
Uvod u iOS.
Hvala svima što ste došli.
Nadam se da si jednako uzbuđeni kao što sam ja o tome iOS.
Prošle godine, uzeo sam CS50 kao student, i ja sam zapravo naučio iOS za moje
Konačni projekt.
I to je bio prilično -
dobro, nije bilo lako, ali postoje puno podrške tutoriali online.
I stvarno se nadam da s ovim Seminar, dat ću ti dečki glavu
start na iOS razvoj
>> Dakle, u smislu iOS razvoja, postoje dvije glavne stvari koje
žele pokriti i danas.
Prvo, jezik -
jezik će biti u Objective-C. Mi zapravo ćete čuti
nešto jako uzbudljivo.
Dakle, možete se pridružiti cijela jabuka zajednica programera i izgraditi neke
Stvarno strašan aplikacije.
>> Također, iOS 7 je lijepa, nadamo se, za neke od vas.
No, to je sporno, Znam.
I uglavnom, ono što želim učiniti je vodič što kroz Objective-C, a također
Xcode, koja je integrirana razvojno okruženje koje će biti
radi u za iOS.
>> I tako, samo riječ o Objective-C. U osnovi, to je isti kao i C,
ali s puno drugih stvari.
I tako, strože, to je zapravo super-set C. Dakle, sve što vam
može učiniti u C upravo sada, što je osnovi željeli pset 0 do 6, što
može učiniti u Objective-C.
>> Dakle, ne osjećaju strah zbog ovoga novog jezik koji ćete naučiti.
Već ste pokrivene puno toga, jer ste sve učinili C prošlog
semestar, osim sada ideš da imaju puno više raditi.
A ja sam samo će vas voditi kroz Nekoliko primjera istaknuti neke
od ključnih razlika koje sam našao bili su jako važno kad sam saznao
Objective-C lani.
>> Pa zapravo, tako, drugi bod je, Objective-C je, očito,
objektno-orijentirane.
A mi ćemo raspravljati malo o tome što to znači kasnije.
U osnovi, to je kao kako ste radili s tvorevina, u ovom prošlom pset, s
čvorovi i slični drugima takve stvari.
Osim, u Objective-C, sve je objekt, a ti ćeš biti
prolaze oko upućuje na objekte nego samih vrijednosti.
Dakle, to je samo nešto važno treba imati na umu.
>> Dakle, zašto ne bismo početi s nekoliko razlike u sintaksi između C i
Cilj-C?
Želim istaknuti # include, što Znam, standardni io.h u C i C + +, s
Objective-C verzija da je, što je # uvoz, a zatim neka vrsta
zaglavlje datoteke.
U tom slučaju, da bi se UIKit, znate, slash UIKit.h.
Također bi to moglo biti, znate, MKMapview da li srezati MKMapview.h ako želite
to učiniti, kao što je, mapu unutar svoje aplikacije.
Slične takve stvari.
>> Dakle, važno je uključiti sada je promijenio uvesti.
No, ideja i dalje ostaje.
Ti ćeš se uvozi nekakvu zaglavlja datoteke u vašem programu.
>> Također želim naglasiti razliku između printf i NSLog.
Međutim, kao što smo ranije rekli, Objective-C je strogi super-set
C, što znači da postoji printf u Objective-C, previše.
No, većina ljudi ne iskoristiti.
Većina ljudi koristi ovaj NSLog jer je daje oznaku vremena, pa ćemo vidjeti
je u akciji kasnije.
No, to je u pravilu više koristan način ispisati varijable.
>> I ja isto tako želim istaknuti da je NSLog se u isto
Vrijednosti rezerviranih mjesta kao printf nema -
tako% d je za int, % F je za plovak.
Međutim, ja ne želim istaknuti Ovo je vrlo posljednja -
NSLog% na znak -
to je rezervirano za objekt.
I kao što sam rekao ranije, Objective-C ponudama prilično puno govore u objektima,
i tako će to doći u uporabi kada želite ispisati, možda, možda
NSArray ili NSDictionary, ili NSString.
>> Dakle, također, primijetiti da je, u našem NSLog Izjava, imamo na znak ispred
u kotaciju -
to je kako bi se pokazalo da je konce, sada, u Objective-C su objekti.
Oni više nisu samo char zvijezde.
To su predmeti i tretirana kao takva.
>> Dakle, jako je važno da kada koristite NSLog je potrebno u NS
string, što znači da ćete imati uključiti AT ispred svog
navodnike.
I to je razlog zašto možete vidjeti, ovdje, u svim moja je funkcija poziva na ovoj NSLog, ja
imaju AT ispred navodnika, čak iako% d i% f-a su
sve isto iz C.
>> Bilo kakva pitanja do sada?
Ja ću pokušati proći kroz to tako brzo da možemo imati više vremena za rad
s Xcode i Objective-C, pa da ti dečki mogu dobiti više
upoznati s njom.
>> Dalje, želim istaknuti nešto konceptualno važno.
Dakle, u C, većina stvari funkcionira.
Mi bi funkciju poziv.
Mi izjavljujemo funkcije na ovaj način, s Povratak upisati prvi, a zatim
Naziv funkcija, zagrade, a zatim bez obzira na argumente i vrsta
ovi argumenti koje želimo proći u.
I Objective-C, jer je sve je objekt ili klasa -
pa klase i objekt su dva pojma koja uglavnom sinonim međusobno
pa sam ih rabe kao sinonimi tijekom seminara.
>> No, vidjet ćete da imamo metode u Objective-C, a ne funkcionira.
I metode pripadaju objekata.
Dakle, baš kao što, možda uzeti na primjer, čvor -
naša vrsta [nečujan]
čvora iz pset 6 ili 5 -
imamo riječ, imovine, ili pored čvora pointer.
Metode su jednostavno djeluje unutar od neke vrste strukture.
>> Dakle, u tom slučaju, struktura bi objekta, te metoda
nešto što pripada nekom objektu.
I to je način na koji će izjaviti, vrsta, metoda.
Ti bi početi sa, opet, povratak tipa - pa, pokušao sam se boji
Kodeks za ključne riječi ovdje, tako da vi momci vidi se, barem, oblikovanje
Sličnosti između funkcije deklaracije i metoda deklaracije.
Dakle, što počnete s, znate, povratak tipa - u ovom slučaju, to je polje, ili
NSArray pokazivač -
i onda imate ovu metodu.
A onda, što je zanimljivo je da umjesto da zagrade, mi
imati ove dvotočke.
I onda, pred našim argumentima, možemo rečeno, opet, u zagradama tip
našeg argumenta.
>> Dakle, u ovom trenutku ja pokušavam napraviti Usporedba, znate, n i
broj, jer oni su Oboje vole Ints.
I zatim, drugi je tip NSUInteger.
A onda, s Objective-C, kad vam žele imati više argumenata u
Vaš način klauzulu, što, na neki način, odvojite ih nekako ovako -
Nisam posve siguran kako bih to opisao, ali ovo je dobar primjer kako se
može imati više argumenata tamo.
>> Možete, naravno, samo totalno ignorirati andArray debelo NSArray
Niz ako ste htjeli samo metodu koja se u jednom argumentu.
Da, pitanje.
>> PUBLIKA: Jesu li i NSUInteger i NSArray argumenata koji se mogu uzeti u
u NSArray?
>> RHED SHI: Da.
Dakle, neka mi objasni.
Dakle, da.
Dakle, pitanje je su NSUInteger i NSArray * vrste argumenata,
i to je točno.
Dakle, uvijek želite odrediti što tip argumentacije je.
I evo, ja pokušavam da vas upoznam za neke od sintaksi i Vocab od
Objective-C, tako da oni koji su stvarni vrste da ćete se bave.
>> I kao što ćete primijetiti, polja više nisu, na neki način,
jednostavni nosač stvari.
To su predmeti.
Iako, ako ćemo ići na iduće slide, možemo vidjeti što možemo
hard-code NSArray u Objective-C s jednostavno na simbol ispred
zagrade.
Nisam, zapravo, sasvim sigurni je li Ja sintaktički hard-kodirane niz
ispravno za C verziju, ali to je Trebao bi biti u C lepezu.
>> Dakle, to je kako bi, da znate, možda koristiti funkcije ili
Metode koje smo stvorili ranije.
Zar ne?
Dakle, ovo je mjesto gdje iskazujemo svoju funkcija i naša metoda.
I sada želimo da ih koriste u naš program, a to je
Kako bismo to učinili.
Dakle, u C, što bi, znate, možda, bool b, te ga postavite na
jednak funkciju, a zatim prođe u argumentima.
>> U Objective-C, to je prilično koliko ista stvar.
Imate NSArray * my_array, a to je će biti jednaka - sad, samo
Razlika je to predmet stvar, koji je sam istaknuo u žuto, a
kao što možete vidjeti, u C, postoji nema druge žute riječi.
A to je zato što metode spadaju u određenom objektu.
Dakle, to je razlog zašto moram imati objekt da, na neki način, naziva ovu metodu na
broj nula, i onda NSArray, b, c, d.
Sva pitanja o tome?
>> Vidjet ćemo ove koncepte u akciji uskoro kad idemo u demo.
OK.
Sada, želim malo govoriti kratko O Xcode 5, koja je
integrirano razvojno okruženje da ćete raditi s.
Znam puno o vama, ili neki od vas, nemaju MACS, što je problem
zato Xcode nije dostupan za Windows i PC.
Nemojte me pitati zašto, ali vjerojatno -
Da, korporativni.
God.
No, svejedno, tako, ispričavam se ako je neki od vi morate preuzeti nekakvu
virtualni stroj za Mac u Kako bi se pokrenuti Xcode 5.
Ali, to je prilično divan softver za korištenje.
>> I tako, prije nego što zaronite u bilo kakve od demo, ja samo želim da vam se prikazati
slika onoga Xcode izgleda u svoj prozor, a potom i razgovarati o
ono što je cijeli ovaj prostor.
Dakle, to je vrsta kao što su učenje kako koristiti Microsoft Word, osim što žele
se upoznati sa svim različitih stvari koje
se ovdje događa.
>> Dakle, prvo, želim vam ukazati na alatnoj traci na vrhu.
Vidjet ćete da je, na vrhu, imat ćete naziv datoteke -
ili, zapravo, zoveš projekt a zatim vaše ime datoteke.
Uzmi u obzir predstave i Zaustavni tipke.
Oni su ti koji ćete biti koristeći se pokrenuti aplikaciju na
Simulator -
iOS simulator.
To automatski dolazi s Xcode 5, , tako da ne morate brinuti o tome
skidanje nekakav simulator.
Vi samo pritisnite play i onda radi svoj app.
A možete se poigrati s tobom, i vidjet ćete kako se to radi kasnije.
>> A onda, u centru, naravno, gdje je sve svoje prekrasne kod je
ići.
A onda, na lijevoj strani, vi ćete ima to, na neki način, mape -
orijentacija -
a onda, također ćete vidjeti da je, zajedno s ikonom mape, postoje
hrpa drugih ikona ima koji će biti korisna kasnije.
>> A onda, na desnoj strani je program Područje u kojem možete raditi s
neki od objekata i odrediti, te Znaš, ono što bi trebao biti u boji, što
Font tekst bi trebao biti, i tako dalje.
Iako, sve što vam je činiti u komunalnom području, možete
učiniti u kodu kao dobro.
I tako, ja ću se kroz dva primjeri korištenja, jednostavno, nema kod na
svi - ili vrlo minimalan broj -
stihovi sve koda, tek toliko da ti dečki Znaš ono što može i ne može učiniti u
Xcode i Objective-C.
>> A onda, na kraju, na dnu, imate debug područje.
Dakle, više ne morate pokrenuti gdb, et cetera, na svoje programe.
To ga automatski radi za vas.
A također možete ispisati stvari na ovom području.
Pa zapravo, kasnije ćemo proći kroz mario.c, ako ti dečki se još uvijek sjećaju
da, u Xcode.
Tako da bi trebalo biti zabavno.
>> A onda, samo da ga dovede natrag Objective-C, želim istaknuti ono
možete učiniti s ako izjave.
Pa, znate, jer Objective-C je nadskup C, sve što trebate učiniti je,
doslovno, isto kao i C. Vi samo imaju male razlike.
Dakle, primijetit ćete obrazac za li Izjava je uvijek isti - imate
ako je, a onda imate zagrade s stanje unutar, a zatim ga
kovrčava aparatić za sve što želite učiniti unutar postoje.
>> Međutim, želio bih da se taj slide up Ovdje, jednostavno pokazuju da,
zato što smo se bave predmetima sada, ćemo morati koristiti ove stvari
zove kao, jednak niz, koji je je, slučajno, metoda
string ili NSString objekt.
Dakle, riječ, u ovom slučaju, je NSString prigovoriti, a ima metoda zove se
jednaka string, a zatim smo prolazu u hard-coded string vidjeti
jesu li oni koji su jednaki jedna s drugom.
>> Bilo kakva pitanja do sada?
OK.
A, ja želim ići preko za priopćenju također.
>> Tako, primjerice, ako smo htjeli petlji preko duljine niza u C, to
bi trebao biti upoznat s tobom.
A, u Objective-C, ja ne želim istaknuti to, na neki način,
metoda zove računati.
Pa, zapravo, neka mi samo tu rečenicu.
Brojač je metoda polja.
Međutim, to je točnije svojstvo polja, što je razlog zašto vam
Možete koristiti dot zapis.
Ali ja ne želim ulaziti u previše ovaj konceptualni stvari, ja samo želim
da vam pokazati kako bi stvari izgledaju kao u Objective-C u odnosu na C.
>> A isto tako, ja želim istaknuti da iako sam bio koristeći NSUInteger
pred svim mojim Ja je u Objective-C, također možete koristiti int, int, jer je
potpuno vrijede u Objective-C, također.
Da?
>> PUBLIKA: Je li to samo stilsku, ili je -
>> RHED SHI: Da.
Dakle, kao što ćete vidjeti -
Dakle, pitanje je bilo je da samo stilska problem.
Kao što ćete vidjeti, imam, na neki način, zvijezdu Zvjezdica stvar dolje na dnu, a
da link vodi vas na Stack Overflow formirati, gdje je netko objašnjava
Razlika između int u NSInteger i NSUInteger.
I tako, možete pročitati o tome malo kasnije.
Slajdovima će, naravno, dostupne za vas.
>> Idemo vidjeti.
OK, super.
Dakle, to je također uključeno u slide jer sam mislio da je to super
Web stranice koje vas uvodi na Objective-C sintaksom.
Dakle, zapravo, zašto ne bismo preseliti u Chrome i check out ove web stranice?
>> Točno.
Dakle, ono što vam želim pokazati dečki ovdje je ova slika.
Dakle, to je, na neki način, će biti ono što ti ćeš vidjeti što je unutra bilo
Xcode sliku.
Zapravo, zašto ne bismo samo uzeti trenutak da, na neki način, uzeti u.
>> Dakle, ova knjiga -
to je predmet koji imamo posla.
I onda, očito će biti naslijedio od nekog drugog objekta, ali
ne morate brinuti o tome.
A onda, što, možda, ima neke varijable članice.
>> Važno želim vam pokazati je metode primjer, ovdje.
Dakle, prvostupanjski postupci su obilježeni ovim negativnim predznakom.
A onda, kao što ćete primijetiti, mi smo već počinju vidjeti paradigmu
za metodu deklaracije, zar ne?
Povratni tip, ime metoda, te onda tip argumenta, a
zatim naziv argumenta.
A to minus znači da je Postupak stupnja, što znači da se
ove metode su dostupni samo predmeti koji su instancinirana.
>> Da kontrast koji, metode s plus Prijavite se ispred njih su klase
metode, što znači da možete nazvati ove metode, čak i ako nemate
Objekt je stvorio još.
Dakle, za jasan primjer, NSString je klasa.
I vi možete zvati, primjerice, metode klase na NSString -
stvarna, kao, riječ NSString.
>> Međutim, kako bi se koristiti ove metode, što zapravo
potrebno je stvoriti niz.
Na primjer, NSString zvijezda string jednak na navodnika, hello world.
A onda, možete koristiti ove metode -
instance metode -
Na tom Hello World nizu.
Dakle, to je razlika između instance metode i metode klase.
>> A, upravo smo pokriveni ovaj dio.
Nekretnine su još jedna stvar koja se unutar objekata, u osnovi.
A ti ih proglasiti s po ključnoj riječi vlasništva.
Imate ove mogućnosti, ovdje, da ću objasniti kasnije, kada
idemo u demo.
Da?
Bok.
>> PUBLIKA: Možete li zumirati, molim te?
>> RHED SHI: O da.
Oprostite.
>> Ivanković: Hvala vam.
>> RHED SHI: To bi trebalo biti puno bolje.
>> Publika: Da.
Hvala Vam.
>> RHED SHI: Da, molim te podsjeti me ako Zaboravio sam za povećavanje ili smanjivanje.
Dakle, to je sve što sam htio da vam pokazati -
hej, to je puno -
za ovu web stranicu.
Dakle, vratimo se na naše slajdovima.
>> Zapravo, sada neka je uzme trenutak zaroniti u demo.
Dakle, mi ćemo početi s Nova Xcode projekt.
Dakle, ako ćete otvoriti Xcode na sve svoje strojeve, to bi trebalo poduzeti neke
stranica na kojoj piše, kao ni otvorene se postojeći projekt ili novi
Projekt, i trebali kliknite novi projekt.
I onda, to bi trebalo potrajati li na ovaj zaslon.
Da?
>> Ivanković: Ako nemamo Mac, nemojte mi samo vrsta odmarati?
>> RHED SHI: Ili gledati na s nekim, da.
Da.
Možete se opusti, previše.
OK.
>> Dakle, ono što ćemo učiniti prvi, sada, je, zapravo, idemo raditi
jedan pogled prijava.
Dakle, ako ćete primijetiti, što je super o Xcode i Apple podrškom za
razvijen je da imate puno predlošci za rad s već.
Moglo bi se, primjerice, da master-detail prijava.
Možete napraviti igru ​​-
i zapravo, neću ići u igrama, jer igre su druga priča
za iOS razvoj.
I oni su neka vrsta razdvojiti, pa neću ulaziti u to.
>> Onda, što ste stranica bazi aplikacije.
Imate karticu primjenu -
Dakle, kao što je, na primjer, Bank of America Vjerojatno ima, kao što je, na karticama aplikaciju.
To je one u kojima imate tipke na dnu.
I onda, imate Sprite Kit igru.
>> Ili možete raditi od nule, što je ono što ćemo učiniti kasnije.
Ali neka je, prvi put, počnite s jedan pogled prijava.
Onda, što ćete pitati za ime proizvoda, a mi samo možemo napraviti test.
Naziv organizacije -
Dakle, naziv organizacije, identifikator tvrtka -
one su važne, ako idete staviti svoju aplikaciju na App Store.
Osim toga, vaš broj će se izvoditi apsolutno u redu bez toga.
>> To će biti važno ako vam žele - pa, samo po sebi, kao što je, stavio svoj app
na telefon ili nešto, a testiranje to se, znate, u stvarnom životu -
to će biti važno.
To je uglavnom obično je povezan s neka vrsta razvojnog obzir
s Appleom.
>> I tako, znam, vjerojatno, puno vas neće imati račune razvojnog.
Znam sveučilište ima jednu.
Mislim da CS ima jednu.
No, možete mi e-mail, a ja ću pokušati shvatiti da se za vas.
Ali upravo sada, upravo sam stavio u neki placeholder stvari ovdje.
>> A što se, naravno, ovdje, odaberite želite li da to bude isključivo u
iPhone, iPad u, ili oboje -
univerzalna primjena.
Dakle, za sada, idemo napraviti univerzalna, samo vidjeti obje strane platforme.
>> Idemo vidjeti.
Dakle, u ovom trenutku, ja ću spasiti to je u neku vrstu mape.
Nije važno gdje - vas Uvijek možete ga premjestiti kasnije.
I, sad, mi smo donijeli našem Xcode projekt.
Ne bih brinuti o svemu tome.
Ja bih predložiti ne dira bilo koji od to, ako ne znate točno što
što radite.
Dakle, sve to, samo ignorirati za najveći dio.
Nećete morati dirati, a ako Imate li nered neke stvari ovdje, to
dobiva malo lukav.
>> Dakle, zašto ne bismo gledati u spisi o
na lijevoj strani u našem navigator.
Evo, imamo AppDelegate.h.
Imamo AppDelegate.m Dakle, kao što ćete obavijest, mi smo header datoteke, koje
završiti u dot h, a imamo Provedba -
zapravo, neka mi povećali u.
OK.
Dopustite mi da povećavanje u.
>> Točno, tako da su header datoteke i imate provedbenih datoteke.
Zapravo -
OK.
To je malo čudno, ali medvjed sa mnom.
Zatim, jer smo izabrali jedan pogled Zahtjev, idemo se
rad s scenarija.
>> Dakle, storyboard je nešto što Apple je došao gore sa stvarno pomoći
programeri brzo prototip njihova primjena.
Dakle, ovo je mjesto gdje možete stvoriti app bez pisanja
jedna linija koda.
Međutim, u našem pojedinačnom prikazu primjene, mi, naravno, imaju
podnijeti za naš pogled, koji je pogled na kontroler.
Dakle, imamo zaglavlje i Provedba file, ovdje.
>> A, ja idem za smanjivanje sada, jer ćemo morati raditi u storyboard.
Dakle, ovdje je naš pogled.
Ako smo, jednostavno, pokrenuti aplikaciju upravo sada, nema ih puno uzbudljivo događa.
Dakle, vidjet ćete ovaj bijeli zaslon.
OK?
>> A, u našem komunalnom području, možemo dodati hrpa različitih stvari za njega.
Dakle, kada ste se bave s ekranima u iOS, pogled kontroleri
predmeti koji ukratko opisali, vrsta, svoje stavove.
Dakle, pogled na kontroler uvijek ima svojstvo zove pogled.
I to pogled, obično, sadrži, znate, ono što
Želim vidjeti na zaslonu.
>> Dakle, dobro, neka je samo početak stavljajući, možda, možda oznaka.
Dakle, neka je stavi naljepnicu na tu -
staviti ga u sredini.
Dakle, sad kad sam kliknuo na etiketi, ja Možete ići u svojstva inspektora
i početi mijenjati svoju vrijednost.
Nazovimo ga CS50 Boje.
>> A, ja također mogu promijeniti font.
Dakle, umjesto da radi sustava, koji je default, možemo napraviti prilagođeni jedan.
Mi možemo promijeniti -
znate, ultralight, čine ga 32.
I onda, možemo učiniti naš box veći.
>> PUBLIKA: Mislite li da možete zumirati u samo malo više, možda?
>> RHED SHI: Da?
OK.
>> PUBLIKA: Samo ga iskoristiti?
>> RHED SHI: Idemo vidjeti.
Ovo radi?
>> PUBLIKA: Samo prođe Xcode?
>> RHED SHI: Naravno.
OK.
Strašan.
>> PUBLIKA: label pod?
Oznaka?
>> RHED SHI: Što je to?
>> PUBLIKA: Što padajući Bio etiketa ispod?
>> RHED SHI: Dakle, pitanje je, što se Padajući je etiketa ispod?
To treba, jednostavno, biti pod ovdje.
Mislim da je to kocka stvar.
Ali obično, to je zadana -
Samo ću ovdje dok ne nađem naljepnicu.
Da.
>> Tako sada, mi imamo naljepnicu.
Budimo centra.
I Xcode nam daje smjernice za centriranje objekata.
Dakle, sad idemo ponovo pokrenuti naš kod.
>> Tu smo.
Dakle, imamo CS50 boje.
A sada, idemo staviti gumb tamo, zar ne?
Zato želimo napraviti Ovaj interaktivni.
Dakle, neka je stavi gumb ovdje.
A mi ćemo nazvati ovaj gumb "tap ovdje nastaviti. "Mi ćemo ga u sredinu, također
Zapravo, to je već usmjeren.
Da.
>> Dakle, sad imamo gumb.
A ako ćemo pokrenuti ovo opet, idemo imati lijep mali gumb ovdje.
I ja mogu kliknuti, ali to ne čini ništa, jer nismo učinili
ništa s gumbom još.
>> Dakle, neka je stvoriti još jedan pogled, zar ne?
Dakle, recimo da želim iskoristiti koji gumb i želim
prijeći na drugu stranicu -
još jedan pogled.
Ono što ću učiniti je, ja mogu stvoriti Pogled kontroler, zar ne?
Sada ću kliknite na moj gumb, a zatim, Važno je, ja ću
klik - ili -
Da, pritisnite kontrolu na mojoj tipkovnici.
Kontrola.
Klikom na gumb, a zatim povucite.
>> Dakle, ne zaboravite da zadržite kontrolnu tipku.
Učinimo to opet.
Dakle, držite kontrolu, kliknite i povucite na ono što želite učiniti.
OK.
>> I sad, imam nekoliko opcija ovdje.
Ja mogu ili gurati, ili ja mogu učiniti modalna, ili ja mogu napraviti običaj.
Push je samo ako imate navigacijski kontroler.
Upravo sada, naš prvi pogled kontroler nije unutar bilo
navigacijski kontroler.
Dakle, navigacijski kontroler je jedan koji vam daje leđa gumb na
iOS app gdje imate, znate, da je vrh, vrsta, debela bar -
gdje se može vratiti, ili naprijed, i tako dalje.
Upravo sada, nemam to.
I tako, to je razlog zašto ja ne mogu učiniti push.
>> Dakle, kliknuo sam na guranje slučajno, ovdje.
I doista, neka je pokretanje koda, i to bi trebalo srušiti na mene.
Samo ako sam pritisnite gumb ipak, tako da -
u pravu.
Dakle, to je loše.
>> I, kao što možete vidjeti, ovdje ćemo imaju poruku o pogrešci.
Dakle, "Push segues mogu se koristiti samo kada Izvor kontroler upravlja
instanca UI navigacijski kontroler. " Dakle, zato što to nije bilo u
navigacijski kontroler, Nisam to mogla učiniti.
>> Dakle, upravo sada, idem natrag mape, ide natrag u knjigu snimanja.
>> Publika: Što je navigacijski kontroler, opet?
>> RHED SHI: Dakle, sad ću vam pokazati.
Idemo vidjeti.
Dakle, idem kliknuti na ovom prikazu kontroler, a onda ću otići
do proizvoda -
Zapravo, ne, mi - urednik.
I ja ću ići u -
Zapravo, nije mi kliknite na njega?
Ne.
Tu smo.
Ja ću otići gore u editor, silaze ugraditi u, a zatim navigaciju
kontroler.
>> OK.
A, moj radni prostor izgleda jako neuredno, pa neka je počistiti.
Dakle, sve je to storyboard.
I na taj način -
OK, zaustavi -
Ja se brzo izgraditi nešto kao što je ovaj.
I onda, sad sam se vratiti, znaš?
>> No, to je vrsta dosadna, zar ne?
Dakle, ono što želim učiniti je, ne želim da, jednostavno, pogled
kontroler.
Recimo da sam htio zapravo čine Pogled na tablicu kontroler, tako da mogu staviti u
neke lijepe boje, u tablicu.
>> Dakle, sad kad sam stavio u moj pogled stola kontroler, trebam ga spojiti natrag
iz ovog gumb Pogled kontroler.
Zato moram raditi svoj nadzor, klik, povucite stvar opet.
I sad ja mogu učiniti gurati, jer sam položiti to unutar navigacijski kontroler.
>> PUBLIKA: Nalazite kontroler samo omogućuje vam ići od mjesta do mjesta?
>> RHED SHI: Da.
Dakle, više tehnički, to je Objekt u kojem -
Dakle, unutar plovidbe kontroler objekt, što
prati niz.
I to polje ima sve naknadne vidjeli kontrolora.
Zato kad pritisnete natrag, to seže na prethodnu stranicu.
Zbog navigacijski kontroler objekt, ili kod koji se brine o
ovaj objekt, ima niz koji čuva praćenje tih pogled kontrolora, a
može onda, znate, DQ pogled kontroler i dati vam natrag
Prethodni.
>> Dakle, to je tehnička stvar, ali -
a ja ću vam pokazati kasnije u code, ako imamo vremena.
Ja sam vrsta istječe na vrijeme, ali -
>> Dakle, s pogledom na stolu, ono što možemo učiniti je -
To je obično automatski podešavaju dinamičnim Prototype -
ćemo to Statički Stanice bi, inače ti ćemo
upasti u neke probleme.
>> I onda, recimo idem imati jedan dio.
Dakle, rezovi je kao -
Ako ste ikada vidjeli glazbenu aplikaciju, kada imate umjetnika, dijelovi bi
biti je kroz Z's -
slova -
i onda, znate, pojedinac redovi će biti umjetnik imena.
I tako, ono što je cool ovdje, da mogu pristup svim objektima unutar
moje knjige snimanja kroz ovo padajući izbornik, previše.
>> Dakle, idem kliknuti na mom dijelu, i ja želim, znate, možda pet redaka.
I onda, unutar svakog reda, Želim staviti oznaku.
A ja ću nazvati ova plava.
I onda, želim staviti pogled UI, što Znam, možda za, kao, malu kutiju.
>> Tako da mogu pokazati ljudima Pregled boje.
I ja ću se vratiti na imovinu i promijeniti tu boju da, oh, ne znam
Znam, ovaj jedan.
>> A onda, također primijetiti, ovdje, kad imam pribor, mogu imati puno
različitih dodataka koje obično vidimo.
Indikator objavljivanje, detalj ili kvačica, ili jednostavno samo detalj.
Dakle, možda bismo mogli učiniti, kao što je, na otkrivanje indikator, na primjer.
>> I onda, zašto ne uzmemo ove, kopiju zalijepiti ih, i staviti ih u
Sljedeći redak tablice.
Dakle, možemo nazvati ovu žutu.
I možda bih proširiti to.
Učinimo to žuta.
I na ovaj način, možemo kopirati zalijepite naš put prema dolje.
Što je to bilo?
Purple.
>> Dakle, to su sve tipične CS50 boje koje ste vidjeli u razredu -
Zapravo, mi -
ili na web stranici.
Nadam se da dečki mogu vidjeti što radim ovdje.
OK.
Zadnji put.
>> PUBLIKA: Kako ste dodali red u početku?
>> RHED SHI: Dakle, pitanje je, koliko je jesam li dodati redak u početku?
Otišao sam u ovom dijelu stola - ili ipak mogu
odaberite sekciju stol -
i onda, evo, ja izmijenjena Broj redova.
>> A, neka mi se nadamo da se to radi.
OK.
Da vidimo je li se to radi.
Oh, savršena, strašan.
OK.
Dok sam gradio moj demo, neki stvari nisu bile usklađene, tako, hvala
pljesak.
>> Da.
Dakle, da vidimo.
Napravit ćemo to devet samo da bi sve - ili zapravo, neka je samo
okrenuti sve one u otkrivanju pokazatelja.
A onda, što vam želim pokazati, također, bilo kako ja mogu uzeti svaki od onih
redove tablice i ima ih u interakciji -
oh.
Ne.
>> Oh.
Također, želim vam pokazati -
ovdje, ja mogu staviti naslov moje navigacijski kontroler, zar ne?
Pa zapravo, primijetit ćete, čim sam ugrađen ovaj pogled kontroler unutar
navigacijske kontroler, vidimo Ovaj navigacijski bar na vrhu naše
storyboard reprezentacije pogleda kontroler.
I tako, to nam daje, kao što je, vizualne, vrsta, voditi na našoj vidljivom zaslonu.
To očito će biti navigacije.
>> I ono što želim učiniti brzo, Sada, je stavio u drugi -
tako da je ovo stol pogled kontroler sam učinio uzimanje jednog od njih i povlačenjem
ovdje, i to je ono što mi je omogućilo da brzo, zapravo, stvoriti pogled tablice
kontroler.
Ako imate vremena, iako, da ćete vidjeti da, programatski, to je
malo više lukav stvoriti tablicu Pogled kontroler, jer postoji
su nekoliko metoda koje potrebno za vas da, na neki način, pisati
u cilju za prikazu tablice Regulator bi biti točne.
>> Međutim, ja samo želim da vam pokazati, sada, primjer gdje je, ako uzmem taj,
primjerice -
Ja sam stavio u drugi pogled kontroler.
I sad, recimo da želim kontrolirati alt moj prvi plava
redak tablice za ovdje.
I želim nazvati ova plava.
A onda -
da vidimo.
Ja sam na pregledu danas, a ja mogu promijeniti pozadina plava.
>> I tako, obavijest, ovdje, taj padajući Izbornik je također vam daje hijerarhiju sve
tih objekata.
Dakle, važno je imati na umu, ovdje, je da su sve te stvari, ovdje -
ovaj stol pogled kontroler, stolni Pogled, pogled na tablicu dio, pogled na tablicu
stanica - sve su to objektima, u kodu.
Pa, znate, naljepnice upravo sada je pod Pogled sadržaja, et cetera.
Tako dalje i tako dalje.
>> Dakle, ako smo pokrenuti ovaj kod, mi trebali vidjeti nešto -
Da vidimo je li to - da.
Dakle, tu smo.
Ali, ako mi to ne rade, niti jedan od ove druge stvari raditi.
Zar ne?
Dakle, samo to netko radi.
A, zbog vremena, neću ići u, znaš, stavljajući
niz drugih.
I to je kraj, vrsta, storyboard -
ono što sam htio pokazati što za storyboard.
>> I, imam razrađen primjer, Zapravo, upravo ovdje.
Dakle, ovo je storyboard da sam napravio ranije.
Dakle, kao što možete vidjeti, to je moja orijentacija kontroler.
Tada sam imao svoj prvi pogled kontroler, onda sam imao moj pogled na tablicu kontroler,
i onda sam imala sve ove -
kako je ranije, radim nešto vrlo različite.
Dakle, oprostite one stvari.
Vjerojatno ću ga počistiti kasnije pred I pošaljite na proizvodnju.
>> Ali, ako ćemo raditi ovo, vidjet ćemo da su sve opcije su
nam na raspolaganju.
Osim Nisam napraviti pozadine te boje.
Dakle, lijepo jednostavna aplikacija.
>> Sada, idemo pokušati uhvatiti u koštac programatski.
OK.
Dakle, za to, mi smo samo ide započeti novi Xcode projekt.
Mi ćemo to učiniti sada prazna prijava, jer mi ne želimo imati
storyboard.
Dakle, ja jednostavno sam sebe ograničava na ne koristiti bilo koji od knjige snimanja, a
prazna zahtjev neće daj mi storyboard.
Ovo je samo kako bi se spriječilo ja od varanja.
Idemo vidjeti.
Čekaj.
Jesam -
Da.
OK.
>> Točno.
Dakle, ovdje, mi smo s lijeve ništa drugo, ali kod.
Dakle, dopustite mi da se presele ovaj prozor nešto više.
Točno.
Kao što možete vidjeti ovdje, samo slika smo dati su AppDelegate.h i točka
m, a nemamo storyboard više.
>> Dakle, ako ćemo raditi ovo, mi smo još uvijek ide doći na bijeli zaslon, hvala Bogu.
OK - bijeli zaslon, ali ništa drugo.
A, ovdje je važan dio.
Ovo je mjesto gdje se radnja događa.
U prethodnim verzijama, postoji obično nema kod ovdje, ali
storyboard osnovi pruža Šifra za ovaj dio.
Neću ići u detalje o tome.
>> I ono što želimo učiniti je sada, želimo ići ovdje, i to malo prostora
ponovno počinje stvaranje našu aplikaciju.
Dakle -
Da?
>> PUBLIKA: Zoom?
>> RHED SHI: Zoom.
Da, sigurno.
OK.
Ja ću biti na gumb, tako da to ne bi trebalo smeta previše.
OK.
>> Dakle, prvo, zapamtite što smo željeli stvoriti navigacijski kontroler, zar ne?
A isto tako, kao što možete vidjeti ovdje, Xcode ne stvarno velik posao
self-punjenje.
Dakle, kao što ćete primijetiti, imena sve su to puno više nego
inače, ali Xcode ga popunjava za vas.
Dakle, ja mogu samo pritisnite Enter.
>> Dakle, želim stvoriti UI navigaciju Kontrolor pointer, a ja ga mogu nazvati
navigationController.
Sad, što da radim sada?
Nakon ovog znaka jednakosti, trebam, prvo, napravite ga unutar memorije.
Dakle, ja ću učiniti NavigationController Alloc -
Dakle, ovo je slično malloc, da ti dečki koji se koriste u C -
i onda, ja ću ga init.
>> Dakle, jako je važno da bilo Objekt koji ste stvorili, želite
Alloc i init ga.
To će stvoriti i instantialize ga unutar memorije, te
Sada možete ga koristiti.
U redu?
Ako ne učinite, vaš objekt ne ne postoji, a vi ćete upasti u gomilu
problema.
>> I onda, želim stvoriti Pogled kontroler, zar ne?
Dakle, želim stvoriti UIViewController Zvijezda -
Dakle, sve je pokazivač u Objective-C, a ja ću učiniti
nešto slično, ovdje -
Alloc, init.
OK.
>> A ono što ću učiniti je onda, ja sam će - tako, sjećam se kad smo radili
Postavi u navigacijski kontroler?
Ovo je način kako ste to učiniti u kodu.
Ti ćeš učiniti navigationController
pushViewController -
>> PUBLIKA: [nečujan].
Hoće li se to dogoditi za nas, ili -?
>> RHED SHI: Oh, da.
Ne.
To mi je draži.
No, to će raditi za vas, previše.
Dakle, to su sve metode.
Tako pushViewController je metoda, i i, točnije, to
instance metoda UI navigacijski kontroler.
Zato sam morao napraviti moj UI navigaciju Kontrolor zvijezda, a onda sam
može nazvati ovu pushViewController na mom specifičan primjerak UI plovidbe
kontroler.
>> Ivanković: Ne moramo napraviti točan Riječ, ili to već postoji za to?
>> RHED SHI: Da, zato što je metoda.
To je poput ovisnosti.
To je kao i printf.
To je kao scanf.
To je kao strcompare.
Osim što zna što možda želite tipa, i primijetiti da ću uvijek
dolazi do stvari koje su zakonski dopušteno za vas.
Dakle, ako se ništa ne pojavi ovdje, onda nešto nije u redu.
>> Dakle, pushViewController.
Dakle, sada, želim gurati moj novostvorena
UIViewController, a zatim, animirani -
možda i ne.
Zbog toga će biti Prvi pogled na kontroler.
Mislim, čak i ako sam napraviti animirani, to vjerojatno neće pojaviti, jer
to je prvi zaslon.
>> I zapamtite nosače.
Dakle, sjetite se kako smo koristili nosače?
A unutar zagrada, Predmet poziva na metodi -
tako je i naš cilj je za navigaciju kontroler, a metoda je pritisak
Pogled kontroler animirani.
A vidite kako je potrebno u dva argumenta, i oni odvojeni, vrsta,
riječi i debelog crijeva.
Dakle, Objective-C pokušava da je lijepo i lako za vas da pročitate naglas -
vaš broj - i to polu, vrsta, ima smisla.
>> Međutim, radi upravo to nije dovoljno.
Dopustite mi udaljili sada.
Radi samo to nije dovoljno da dobili ono što smo dobili na prethodno.
Pa evo, primijetit ćete da postoji zapravo neće biti bilo kakve
bar, ovdje, zar ne?
Nema navigacije, što znači da još uvijek nismo ga stečen.
>> I možemo testirati da se, također, od strane, možda, mijenja pozadinu
ViewController, zar ne?
ViewController.background--
ah.
Dakle, vidimo kako ViewController nisu imali boja pozadine, iako sam
Htio mu pristupiti?
A to je zato što ViewController je spremnik za prikaz.
Dakle, ona ima svojstvo pogled, koji onda ima boju pozadine.
>> A, ja mogu postaviti, vrsta tediously, pozivom boju
Na UIColor objekt.
Dakle, obavijest ovdje, redColor je metoda.
To je klasa metoda UIcolor.
Budući da nisam imao stvoriti Stvarni instanca UIColor kako
pozvati metodu na njemu.
Upravo sam, jednostavno, nazvao ga na tipa poput imena.
I, kao što je, pozvao ga na int, int, ako je imao, slično, metoda za to, na primjer.
>> I tako, ako smo pokrenuti ovaj kod, mi ćemo primijetiti da je pozadina
zapravo nije crvena.
To je još uvijek bijela.
I kako možemo dobiti oko koje je, primijetiti kako postoji self.window.
To je, kao što je, krajnji spremnik za prijavu.
To je krajnji stvar koja sadrži sve na ekranu, za
iPhone ili iPad aplikacija.
>> A, povoljno, self.window ima to svojstvo zove
rootViewController.
I to će biti pokazivač Prvi pogled na kontroler unutar
vašeg app.
Dakle, ono što želite učiniti ovdje, sada, je postaviti da je jednaka našoj navigaciju
kontroler.
Zar ne?
Jer, tehnički, navigacija Regulator je naš prvi pogled
kontroler.
Bilježi niz drugih gledišta kontroleri, a mi gurnula to
Pogled kontroler u tom polju u navigacijski kontroler.
>> Dakle, ne želite to učiniti.
To stvarno ne bi vam pomoći.
Želite li to učiniti, ako ste htjeli učiniti navigacijski kontroler, kojih je većina
od vas će se vjerojatno zato što ćete željeti da, na neki način, imaju nekakvu,
kao, izbornik se vratiti u ili nekom stranica se vratiti u, nego
prazan ekran.
Da?
>> PUBLIKA: Je li to neugodno za vas za uvećanje na -
>> RHED SHI: Da.
Dakle, da.
To je broj, a sada ajmo to isprobati.
>> Dakle, tu smo.
Magic.
Dakle, u redu.
Hvala Vam.
OK.
Pa sad, što želimo učiniti je - tako, mi smo vrsta ograničen, ovdje, zar ne?
Mi potencijalno mogao napisati sve unutar tog jednog funkciji.
No, to nije način za razvoj iOS obično se radi.
>> Dakle, ono što ćemo učiniti je, da smo će stvoriti neke nove datoteke.
Ali, točnije, idemo u stvoriti još Objective-C klase, ili
Još jedan predmet -
klase i objekti su zamjenjivi ovdje.
A, evo kako sam mogao, potencijalno, stvoriti još jednu klasu U-kontrolora.
>> Dakle, to je pod-klase, kao što ćete primijetiti, ovdje, to je pod-klasu
Pogled UI kontroler, ali mogu nazvati ga bilo koje drugo ime ovdje.
Mogao sam nazvati ovaj CS50, mogao bih nazvati ovaj pogled kontroler, mogao sam nazvati
ovaj pogled bla kontroler -
god hoću.
To je samo naziv za klasu.
Međutim, to će biti važno jer, u biti, što radim
ovdje je, ja stvaram drugo ime klase.
Dakle, to će biti, kao, neki kakve vrste ili objekta.
Dakle, to bi trebao biti malo općenito.
Neće biti vrlo specifičan.
>> A isto tako, ja želim istaknuti iz tih dviju opcija.
Budući da radimo sve što je unutar code, ponekad je puno lakše
dovesti u datoteku sučelje, tako da Doslovno sam se povući i ispustiti, kao
smo učinili ranije s storyboard -
znate, naljepnica ili gumb, ili bilo što drugo.
I tako, xibs su datoteke koje vam omogućuju ne da, i morate ga spojiti
na ovu kontroler datoteku pogled.
>> Dakle, ja ću namjerno Nije to provjerili.
Obično bih to provjerili, a ako sam samo što je ovaj za iPhone ili iPad, sam
bi to provjerili i jednostavno se jedan Jer, znate, iPhone ili iPad.
No, budući da radim univerzalna, idem stvoriti dva od onih kasnije.
Dakle, ja ću namjerno isključite to.
>> To je također jako važno.
Mnogo puta, ja sam imao bugova gdje to nije provjerena.
I tako, očito, ova datoteka nije, vrsta, kao što su, uključeno ili uvozi
unutar ove ispitne mape.
I tako, moj broj ima apsolutno nema pojma postojanja ove datoteke, i
koji uzrokuje puno boli i sati za ispravljanje pogrešaka.
No, samo bi bili sigurni da je ovo provjeriti tako da, znate, cilj ovog
datoteka je za ovu aplikaciju.
>> OK.
Dakle, sada smo stvorili dvije nove datoteke.
I ove slike izgledaju prilično prazna.
I, zapravo, da se i dalje Na stvaranjem XIb datoteke.
Dakle, prije, bio sam u Kakao Touch padajući.
Sada, ja ću ići na Korisnika Sučelje na dodir, a kao što možete vidjeti, ja
Možete stvoriti storyboard.
>> Dakle, čak sam počeo s prazna Zahtjev, ja još uvijek mogu koristiti
storyboard.
Iako, se dobiva lukav u smislu o tome kako se želite povezati
da bi kodu.
Dakle, ja ne idem tamo.
>> No, ono što želimo učiniti Trenutno je stvoriti pogled.
I možete odabrati za iPhone ili iPad.
I obično, da označi Razlika - ako radite
univerzalna primjena -
ti bilo staviti donjom iPhone, ili možete napraviti Twiddly.
To uopće nije važno.
To je jednostavno za vas razlikovati koji pogled za koji uređaj.
>> I tako, sada izgleda.
Imam ekran da mogu raditi.
I tako, na primjer, ja mogu staviti oznaku ovdje, znate, i ja isto tako mogu staviti
još jedna tipka ovdje.
Neću gnjaviti mijenja vrijednosti ovdje.
>> No, ono što je ovdje važno je da je datoteka je vlasnik -
Dakle, ja sam u iPhone Pogled, iPhone XIb sliku.
I u ovom području plovidbe ili padajući izbornik, želim ići u
Vlasnik dokumenti su.
A to je stvarno važan korak ovdje.
Želim da se u pogledu klase kontroler, tako da je ova XIb datoteka
će biti povezan s moj pogled na kontroler.
I sve što radim u mome mišljenju Regulator je programatski
će se odraziti na ovdje.
>> Dakle, međutim, primijetiti da je -
zapravo, idemo napraviti ovaj pogled pozadini plave, na primjer.
Ili zelene.
A onda, pa ako ćete primijetiti, natrag u ovaj broj, to je mjesto gdje smo došli do naše
navigacijski kontroler.
>> Iako smo učinili taj korak, to je Još uvijek će biti crvene boje, a ne zelene.
I tu je razlog zašto.
To je zato jer kad smo inited naš pogled kontroler, ovdje -
Žao nam je, to je malo lud -
kad smo inited naš pogled kontroler ovdje, ga inited općeg tipa
UIViewController.
OK?
Pa nismo ni raditi to s ovom razredu.
>> Dakle, ne zaboravite, ovo je kao klasa sada.
To se može shvatiti kao vrsta, samo kao UIViewController je tipa.
A kako bi se to iskoristiti, što trebamo učiniti je uvesti -
uvoz ViewController -
i, kao što možete vidjeti, to to autofills za mene.
Dakle, ViewController -
, a sada, evo, ja to ne mogu promijeniti UIViewController da ViewController.
A sada, evo, ja mogu promijeniti to ViewController.
>> Idemo raditi opet.
To je još uvijek crveni.
A razlog zašto je Još uvijek je crveno, jer -
woah, što se tamo dogodilo?
Htjeli smo povezati ovu XI.b datoteku s pogledom na kontroleru.
Međutim, kako bi se zapravo učiniti da, moramo ulaziti u to.
A kad se to sve init, želimo učiniti initWithNibName, a onda želimo
obaviti na niz View_iPhone, na primjer.
Možete ignorirati paket ovdje.
>> A to se događa kako bi se omogućilo nas, zapravo -
Uh, tu je problem.
Točno.
>> I tako, tu je problem, jer, u naš pogled XIb sliku, imamo naljepnicu i
imamo gumb.
Međutim, iako smo povezani njih dvojica, nema ništa unutar
ViewController.h ili ViewController.m koji odražavaju onima
tipke ili one oznake.
Dakle, moramo napisati onima u što svojstva pogled kontroler.
>> Dakle, to je, kako se proglasiti vlasništvo.
Potrebno je u, najčešće, ove dvije opcije.
Za potrebe nas i ovog seminara, Ja bih rekao da se, u cjelini,
većina svojstva su nonatomic i zadržati.
Možete pročitati by Google traži, znaš, razlika između
nonatomic i zadržati se na, ti Znam, Google ili nešto.
I ja ću vas odvesti u, kao što je, Stack Overflow, gdje će ljudi imati
odgovori za razlike između onih.
No, za sada, to je ono što smo žele da se bave.
>> I želimo napraviti UI naljepnicu, zvijezdu, i možemo ga nazvati kako god želimo.
Možemo nazvati to, znate, label.
A, mi ćemo stvoriti još jedan jedan za gumb.
I ne zaboravite uključiti zvjezdicu, jer se radi s pokazivačima
skoro svugdje u od Objective-C.
>> Međutim, kako će još uvijek nije riješio Problem je, kao što možete vidjeti ovdje.
A razlog je zato, kad god smo želite spojiti XIb sliku naljepnicu ili
Tipka za program, odnosno header i provedba datoteka, želimo
dodati ovaj dio koda -
utičnicu.
Uočite da je ključna riječ.
>> I, čim završim s tipkanjem koji se, to bi trebao imati te
dva kruga, ovdje.
Obično, oni ne ispuniti
Nisam siguran zašto su.
Ali obično, morat ćete ručno spojite ih tako da odete na ovu stranu
područje komunalije.
>> I tako, u ovom trenutku, ja imam svoju naljepnicu izabran, a ja želim povući taj novi
upućivanjem utičnicu za moj dosje vlasnika, , a zatim kliknite na oznaku.
Tako sada, konačno, ova oznaka je povezani s tom oznakom.
I ova oznaka je ono što ćemo koristiti programski mijenjati svoje
tekst, njegov font, pozadine u boji, et cetera.
>> Dakle, zašto ne radimo Isto za gumb?
I kao što ćete primijetiti, za gumb, to je malo kompliciranije.
Jer, mislim, ti si trebao pritisnite na gumb, tako da ima puno
mogućnosti za način na koji korisnici Pritiskom na gumb.
I onda, vidjet ćemo kasnije da možemo povezati ovo naše
koda kako bi proradio.
>> Dakle, za sada ipak, želimo povezati da se stvarni gumb
unutar našeg koda.
Dakle, idemo na novu upućivanjem utičnicu, a zatim napraviti gumb.
Sada, neka je pokrenuti ovaj opet.
Uh.
OK.
Ne znam što se događa ovdje i sada.
Opa.
Samo jedan trenutak, ovdje.
>> Zapravo, zašto ne uzmemo pogled na još jedan primjer u
Interes vrijeme.
OK.
Dakle, ovdje je lakše pripremiti Primjer za ViewController.
Kao što možete vidjeti ovdje, ja sam uključen svojstva za
Oznaka i gumb.
A onda, ovaj dio koda ovdje -
ovo IBaction -
je veza s tom tipkom ovdje.
Dakle, kao što možete vidjeti ovdje, Touch iznutra spojen na selektor
zove tipku.
>> Dakle, mi zapravo može proći kroz Prijedlog opet, ovdje, uzimanjem dotjerati
Unutar i povučete File kao vlasnik, a zatim
kliknite na tipku.
Sada, neka je pokrenuti naš kod.
Tako sada, ovaj gumb sada radi i će nas odvesti na sljedeću stranicu.
>> A, što se tiče naše pogled kontroler, ovo je dio koda koji je
briga o tipku.
I važno je napomenuti da se ovdje, da Ja sam stvorio neku drugu vrstu pogledom
Kontrolor zove stol Pogled kontroler.
Dakle, to je bila slična natrag u storyboard, kad sam vukao jedan od
ovi stol pogled kontroleri u knjizi snimanja.
Ja sam kreirati drugi
>> Pokazivač na stol pogled kontroler, Alloc i init-ing, a zatim radi
samouprave dot navigacijski kontroler, gurati ViewController, ovaj novi
viewController.
I sam postaviti animaciju na yes, jer sada u mome app, i ja
žele zapravo vidjeti animaciju ide na početnoj stranici na stol
Pogled kontroler.
>> Ivanković: Još uvijek brinuti o odvoz smeća?
>> RHED SHI: Što je to?
Ne.
Dakle, pitanje je, da li vi imate za rad sa odvoz smeća?
Dakle, Xcode 4 je kao ARC, što je automatska referenca brojanje.
I tako, obično kad počnete novi projekt, te će provjeriti da, jer
nitko ne želi baviti oslobađajući sjećanje i stvari.
Ali mislim da je u Xcode 5, ne postoji ni ta opcija na novom projektu.
Dakle, on se automatski to radi za vas.
Da?
>> PUBLIKA: Možete li izvesti PDF na svoje knjige snimanja?
>> RHED SHI: Da, definitivno.
Dakle, svi oni će biti uključeni u izvorni kod, tako da dečki mogu provjeriti
Stvarni Xcode projekt za njega.
Da?
>> Publika: Ali, mislim, kao, može sam ispisati PDF sa mojim storyboard?
Ako ja samo želim da se izvoz slike pokazati nekome.
>> RHED SHI: Oh yeah.
Mislim, možda, možete samo snimku zaslona.
Da, i poslati im zaslon metak ili nešto.
Da.
>> Dakle, da vidimo.
U interesu vremena, mislim to je sve što ja mogu pokriti i danas.
No, znam da je to, zapravo, samo jedva dodiruju površinu iOS
razvoj.
Dakle, slobodno mi se obratite ukoliko Imate li pitanja o iOS
razvoj.
I, nadam se, ja ću biti u mogućnosti očistiti neke od koda za izvorom
kod datoteke, tako da ćete imati neke stvarno lijepih primjera raditi.
>> Osim toga, ako idete do CS50 Hackathon, ja mogu ili
Ne biti tamo, a ja mogu pomoći s nekim iOS razvoja, previše.
Dakle, puno hvala, dečki.