>> RHED SHI: Laipni lūdzam sk CS50 seminārs -
Ievads iOS.
Paldies visiem par ierašanos.
Es ceru, ka tu esi tikpat satraukti kā es esmu par iOS.
Pagājušajā gadā man bija CS50 kā otrā kursa students, un es būtībā uzzināju iOS par manu
galīgais projekts.
Un tas bija diezgan -
labi, tas nebija viegli, bet ir daudz atbalsta konsultācijas tiešsaistē.
Un es tiešām ceru, ka ar šo seminārs, es došu jums puiši galvu
sāksies iOS attīstību
>> Tātad, runājot par iOS attīstības, ir divas galvenās lietas, kas mums
vēlaties, lai segtu šodien.
Pirmkārt, valoda -
valoda būs būt Mērķis-C. Mēs faktiski dzirdēt
kaut kas aizraujošs.
Tātad, jūs varat pievienoties visu Apple izstrādātāju kopiena un veidot dažas
patiešām awesome progr.
>> Arī iOS 7 ir skaista, cerams, daži no jums.
Bet tas ir strīdīgs, es zinu.
Un galvenokārt, to, ko es gribu darīt, ir ceļvedis Jums ar Mērķis-C, un arī
Xcode, kas ir integrēta izstrādes vide, ka jūs būsiet
strādā uz iOS.
>> Un tā, vienkārši vārds par mērķa-C. Būtībā, tas ir tieši tāds pats kā C,
bet ar daudz citām lietām.
Un tā, stingrāk, tas ir faktiski super-komplekts C. Tātad, viss, kas jums
var darīt C tieši tagad, kas ir būtībā patīk PSET 0 līdz 6, jūs
var darīt Mērķis-C.
>> Tātad, nejūtas baidīties par šo jauno valoda, kas jūs gatavojas mācīties.
Jūs jau esat uz daudz no tā, jo jūs visi esat darījuši C šo pagātni
semestris, izņemot tagad jūs gatavojas ir daudz vairāk, lai strādātu ar.
Un es esmu tikai gatavojas vadīt jūs caur Daži piemēri izcelt dažus
no galvenajām atšķirībām, ka es atklāju, bija ļoti svarīgi, kad es uzzināju
Mērķis-C pagājušajā gadā.
>> Nu patiesībā, tāpēc, otra punkts ir, Mērķis-C, ir, protams,
objektorientētā.
Un mēs apspriestu mazliet par to, ko tas nozīmē vēlāk.
Būtībā, tas ir tāpat kā jūs strādāja ar structs šajā pagājušajā PSET, ar
mezgli un līdzīgi citi lietas, piemēram, ka.
Izņemot, Objective-C, viss ir objekts, un jūs esat būs
iet apkārt norādes uz objektiem nevis paši vērtībām.
Tātad, tas ir tikai kaut kas svarīgs paturēt prātā.
>> Tātad, kāpēc nav mēs sākt ar dažiem atšķirības sintaksi starp C un
Mērķis-C?
Es vēlos uzsvērt # include, jūs zina, standarta io.h C un C + +, ar
Mērķis-C versiju, tas, kas ir # importu, un tad dažas veida
header failu.
Šajā gadījumā tas būtu UIKit, jūs zināt, slīpsvītra UIKit.h.
Tas arī varētu būt, jūs zināt, MKMapview lai jūs slīpsvītra MKMapview.h ja vēlaties
ko darīt, piemēram, karti iekšpusē jūsu app.
Līdzīgas lietas, piemēram, ka.
>> Tātad, svarīga lieta ir jāiekļauj tagad ir mainījies, lai importētu.
Bet ideja joprojām.
Jūs esat būs importēt dažus veida no galvenes failu savā programmā.
>> Es arī gribu uzsvērt atšķirību starp printf un NSLog.
Tomēr, kā mēs teicām iepriekš, Objective-C ir stingri super-komplekts
C, kas nozīmē, ka Printf eksistē Objective-C, too.
Bet lielākā daļa cilvēku nav izmantot.
Lielākā daļa cilvēku izmanto šo NSLog, jo tas sniedz jums laika zīmogu, un mēs redzēsim,
tā darbībā vēlāk.
Bet, tas ir parasti daudz noderīgu veids, kā izdrukāt mainīgos.
>> Un es arī vēlos uzsvērt, ka NSLog aizņem tikai pats
viettura vērtības kā printf nav -
tāpēc% d ir int, % F ir apgrozāmos līdzekļus.
Tomēr es vēlos uzsvērt tas ir ļoti pēdējais -
NSLog% at zīmi -
kas ir vietturis objektu.
Un kā es teicu iepriekš, Mērķis-C piedāvājumi diezgan daudz, galvenokārt objektiem,
un tā tas nāks lietošanai, ja jūs vēlaties izdrukāt, varbūt, varbūt
NSArray vai NSDictionary, vai NSString.
>> Tātad, arī paziņojums, ka mūsu NSLog paziņojums, mēs esam pie zīmi priekšā
citāts -
tas ir, apliecina, ka stīgas, tagad, Objective-C ir objekti.
Tie vairs nav tikai char zvaigznes.
Viņi objekti, un tie jāuzskata par tādiem.
>> Tātad, tas ir ļoti svarīgi, ka tad, kad Jūs izmantojat NSLog tas notiek kādā NS
string, kas nozīmē, ka jums ir iekļaut AT priekšā jūsu
pēdiņas.
Un tas ir iemesls, kāpēc jūs redzat, šeit, visās mana funkcija zvanus uz šo NSLog, es
ir AT priekšā pēdiņām, pat tomēr% d un% f s ir
visu to pašu no C.
>> Visus jautājumus līdz šim?
Es mēģināšu, lai iet caur šo ātri, lai ka mēs varam būt vairāk laika, lai strādātu
ar Xcode un Objective-C, tāpēc ka jūs guys var dabūt vairāk
iepazinušies ar to.
>> Tālāk, es vēlos uzsvērt kaut ko konceptuāli svarīgi.
Tātad, C, lielākā daļa lietas ir funkcijas.
Mēs funkciju zvanu.
Mēs paziņojam funkcijas Šis veidā, ar atgriešanās tips, pēc tam
funkcijas nosaukums, iekavās, un pēc tam neatkarīgi argumentus un Tipa
šie argumenti mēs gribam iet iekšā
Un Objective-C, jo viss ir objekts vai klase -
tāpēc klasi un objektu ir divi termini, kas pārsvarā ir sinonīms ar otru,
lai es varētu tos izmantot pamīšus visā seminārā.
>> Bet, jūs redzēsiet, ka mēs esam metodes Mērķis-C nevis funkcijas.
Un metodes, pieder objektiem.
Tik vienkārši, kā, varbūt ņemt Piemēram, mezglu -
Mūsu tips [dzirdams]
mezglu no PSET 6 vai 5 -
mums ir vārds, īpašumu, vai nākamais mezglā rādītājs.
Metodes ir vienkārši funkcijas iekšpusē dažu struktūras veida.
>> Tātad, šajā gadījumā, struktūra būtu objektu, un pēc tam metode ir
kaut kas pieder pie objekta.
Un tas, kā jūs varētu deklarēt, veida, metodi.
Jūs varētu sākt ar atkal atgriešanos tips - tā, es mēģināju krāsu
kodu atslēgas vārdus šeit, lai jūs guys var redzēt, vismaz, formatējumu
līdzības funkciju deklarācijas un metode deklarācijas.
Tātad, jūs sākat ar, jūs zināt, atgriešanās tips - šajā gadījumā tas ir masīvs, vai
NSArray rādītājs -
un tad jums ir šī metode.
Un tad, kas ir interesanti šeit ir ka tā vietā, iekavas, mēs
ir šīs kolonnas.
Un pēc tam, priekšā mūsu argumentus, mēs sakot, atkal, iekavās veids
Mūsu arguments.
>> Tātad, tagad es cenšos darīt salīdzinājums, jūs zināt, n un
numuru, jo viņi gan kā Ints.
Un pēc tam, otrs ir NSUInteger veids.
Un tad, ar mērķi-C, ja jums vēlas, lai ir vairāki argumenti, kas
Jūsu metode klauzula, jūs, veida, atdalīt no veida, kā šis -
Es neesmu pilnīgi pārliecināts, kā aprakstīt to, bet tas ir labs piemērs tam, kā tu
var būt vairāki argumenti, kas tur.
>> Jūs varētu, protams, tikai pilnīgi ignorēt andArray kolu NSArray
masīvs, ja vēlaties tikai metodi kas notiek ar vienu argumentu.
Jā, jautājums.
>> Mērķauditorija: Vai gan NSUInteger un NSArray argumentus, kas var tikt veikti
ietvaros NSArray?
>> RHED SHI: Jā.
Tātad, ļaujiet man paskaidrot.
Tātad, jā.
Tātad, jautājums bija, ir NSUInteger un NSArray * veidu argumentiem,
un tas ir pareizi.
Tātad, jūs vienmēr vēlaties norādīt, ko Jūsu arguments veids ir.
Un šeit, es cenšos, lai jūs iepazīstināt daži no sintaksi un Vocab ar
Mērķis-C, tāpēc tie ir faktiskie veidi ka jūs nodarbojas ar.
>> Un, kā jūs pamanīsiet, masīvi vairs nav, veida,
vienkāršas kronšteins lietas.
Viņi objektus.
Kaut gan, ja mēs ejam uz nākamo slaidu, mēs varam redzēt, ka mēs varam
hard-kods NSArray Objective-C ar vienkārši ir simbols priekšā
iekavas.
Es neesmu, patiesībā, ir diezgan pārliecināts, vai Es sintaktiski iekodēts masīvs
pareizi C versiju, bet tas ir vajadzēja būt C masīvā.
>> Tātad, tas ir, kā jūs, jūs zināt, iespējams izmantot funkcijas vai
metodes, kuras mēs izveidojām agrāk.
Tiesības?
Tātad, tas ir, ja mēs paziņojam mūsu funkcijas un mūsu metodi.
Un tagad mēs vēlamies izmantot tos mūsu programma, un tas ir
kā mēs varētu darīt to.
Tātad, C, jums būs, jūs zināt, varbūt, bool b, un jūs to
vienāds funkciju, un pēc tam jūs iet argumentiem.
>> Objective-C, tas ir diezgan daudz pats.
Jums ir NSArray * my_array, un tas ir būs vienāds - tagad tikai
Atšķirība šeit ir šis objekts lieta, kas es esmu izcelta dzeltenā krāsā, un
kā jūs varat redzēt, C, tur ir neviens cits dzeltens vārdu.
Un tas ir tāpēc, ka metodes pieder ar noteiktu objektu.
Tātad, tas ir iemesls, kāpēc man ir nepieciešams, lai būtu objektu ka veida, aicina šo metodi
skaitlis nulle, un pēc tam NSArray a, b, c, d.
Kādi jautājumi par šo?
>> Mēs redzēsim šos jēdzienus darbībā diezgan drīz, kad mēs ejam uz demo.
OK.
Tagad es gribu runāt mazliet īsi aptuveni Xcode 5, kas
integrētā izstrādes vide ka jūs strādājat ar.
Es zinu daudz par jums, un daži no jums, nav Mac, kas ir problēma
jo Xcode nav pieejama Windows un PC.
Nejautājiet man, kāpēc, bet, iespējams -
yeah, uzņēmumu.
Neatkarīgi.
Bet anyway, tāpēc, es atvainojos, ja kāds no jums ir, lai lejupielādētu kādu no veida
virtuālā mašīna Mac Lai palaistu Xcode 5.
Bet tas ir diezgan švītīgs programmatūru izmantot.
>> Un tā, pirms mēs nodoties jebkāda veida gada demo, es tikai gribu jums parādīt
priekšstatu par to, kas Xcode izskatās jūsu logu, un pēc tam arī runāt
ko tas viss telpa ir.
Tātad, tas ir veids, kā mācīties, kā izmantot Microsoft Word, izņemot jūs vēlaties
iepazīties ar visiem dažādas lietas,
kas notiek šeit.
>> Tātad, pirmkārt, es vēlos jums norādīt uz rīkjoslas augšpusē.
Jūs redzēsiet, ka, augšā, jums ir faila nosaukumu -
vai, faktiski, jūsu projekta nosaukums un tad jūsu faila nosaukumu.
Ņem vērā notikumu attīstību un bremžu pogas.
Tie ir tie, kas jums tiks izmanto, lai palaistu savu lietotni
simulators -
iOS simulators.
Tas automātiski nāk ar Xcode 5, tāpēc jums nav jāuztraucas par
lejupielādēt dažas no simulators veida.
Jūs vienkārši nospiediet spēlēt, un tad tas darbojas jūsu app.
Un jūs varat spēlēt aptuveni ar jums, un jūs redzēsiet, kā tā darbojas vēlāk.
>> Un pēc tam, centrā, protams, ir , kur visu savu skaisto kods ir
gatavojas iet.
Un tad, no kreisajā pusē, jūs ir tas, veida, mape -
navigācija -
un tad jūs redzēsiet, ka kopā ar mapes ikonas, pastāv
ķekars citas ikonas tur, ka noderēs vēlāk.
>> Un tad, labajā pusē ir lietderība joma, kur var strādāt ar
daži no objektiem, un norāda, jums zināt, kādas krāsas būtu, ko
teksta fonts būtu, uc.
Lai gan, viss, kas jums jādara šajā lietderība jomā, jūs varat
darīt kodu, kā arī.
Un tā, es būs iet cauri divām piemēri, izmantojot vienkārši, bez kodu at
visi - vai ļoti minimāla kods -
vārsmas visu kodu, tikai tāpēc, ka jūs guys zināt, ko jūs var un nevar darīt
Xcode un Objective-C.
>> Un tad, visbeidzot, uz leju apakšā, Jums ir atkļūdošanas jomā.
Tātad, jums vairs jāskrien GDB, un tā tālāk, par savu programmu.
Tas automātiski tas jums.
Un jūs varat arī izdrukāt stuff šajā jomā.
Tik tiešām, vēlāk, mēs iet cauri mario.c, ja jūs puiši joprojām atceros
ka, Xcode.
Lai būtu jautri.
>> Un tad, tikai, lai to atpakaļ uz Mērķis-C, es vēlos uzsvērt to, ko
jūs varat darīt ar, ja pārskatos.
Tātad, jūs zināt, jo Mērķis-C ir superset C, viss, kas jums jādara, ir,
burtiski, tāpat kā C. jūs tikko ir nelielas atšķirības.
Tātad, jūs pamanīsiet veidlapu, ja paziņojums joprojām ir tas pats - Jums ir
ja, un tad jums ir iekavas ar nosacījums iekšpusē, tā tad
cirtaini bikšturi, lai kāds jums vēlas darīt iekšpusē tur.
>> Tomēr, es gribēju, lai šo slaidu uz augšu šeit, vienkārši, lai ilustrētu, ka,
tāpēc, ka mums ir darīšana ar objektiem tagad, mums būs jāizmanto šīs lietas
sauc, piemēram, ir vienāda ar virkni, kas ir nejauši, metode
virkni vai NSString objekts.
Tātad, vārds, šajā gadījumā, ir NSString objekts, un tas ir metodi, ko sauc ir
vienāds ar virkni, un tad mēs veidā ar iekodēts virkni redzēt
vai arī tās ir līdzvērtīgas viens pret otru.
>> Visus jautājumus līdz šim?
OK.
Un es gribu, lai iet pa par paziņojumu arī.
>> Tā, piemēram, ja vēlējāmies cilpu garumā virknes C, tas
ir pazīstams ar jums.
Un, mērķa-C, es vēlos , lai izceltu to, veida,
metode, ko sauc skaits.
Nu, faktiski, ļaujiet man vienkārši ņem šo atpakaļ.
Skaits ir metode masīva.
Tomēr, tas ir precīzāk īpašums masīva, kas ir iemesls, kāpēc jums
var izmantot dot apzīmējumu.
Bet es nevēlos, lai nokļūt pārāk daudz Šis konceptuālais stuff, es tikai gribu
lai parādītu, kā lietas izskatītos tāpat Mērķis-C, salīdzinot ar C.
>> Un arī, es vēlos norādīt, ka kaut gan es esmu, izmantojot NSUInteger
priekšā visiem maniem i-tajos Mērķis-C, Jūs varat arī izmantot int, jo int ir
pilnīgi derīga mērķa-C, arī.
Jā?
>> Mērķauditorija: Vai tas ir tikai stilistisks, vai -
>> RHED SHI: Jā.
Tātad, kā jūs redzēsiet -
Tātad, jautājums ir tas, ka tikai stilistikas jautājums.
Kā jūs redzat, man ir, sava veida, zvaigzne Zvaigznīte lieta leju apakšā, un
ka saite jūs aizvedīs uz kaudze pārplūdes forma, ja kāds paskaidro
starpība starp int NSInteger un NSUInteger.
Un tā, jūs varat lasīt par to vēlāk.
Šie slaidi būs, protams, pieejams jums.
>> Paskatīsimies.
Labi, awesome.
Tātad, tas ir iekļauta arī slide jo es domāju, tas bija liels
Mājas lapu, kas iepazīstina jūs līdz Mērķis-C sintaksi.
Tātad, faktiski, kāpēc nav mēs pārietu uz Chrome un pārbaudīt šo tīmekļa vietni?
>> Tiesības.
Tātad, ko es gribu jums parādīt puiši šeit ir šo attēlu.
Tātad, tas ir, sava veida, būs kāda jūs gatavojas redzēt iekšpusē jebkuru
Xcode failu.
Patiesībā, kāpēc nav mēs tikai veikt brīdis, kārtot, veikt šo collas
>> Tātad, šī grāmata -
tas ir objekts, kas mums ir darīšana ar.
Un tad tas, protams, būs mantotas no kāda cita objekta, bet
Jums nav jāuztraucas par to.
Un tad tas, iespējams, ir dažas dalībvalstis mainīgie.
>> Svarīga lieta, ko es vēlos parādīt jums, ir instancē metodes, šeit.
Tātad, instanču metodes tiek apzīmētas Šajā mīnusa zīmi.
Un tad, kā jūs ievērosiet, mēs esam jau sāk redzēt paradigmu
par metodi atzīt, vai ne?
Atgriešanās tips, metodes nosaukums, un tad argumenta tipu, un
tad nosaukums argumentu.
Un tas mīnus zīme nozīmē, ka tā ir Piemēram metode, kas nozīmē, ka
šīs metodes ir pieejami tikai objekti, kas ir instantiated.
>> Lai kontrastu, ka, metodes ar plus pierakstīties pie tām ir klase
metodes, kas nozīmē, ka jūs varat zvanīt šīs metodes, pat ja jums nav
objekts izveidots vēl.
Tāpēc, lai skaidri, piemēram, NSString ir klase.
Un var piezvanīt, piemēram, klases metodes par NSString -
aktuāla, piemēram, vārdu NSString.
>> Tomēr, lai izmantotu šos metodes, jūs faktiski
ir nepieciešams, lai izveidotu virkni.
Piemēram, NSString zvaigzne stīgu vienāds pie pēdiņas, hello pasaule.
Un tad, jūs varat izmantot šīs metodes -
instancē metodes -
šajā Hello pasaulē virkni.
Tātad, kas ir starpība starp instances metodes un klases metodes.
>> Un mēs tikai uz šo daļu.
Īpašības ir vēl viena lieta, kas ir iekšpusē objektu, pamatā.
Un jūs atzīt tos ar pie nekustamā īpašuma atslēgvārdu.
Jums ir šīs iespējas, šeit, ka es paskaidrošu vēlāk, kad
mēs ejam uz demo.
Jā?
Hi.
>> Mērķauditorija: Vai jūs varētu tuvināt, lūdzu?
>> RHED SHI: Ak, jā.
Piedodiet.
>> Mērķauditorija: Paldies.
>> RHED SHI: Tas būtu daudz labāk.
>> Mērķauditorija: Jā.
Paldies.
>> RHED SHI: Jā, lūdzu, atgādināt mani, ja Es aizmirstu, lai tuvinātu vai tālinātu.
Tātad, tas ir viss, ko es gribēju lai parādītu jums -
paga, tas ir daudz -
šajā tīmekļa vietnē.
Tātad, iesim atpakaļ uz mūsu slaidiem.
>> Patiesībā, tagad pieņemsim, veltiet laiku nodoties demo.
Tātad, mēs sāksim ar Jaunais Xcode projektu.
Tātad, ja jūs atvērt Xcode par visiem jūsu mašīnas, tas būtu jāņem jums dažus
lapa, kur ir teikts, piemēram, vai nu atvērt up esošo projektu vai jauna
projektu, un jums vajadzētu noklikšķiniet uz jaunu projektu.
Un tad tas būtu jāņem Jūs uz šo ekrānu.
Jā?
>> Mērķauditorija: Ja mums nav Mac, mēs tikko veida chill?
>> RHED SHI: Vai skatīties uz ar kādu, jā.
Jā.
Jūs varat chill, too.
OK.
>> Tātad, ko mēs gatavojamies darīt vispirms, tagad, ir, faktiski, mēs gatavojamies darīt
Viens skats pieteikumu.
Tātad, ja jūs pamanīsiet, kas ir liels par Xcode un Apple atbalstu
izstrādātāji ir tas, ka jums ir daudz veidnes strādāt ar jau.
Jūs varētu, piemēram, veikt master-detail pieteikumu.
Jūs varat padarīt spēli -
un patiesībā, es neiešu uz spēlēm, jo spēles ir cits stāsts
iOS attīstībai.
Un viņi veida atsevišķi, tāpēc es neiešu uz to.
>> Pēc tam, jums ir lapa balstīta pieteikumi.
Jums ir tab pieteikumu -
tā patīk, piemēram, Bank of America iespējams, ir, piemēram, tabbed app.
Tas ir tie, kur jums ir pogas apakšā.
Un tad, jums ir Sprite Kit spēli.
>> Vai jūs varat strādāt no nulles, kas ir tas, ko mēs darīsim vēlāk.
Bet pieņemsim, pirmkārt, jāsāk ar Viens skats pieteikumu.
Tad tas būs lūgt produkta nosaukumu, un mēs varam tikai darīt testu.
Organizācijas nosaukums -
tāpēc, organizācijas nosaukums, Uzņēmums identifikators -
tie ir svarīgi, ja jūs gatavojas lai jūsu app no ​​App Store.
Izņemot to, ka jūsu kods būs darboties pilnīgi naudas sodu bez tā.
>> Tas būs svarīgi, ja jums vēlas - tā par sevi, piemēram, lai jūsu app
uz tālruni vai kaut ko, un tests tā, jūs zināt, reālajā dzīvē -
tas būs svarīgi.
Tas parasti parasti ir saistīts ar daži attīstītājs konta veida
ar Apple.
>> Un tā, es zinu, kas, iespējams, daudz no jums nebūs attīstītājs kontu.
Es zinu, universitāte ir viens.
Es domāju, ka CS ir viens.
Bet, jūs varat e-pastu man, un es mēģināšu , lai noskaidrotu, kas par Jums.
Bet tagad, es esmu vienkārši ielieciet dažas viettura lietas šeit.
>> Un jūs varat, protams, šeit, izvēlieties vai jūs vēlaties, lai to vienīgi
iPhone, iPad, vai abi -
universāls lietojumprogrammu.
Tātad, tagad, pieņemsim do universāls, tikko redzēt abas platformas pusēs.
>> Paskatīsimies.
Tātad, tagad, es esmu dodas, lai saglabātu tas ir kaut kādas mapes veida.
Nav svarīgi, kur - jūs vienmēr var pārvietot to vēlāk.
Un tagad mēs esam celta mūsu Xcode projektu.
Es nebūtu jāuztraucas par to visu.
Es ieteiktu nepieskaras kāds no Tas, ja vien jūs zināt, tieši to, ko
jūs darāt.
Tātad, tas viss, vienkārši ignorēt par lielāko daļu.
Jums nav nepieciešams pieskarties, un, ja jūs Vai jums ir izjaukt dažas lietas šeit, tas
kļūst nedaudz grūts.
>> Tātad, kāpēc nav mēs izpētīt failus uz
kreisajā pusē mūsu navigatoru.
Lūk, mēs esam AppDelegate.h.
Mums ir AppDelegate.m Tātad, kā jūs Paziņojums, mēs esam header failus, kas
beigties dot h, un mēs esam īstenošana -
faktiski, ļaujiet man zoom in
OK.
Ļaujiet man pietuvinātu objektu
>> Labi, tāpēc jums ir header failus un Jums ir īstenošanas failus.
Patiesībā -
OK.
Tas ir mazliet dīvaini, bet sedz ar mani.
Tad, jo mēs esam izvēlējušies vienotu viedokli pieteikumu, mēs gribam būt
strādā ar storyboard.
>> Tātad, storyboard ir kaut kas Apple ir jānāk klajā ar, lai tiešām palīdzētu
izstrādātāji ātri prototipam viņu pieteikumus.
Tātad, tas ir, ja jūs varat izveidot app nerakstot
nevienu koda rindu.
Tomēr mūsu vienotā skatā pieteikumu, mēs, protams, ir
failu Mūsuprāt, kas ir skats kontrolieris.
Tātad, mēs galveni un īstenošanu failu, šeit.
>> Un es esmu gatavojas, lai attālinātu tagad, jo mums nāksies strādāt storyboard.
Tātad, šeit ir mūsu viedoklis.
Ja mēs, vienkārši palaist app tieši tagad, tur nav daudz aizraujošu notiek.
Tātad, jūs redzēsiet šo balto ekrānu.
OK?
>> Un mūsu komunālo pakalpojumu jomā, mēs varam pievienot ķekars dažādas lietas, lai to.
Tātad, ja jums ir darīšana ar ekrāniem iOS, apskatīt kontrolieri
objekti, kas rezumēju, veida, savu viedokli.
Tātad, skats kontrolieris vienmēr ir īpašums sauc skats.
Un tas skats, parasti, ir, jūs zināt, ko jūs
vēlaties redzēt uz ekrāna.
>> Jā, labi, pieņemsim tikai sākt, liekot, varbūt, varbūt etiķete.
Tātad, pieņemsim likts etiķete tur -
stick to vidū.
Tātad, tagad, ka es esmu noklikšķinājuši uz etiķetes, es var iet uz īpašības inspektors
un sākt mainīt savu vērtību.
Sauksim to CS50 krāsas.
>> Un, es varu arī mainīt fontu.
Tātad, tā vietā, veicot sistēmu, kas ir noklusējuma, mēs varam darīt pielāgotu vienu.
Mēs varam mainīt -
jūs zināt, UltraLight, padarīt to 32.
Un tad mēs varam padarīt mūsu box lielāks.
>> Mērķauditorija: Vai jūs domājat, ka jūs varat zoom tikai nedaudz vairāk, varbūt?
>> RHED SHI: Jā?
OK.
>> Mērķauditorija: Vienkārši pieskarieties tam?
>> RHED SHI: Redzēsim.
Vai šo darbu?
>> Mērķauditorija: Just iet Xcode?
>> RHED SHI: Protams.
OK.
Awesome.
>> Mērķauditorija: etiķete zem?
Etiķete?
>> RHED SHI: Kas tas ir?
>> Mērķauditorija: Kas nolaižamā bija etiķetes zem?
>> RHED SHI: Tātad, jautājums ir, ko drop-down bija etiķete zem?
Tas būtu vienkārši, ir zem šeit.
Es domāju, tas ir kubs lieta.
Bet parasti tas ir noklusējuma -
Es esmu tikai iet uz leju šeit līdz es atrast etiķeti.
Jā.
>> Tāpēc tagad mums ir mūsu etiķete.
Pieņemsim centrs to.
Un Xcode dod mums vadlīnijas par centrēšanas objektiem.
Tātad, tagad pieņemsim vadīt savu kodu vēlreiz.
>> Tur mēs ejam.
Tātad, mums ir CS50 krāsas.
Un tagad, pieņemsim likts pogu tur, labi?
Tāpēc, ka mēs vēlamies, lai Šī interaktīvā.
Tātad, pieņemsim likts pogu šeit.
Un mēs to saucam par pogu "krānu šeit lai turpinātu. "Mēs centrs to, arī
Patiesībā, tas jau centrā.
Jā.
>> Tātad, tagad mums ir poga.
Un, ja mēs palaist vēlreiz, mēs ejam ir jauka maz pogu šeit.
Un es varu uz tā, bet tas nav jādara kaut ko, jo mēs neesam darījuši
kaut kas ar pogu yet.
>> Tātad, pieņemsim izveidot citu skatu, vai ne?
Tātad, pieņemsim, ka es vēlos, lai savlaicīgi ka poga un es gribu
dodieties uz citu lapu -
cits skats.
Ko es esmu gatavojas darīt, ir, es varu izveidot skats kontrolieris, vai ne?
Tagad es jums klikšķi uz manas pogas, un pēc tam, Svarīgi ir tas, es esmu gatavojas
klikšķis - vai -
jā, nospiediet kontrole uz manu klaviatūru.
Kontrole.
Noklikšķiniet uz pogas, un pēc tam velciet.
>> Tātad, neaizmirstiet turiet vadības taustiņu.
Darīsim to vēlreiz.
Tātad, tur kontroli, noklikšķiniet un velciet to, ko jūs vēlaties darīt.
OK.
>> Un tagad man ir vairākas iespējas šeit.
Es varu vai nu push, vai arī es varu darīt modāls, vai es varu darīt pasūtījuma.
Push ir tikai tad, ja ir navigācijas kontrolieris.
Tieši tagad, mūsu pašu pirmo view kontrolieris nav iekšā jebkādu
navigācijas kontrolieris.
Tātad, navigācijas kontrolieris ir viens , kas dod jums atpakaļ pogu
iOS app, kur jums ir, jūs zināt, , kas top, veida, bieza bar -
kur jūs varat doties atpakaļ, vai priekšu, un tā tālāk.
Tieši tagad, man nav to.
Un tā, tas ir iemesls, kāpēc es nevaru darīt push.
>> Tātad, es noklikšķinājuši uz push nejauši, šeit.
Un faktiski, pieņemsim palaist kodu, un tas būtu crash uz mani.
Tikai tad, ja es nospiediet pogu lai gan, tāpēc -
labi.
Tātad, tas ir slikti.
>> Un, kā jūs varat redzēt šeit, mēs ir kļūdas ziņojumu.
Tātad, "Push segues var izmantot tikai tad, ja avots kontrolieris vada
gadījums UI navigācijas kontrolieris. " Tātad, jo tas nebija iekšā
navigācijas kontrolieris, Es nevarēju darīt.
>> Tātad, tagad, es esmu dodas atpakaļ uz mapi, dodas atpakaļ uz storyboard.
>> Mērķauditorija: Kas ir navigācija kontrolieris, atkal?
>> RHED SHI: Tātad, tagad es tev parādīšu.
Paskatīsimies.
Tātad, es esmu gatavojas noklikšķiniet uz šo skatu kontrolieris, un tad es iešu
līdz produktam -
patiesībā, nē, sorry - redaktors.
Un es iešu uz -
patiesībā, tomēr es noklikšķiniet uz to?
Nē.
Tur mēs ejam.
Es iešu uz augšu redaktors, iet uz leju iegult, un pēc tam navigācijas
kontrolieris.
>> OK.
Un mana darba vieta izskatās ļoti netīrs, tāpēc pieņemsim sakopt šo augšu.
Tātad, tas viss ir Montāžas.
Un tādā veidā -
Labi, stop -
Es varu ātri izveidot kaut ko kā šis.
Un tad, tagad es varu iet atpakaļ, jūs zināt?
>> Bet tas ir sava veida garlaicīgi, vai ne?
Tātad, ko es gribu darīt, ir, es negribu veikt, vienkārši, skats
kontrolieris.
Pieņemsim, ka es gribēju, lai faktiski padarītu galda skats kontrolieris, lai es varētu likt
dažas jaukas krāsas, uz galda.
>> Tātad, tagad, ka es esmu likts manā tabulas skatā kontrolieris, man ir nepieciešams, lai savienotu to atpakaļ
No šīs pogas, lai skats kontrolieris.
Tāpēc man ir nepieciešams darīt savu kontroli, klikšķis, velciet lieta vēlreiz.
Un tagad es varu darīt push, jo es iestrādāt tā iekšpusē navigācijas kontrolieris.
>> Mērķauditorija: Navigācijas kontrolieris vienkārši ļauj jums iet no vietas uz vietu?
>> RHED SHI: Jā.
Tātad, tehniski, tas ir objekts, kur -
tāpēc, iekšpusē navigācijas kontrolieris objektu, tā
seko masīva.
Un tas masīvs pieder visas sekojošā skatīt kontrolieriem.
Tāpēc, kad nospiežat atpakaļ, tas iet atpakaļ uz iepriekšējo lapu.
Jo navigācijas kontrolieris objekts, vai kods, kas rūpējas par
šis objekts, ir masīvs, kas uztur izsekot šo skatu kontrolieriem, un
pēc tam, jūs zināt, DQ viedokli kontrolieris un sniedz jums atpakaļ
iepriekšējais.
>> Tātad, tas ir tehnisks sīkumi, bet -
un es jums parādīs, vēlāk kods, ja mums ir laiks.
Es esmu veida pietrūkt uz laiku, bet gan -
>> Tātad, ar tabulas skatā ko mēs varam darīt, ir -
Tas parasti tiek automātiski iestatīts ar Dynamic Prototype -
Mēs ejam, lai padarītu to Static Cells, citādi mēs spēsim
uzskriet dažas problēmas.
>> Un tad, pieņemsim, ka es esmu gatavojas ir vienu sadaļu.
Tātad, sekcijas ir kā -
Ja jūs esat kādreiz redzējuši mūzikas app, kad Jums ir mākslinieki, profili būtu
ir ir cauri Z's -
burti -
un tad, jūs zināt, individuālais rindas būtu mākslinieks nosaukumi.
Un tā, kas ir cool šeit, ir tas, ka es varu piekļūt visus objektus iekšpusē
mana storyboard caur šo drop-down menu, too.
>> Tātad, es esmu gatavojas klikšķi uz manas sadaļas, un es gribu, jūs zināt, varbūt piecas rindas.
Un tad, iekšpusē katrā rindā, Es gribu, lai etiķeti.
Un es esmu gatavojas nosaukt šo Blue.
Un tad, es gribu, lai jūs nodot UI skats zina, varbūt, piemēram, mazā kastīte.
>> Tā, ka es varu parādīt cilvēkiem preview krāsas.
Un es iešu atpakaļ uz īpašumu un mainīt šo krāsu, oh, man nav
zinu, šo vienu.
>> Un tad, pamanīt arī šeit, kad man ir aksesuāri, es varu būt daudz
no dažādiem piederumiem ka jūs parasti redzēt.
Atklāšana rādītājs, detaļu vai atzīme, vai vienkārši vienkārši detaļu.
Tātad, varbūt mēs varam darīt, piemēram, par informācijas izpaušanu indikators, piemēram.
>> Un tad, kāpēc nav mēs šos, kopēt ielīmēt tos, un nodot tos
Nākamais tabulas rindu.
Tātad, mēs varam nosaukt šo dzeltena.
Un es varētu būt, lai paplašinātu to.
Lai tas dzeltena.
Un šādā veidā, mēs varam kopēt ielīmēt savu ceļu uz leju.
Kas tas bija?
Violeta.
>> Tātad, tie visi ir tipisks CS50 krāsas, ka jūs esat redzējuši klasē -
tiešām, sorry -
vai vietnē.
Cerams, ka jūs guys var redzēt ko es daru šeit.
OK.
Pēdējais.
>> Mērķauditorija: Kā jūs pievienot rinda sākotnēji?
>> RHED SHI: Tātad, jautājums ir, cik Vai es pievienot rindu sākotnēji?
Iegāju šajā tabulā, sadaļā - vai tomēr es varu
atlasiet tabulas sadaļu -
un pēc tam, šeit, es atjaunināts rindu.
>> Un ļaujiet man cerību, ka tas darbojas.
OK.
Let 's redzēt, ja tas darbojas.
Ak, perfekta, awesome.
OK.
Kamēr es biju veidojot savu demo, dažiem lietas nebija saskaņotas, tāpēc, paldies
aplausi.
>> Jā.
Tātad, pieņemsim redzēt.
Mēs padarīt šo deviņi tikai, lai viss - vai tiešām, pieņemsim tikai
savukārt visi šie uz atklāšanu rādītāji.
Un tad, ko es vēlos parādīt jums, too, bija, kā es varu veikt katru no tiem
tabulas rindas un tos mijiedarboties -
oh.
Nē.
>> Oh.
Arī es vēlos parādīt jums -
šeit, es varu nodot titulu manas navigācijas kontrolieris, vai ne?
Tik tiešām, jūs ievērosiet, tiklīdz es iegultās šo viedokli kontrolieris iekšā
Navigācijas kontrolieris, mēs redzam, Tas navigācijas josla augšā mūsu
storyboard pārstāvība ar skatu kontrolieris.
Un tā, tas dod mums, piemēram, redzes, veida, gida mūsu redzamo ekrānu.
Tas, protams, būs ir navigācijas josla.
>> Un tas, ko es gribu darīt ātri, tagad tiek likts citā -
tāpēc šī tabula viedokli kontrolieris es darīju, ko ņemot kādu no šiem, un velkot
šeit, un tas ir to, kas man ļāva ātri, tiešām, izveidot tabulu skatu
kontrolieris.
Ja mums ir laiks, lai gan, jūs redzam, ka, pragmatiski, tas ir
nedaudz vairāk delikāta, lai izveidotu tabulu skats kontrolieris, jo tur
Ir pāris metodes, kas ir nepieciešams, lai jūs varētu, veida, rakstiet
veic, lai par tabulas skatā kontrolieris tiks parādīts pareizi.
>> Tomēr, es tikai vēlos, lai parādītu jums, tagad, piemērs, kur, ja es to,
piemēram, -
Esmu likts citā skatā kontrolieris.
Un tagad, pieņemsim, ka es vēlos, lai kontrolētu alt mana pirmā zils
tabulas rinda uz šejieni.
Un es vēlos, lai izsauktu šo Blue.
Un tad -
paskatīsimies.
Es esmu pie domām tagad, un es varu mainīt fons zils.
>> Un tā, paziņojumu, šeit, šī nolaižamā izvēlne arī sniedz jums hierarhiju visu
no šiem objektiem.
Tik svarīga lieta atzīmēt, šeit, ir tas, ka visas šīs lietas, šeit -
šī tabula viedokli kontrolieris, galds Skats, galda skats sadaļa, galda view
cell - tās visas ir objekti, ar kodu.
Tātad, jūs zināt, etiķete tiesības tagad ir zem Rakstu skatīšanās, uc.
Tā tālāk un tā tālāk.
>> Tātad, ja mēs palaist šo kodu, mēs vajadzētu redzēt kaut ko -
pieņemsim redzēt, ja tā - jā.
Tātad, tur mēs ejam.
Bet, ja mēs to nedarīsim, ka neviens no šīs citas lietas darbu.
Tiesības?
Lai tikai tas viens strādā.
Un, lai nodrošinātu laika, es ne iedziļināties, jūs zināt, liekot
lejup pa citiem uzņēmumiem.
Un tas ir gals, veida, storyboard -
ko es gribēju parādīt jūs par storyboard.
>> Un, man ir izstrādājusi piemēru, faktiski, tieši šeit.
Tātad, tas ir storyboard ka es agrāk.
Tātad, kā jūs varat redzēt, tas bija mans navigācijas kontrolieris.
Tad man bija mans pirmais skats kontrolieris, tad man bija mana galda skats kontrolieris,
un tad man bija visi šie -
tāpēc agrāk, man bija darīt kaut kas ļoti atšķirīgs.
Tātad, attaisnojums šīs lietas.
Es droši vien tīrīt to uz augšu vēlāk pirms Es nosūtiet uz ražošanu.
>> Bet, ja mēs palaist to, mēs redzēsim ka visas iespējas ir
pieejamas mums.
Izņemot man nebija darīt fonu šīs krāsas.
Tātad, jauki vienkārši piemērotu.
>> Tagad, pieņemsim mēģināt risināt Tas programmiski.
OK.
Tātad, ko darīt, ka mēs esam tikai gatavojas , lai sāktu jaunu Xcode projektu.
Mēs padara tukša pieteikums tagad, jo mēs nevēlamies, lai būtu
storyboard.
Tātad, es esmu vienkārši ierobežojot sevi nav izmantot jebkuru no montāžas skalas, un
tukšs pieteikums netiks man storyboard.
Tas ir tikai, lai novērstu sevi no krāpšanos.
Paskatīsimies.
Gaidīt.
Vai es -
Jā.
OK.
>> Tiesības.
Tātad, šeit mēs esam palikuši nekas cits kā kodu.
Tātad, ļaujiet man pāriet šo logu nedaudz vairāk.
Tiesības.
Kā jūs varat redzēt šeit, tikai failus mēs esam dota esam AppDelegate.h un dot
m, un mums nav storyboard vairs.
>> Tātad, ja mēs palaist to, mēs joprojām turpinās, lai nokļūt uz balta ekrāna, paldies Dievam.
OK - balts ekrāns, bet nekas cits.
Un šeit ir svarīga daļa.
Šī ir vieta, kur darbība notiek.
Iepriekšējās versijas, tur ir parasti nav kodu šeit, bet
storyboard būtībā paredz, kods, lai šo daļu.
Es negribu iedziļināties sīkāk par to.
>> Un tas, ko mēs vēlamies darīt, tagad ir, mēs vēlamies iet šeit, un tas maz vietas
sākas no jauna radot mūsu app.
Tātad -
jā?
>> Mērķauditorija: Zoom?
>> RHED SHI: Zoom.
Jā, protams.
OK.
Es būšu rakstīt, tāpēc tas nedrīkst jautājums pārāk daudz.
OK.
>> Tātad, pirmkārt, atcerieties, mēs vēlējāmies radīt navigācijas kontrolieris, vai ne?
Un arī, kā jūs varat redzēt šeit, Xcode tas patiešām lielu darbu
self-pildījumu.
Tātad, kā jūs pamanīsiet, vārdi viss ir daudz ilgāk nekā
parasti, bet Xcode piepilda to ar jums.
Lai es varētu vienkārši nospiediet Enter.
>> Tātad, es vēlos, lai izveidotu UI navigācijas kontrolieris rādītājs, un es varu to sauc
navigationController.
Tagad, ko man darīt tagad?
Pēc šīs vienādības zīmi, man ir nepieciešams, pirmkārt, izveidot to iekšpusē atmiņas.
Tātad, es esmu gatavojas darīt NavigationController alloc -
Tātad, tas ir līdzīgs malloc, ka jūs puiši izmanto C -
un tad, es esmu gatavojas init to.
>> Tātad, tas ir ļoti svarīgi, lai jebkurš objekts, kas jūs izveidojat, jūs vēlaties, lai
alloc un init to.
Kas notiek, lai radītu to, un instantialize tā iekšpusē atmiņas, un
Tagad jūs varat izmantot to.
Labi?
Ja jums nav darīt, ka jūsu mērķis nav nepastāv, un jūs satikt ķekars
problēmas.
>> Un tad, es gribu, lai radītu skats kontrolieris, vai ne?
Tātad, es vēlos, lai izveidotu UIViewController star -
jā, viss ir rādītājs, kas Mērķis-C, un es esmu gatavojas darīt
kaut kas līdzīgs, šeit -
alloc, init.
OK.
>> Un tad ko es esmu gatavojas darīt, ir, es esmu dodas uz - jā, atceros, kad mēs to izdarījām
embed navigācijas kontrolieris?
Tas ir, kā jūs darīt to kodu.
Jūs gatavojas darīt navigationController
pushViewController -
>> Mērķauditorija: [nedzirdama].
Tas notiks mums, vai -?
>> RHED SHI: Ak, jā.
Nē.
Tas patīk man labāk.
Nē, tas būs strādāt ar jums, too.
Tātad, tie ir visas metodes.
Tāpēc pushViewController ir metode, un arī, precīzāk, tas ir
Piemēram metode UI navigācijas kontrolieris.
Jo man bija, lai izveidotu savu UI navigācija kontrolieris zvaigzne, un tad es
var izsaukt šo pushViewController par manu īpašais gadījums UI navigācijas
kontrolieris.
>> Mērķauditorija: Vai mums ir jādara precīzu vārdu, vai arī tas jau ir par to?
>> RHED SHI: Jā, jo tas ir veids.
Tas ir tāpat kā funkciju.
Tas ir tāpat kā printf.
Tas ir tāpat kā scanf.
Tas ir tāpat kā strcompare.
Izņemot tā zina, ko jūs varētu vēlēties, lai tipa, un paziņo, ka tā būs vienmēr
nākt klajā ar lietām, kas ir likumīgi atļauts jums.
Tātad, ja nekas parādās šeit, tad kaut kas ir nepareizi.
>> Tātad, pushViewController.
Tātad, tagad, es gribu, lai push mans jaunizveidoto
UIViewController, un pēc tam, animācijas -
varbūt ne.
Jo tas būs Pirmais skats kontrolieris.
Es domāju, pat ja man bija padarīt animācijas, tas, iespējams, neparādīsies, jo
tā ir pirmā ekrāna.
>> Un atcerēties iekavās.
Tātad, atcerieties, kā mēs izmantojām iekavas?
Un Iekavās Objekts aicina metodi -
tāpēc mūsu mērķis ir navigācijas kontrolieri, un metode push
skats kontrolieris animācijas.
Un redzēt, kā tā veic divus argumentus, un viņi atdala, veida,
vārdiem, un resnās zarnas.
Tātad, Mērķis-C mēģina padarīt to jauki un viegli, lai jūs varētu lasīt skaļi -
Jūsu kods - un ir to daļēji, veida, jēgas.
>> Tomēr, dara tikai to nepietiek.
Ļaujiet man zoom out tagad.
Dara tikai tas nav pietiekami, lai iegūt to, ko mēs saņēmām, lai iepriekš.
Tātad šeit, jūs pamanīsiet, ka ir faktiski nebūs nekāda veida
bārs, šeit, vai ne?
Nav navigācijas joslu, kas nozīmē, ka mēs joprojām neesam gotten to.
>> Un mēs varam pārbaudīt, ka ārā, arī ar, varbūt, mainot fona
ViewController, vai ne?
ViewController.background--
ah.
Tātad, redzēt, kā ViewController nebija fona krāsu, lai gan es
gribēja piekļūt?
Un tas ir tāpēc, ka ViewController ir konteiners viedokli.
Tātad, tas ir skats īpašība, kas tad ir fona krāsu.
>> Un, es varu noteikt to, veida tediously, zvanot krāsu
uz UIColor objektu.
Tātad, paziņojums šeit, redColor ir metode.
Tas ir klases metode UIcolor.
Tāpēc, ka man nebija, lai radītu faktiskais gadījums UIColor lai
zvanīt metodi par to.
Es tikai, vienkārši, to sauca par uz tipa līdzīgu nosaukumu.
Es, tāpat kā, to nosauca par int, ja int bijusi piemēram, metode, lai to, piemēram,.
>> Un tā, ja mēs palaist šo kodu, mēs paziņojums, ka fons ir
faktiski nav sarkans.
Tas joprojām ir balta.
Un kā mēs varam iegūt apkārt, tas ir, paziņojums, kā tur ir self.window.
Tas ir, piemēram, galvenais konteiners jūsu pieteikumu.
Tas ir galvenais lieta, kas satur viss uz ekrāna, lai
iPhone vai iPad pieteikumu.
>> Un, ērti, self.window ir šo nekustamo īpašumu ar nosaukumu
rootViewController.
Un tas būs rādītājs pats pirmais skats kontrolieris iekšā
jūsu app.
Tātad, ko mēs vēlamies darīt šeit, tagad ir noteikt, kas ir vienāda ar mūsu navigācijas
kontrolieris.
Tiesības?
Jo, tehniski, navigācija kontrolieris ir mūsu pirmais skats
kontrolieris.
Tas seko masīva cita skatu kontrolieri, un mēs uzstājām to
view kontrolieris vērā, ka masīva navigācijas kontrolieris.
>> Tātad, jūs nevēlaties to darīt.
Tas nav īsti jums palīdzēt.
Jūs vēlaties to darīt, ja jūs vēlaties darīt navigācijas kontrolieris, kas lielākoties
un jūs, iespējams, tāpēc, ka jūs vēlaties to, veida, ir dažas no veida,
piemēram, izvēlni, lai dotos atpakaļ uz vai dažus mājas lapa, lai atgrieztos, nevis
tukšs ekrāns.
Jā?
>> Mērķauditorija: Vai tas ir neērti jums, lai tuvinātu -
>> RHED SHI: Jā.
Tātad, jā.
Tas ir kods, un tūlīt pieņemsim pārbaudīt to out.
>> Tātad, tur mēs ejam.
Maģija.
Tātad, OK.
Paldies.
OK.
Tātad tagad, ko mēs vēlamies darīt, ir - tā, mēs esam sava veida ierobežota, šeit, vai ne?
Mēs, iespējams, varētu uzrakstīt visu iekšpusē šī viena funkcija.
Bet, tas nav kā iOS attīstība parasti strādā.
>> Tātad, ko mēs gatavojamies darīt, ir, mēs esam gatavojas izveidot dažus jaunus failus.
Bet, precīzāk, mēs ejam, lai izveidot citu Mērķis-C klasi, vai
cits objekts -
klases un objekti ir savstarpēji aizvietojami šeit.
Un, lūk, kā es varētu, iespējams, izveidot citu klasi U kontrolieriem.
>> Tātad, tas ir sub-klases, kā jūs pamanīsiet, šeit, tas ir sub-klase
UI skats kontrolieris, bet es varu to sauc par jebkuru citu vārdu šeit.
Es varētu nosaukt šo CS50, es varētu zvanīt šo viedokli kontrolieris, es varētu zvanīt
Tas blah skats kontrolieris -
kaut ko es gribu.
Tas ir tikai nosaukums klasē.
Tomēr tas būs svarīgi jo, būtībā, ko es daru
šeit ir, es esmu veidojot cits klases nosaukums.
Tātad, tas būs, piemēram, daži veida tipa vai objektu.
Tātad, tas būtu mazliet vispārējs.
Tas nebūs ļoti specifisks.
>> Un arī es vēlos uzsvērt no šīm divām iespējām.
Tāpēc, ka mēs darām visu iekšpusē kods, dažreiz tas ir daudz vieglāk
lai ar interfeisa failu, piemēram, ka Es varu burtiski vilkt un nomest, jo
mēs darījām agrāk ar storyboard -
Jūs zināt, etiķete, vai pogu, vai kāds cits.
Un tā, xibs ir faili, kas ļauj jums to, ka, un jums ir, lai aizšmaukt
uz šo skatu kontrolieris failu.
>> Tātad, es esmu gatavojas apzināti nepārbauda šo.
Parasti es varētu pārbaudīt to, un, ja es tikai izdarīja iPhone vai iPad, es
varētu pārbaudīt šo un vienkārši ir viens , jūs zināt, iPhone vai iPad.
Bet, tā kā es daru universāls, es esmu gatavojas izveidot divus no tiem vēlāk.
Tātad, es esmu gatavojas apzināti izņemiet to.
>> Tas ir arī ļoti svarīga.
Daudz reizes, man bija kļūdas ja tas netika pārbaudīts.
Un tā, protams, šis fails nav, veida, piemēram, iekļauti vai importē
iekšpusē šīs testa mapi.
Un tā, mans kods nav absolūti ne jausmas par to, ka šīs lietas, un
, kas izraisa daudz sāpes un stundas debugging.
Bet, tikai pārliecinieties, ka tas ir pārbaudīts, lai ka jūs zināt, mērķis šajā
fails ir šo pieteikumu.
>> OK.
Tātad, tagad mēs esam izveidojuši divus jaunus failus.
Un šie faili izskatās diezgan tukša.
Un, patiesībā, pieņemsim arī turpmāk par radot XI b failus.
Tātad, agrāk, es biju Kakao Touch nolaižamā.
Tagad es esmu gatavojas iet uz lietotāja Interfeiss touch, un, kā jūs varat redzēt, es
var izveidot storyboard.
>> Tātad, pat es sāku ar tukšu Pieteikumu, es vēl joprojām var izmantot
storyboard.
Lai gan, tas izpaužas grūts izteiksmē par to, kā jūs vēlaties, lai savienotu
kas ar savu kodu.
Tātad, es neiešu tur.
>> Bet tas, ko mēs vēlamies darīt Tagad ir izveidot skatu.
Un jūs varat izvēlēties iPhone vai iPad.
Un parasti, lai apzīmētu atšķirība - ja jūs darāt
universal pieteikums -
Jūs vai nu nodot pasvītrojumu iPhone, vai arī jūs varat darīt Twiddly.
Tas nav īsti jautājums.
Tas ir vienkārši, lai jūs varētu atšķirt kura viedoklis ir, par ko ierīce.
>> Un tā, tagad izskatās.
Man ir ekrāns, ka es varu strādāt.
Un tā, piemēram, es varu likt etiķeti šeit, jūs zināt, un es varu arī nodot
citu pogu šeit.
Man nav apnikt mainīt vērtības šeit.
>> Bet, kas ir svarīgi šeit ka faila īpašnieks -
jā, es esmu iekšā iPhone Skats, iPhone XIb failu.
Un uz leju šajā navigācijas zonā vai drop-down menu, es gribu iet uz
faila īpašnieks.
Un tas ir patiešām Nozīmīgs solis šeit.
Es gribu, lai klases viedokli regulators, lai tas XIb fails
tiks saistīts ar mans viedoklis kontrolieris.
Un viss, kas man iekšā, manuprāt kontrolieris programmatiski ir
tiks atspoguļots šeit.
>> Tātad, tomēr, paziņojums, ka -
patiesībā, pieņemsim šo viedokli fona blue, piemēram.
Vai zaļā krāsā.
Un tad, tāpēc, ja jūs ievērosiet, atpakaļ šis kods, tas ir, ja mēs saņēmām mūsu
navigācijas kontrolieris.
>> Pat ja mēs darījām šo soli, tas ir joprojām būs sarkans, nevis zaļš.
Un tur ir iemesls, kāpēc.
Tas ir tāpēc, kad mēs inited Mūsu viedoklis kontrolieris, šeit -
sorry, tas ir mazliet traks -
kad mēs inited mūsu domām kontrolieris šeit mēs inited to par vispārēja tipa
UIViewController.
OK?
Tāpēc mums nav pat darīt tas ar šo klasi.
>> Līdz ar to atcerēties, tas ir kā klases tagad.
To var uzlūkot kā tipa, tikko kā UIViewController ir veids.
Un, lai izmantotu, ka tas, ko mums ir jādara, ir importēt -
imports ViewController -
un, kā jūs varat redzēt, tas autofills to man.
Tātad, ViewController -
un tagad, šeit, es varu mainīt UIViewController uz ViewController.
Un tagad, lūk, es varu mainīt tas ViewController.
>> Pieņemsim palaist vēlreiz.
Tas joprojām red.
Un iemesls, kāpēc tas ir joprojām sarkanā ir tāpēc, ka -
woah, kas tur notika?
Mēs vēlējāmies, lai saistīt šo XIb failu ar skatu kontrolieris.
Tomēr, lai faktiski darīt ka mums ir jāiet uz to.
Un, kad mēs init, mēs vēlamies darīt initWithNibName, un tad mēs vēlamies
darīt pie virknes View_iPhone, piemēram.
Jūs varat ignorēt paketi šeit.
>> Un tas notiek, lai ļautu mums, faktiski -
uh oh, tur ir problēma.
Tiesības.
>> Un tā, tur ir problēma, jo, Mūsu viedoklis XIb failu, mums ir etiķete un
mums ir poga.
Tomēr, pat ja mēs esam savienoti tie divi, tur nekas iekšā
ViewController.h vai ViewController.m ka atspoguļot
pogas vai minētās etiķetes.
Tātad, mums ir nepieciešams rakstīt tiem, kā īpašības skatu kontrolieris.
>> Tātad, tas ir, kā jūs deklarēt īpašums.
Tā veic parasti, šīs divas iespējas.
Lai mums un šī semināra mērķiem, Es teiktu, ka kopumā,
vairums īpašības nonatomic un saglabāt.
Jūs varat izlasīt pat par Google meklēšanu, jūs zināt, atšķirība starp
nonatomic un saglabāt tālāk, jūs zināt, Google vai kaut ko.
Un es ņemšu jūs, lai, piemēram, kaudze Pārplūdes, kur cilvēki būs
atbildes uz atšķirībām starp tiem.
Bet tagad, ka tas, ko mēs vēlas būt saistīta ar.
>> Un mēs vēlamies, lai izveidotu UI etiķetes, zvaigzne, un mēs varam saukt visu, mēs gribam.
Mēs varam nosaukt šo, jūs zināt, etiķete.
Un mēs izveidot citu vienu pogu.
Un atcerēties, lai iekļautu zvaigznīti, tāpēc, ka mums ir darīšana ar norādes
diezgan daudz visur iekšā gada Mērķis-C.
>> Tomēr uzskata, ka joprojām nav atrisināt problēma, kā jūs varat redzēt šeit.
Un iemesls ir tāpēc, kad mēs vēlas, lai savienotu XIb failu etiķeti vai
pogas ar programmu, vai header un īstenošana failu, mēs vēlamies
pievienot šo gabals kodu -
outlet.
Ievērojiet, ka tas ir atslēgas vārds.
>> Un, tiklīdz es apdare rakstīt ka no tā vajadzētu būt šīs
divi apļi, šeit.
Parasti viņi nav aizpildīta
Es neesmu pārliecināts, kāpēc viņi ir.
Bet parasti, jums būs manuāli savienot tos, dodoties uz šo pusi
komunālie platība.
>> Un tā, tieši tagad, es esam ieguvuši savu etiķeti izvēlēts, un es vēlos vilkt šo jauno
atsauces noieta mana faila īpašnieks, un pēc tam noklikšķiniet uz zīmi.
Tāpēc tagad, beidzot, šī etiķete saistīta ar šo etiķeti.
Un šis marķējums ir tas, ko mēs gatavojamies izmanto programmējot, lai mainītu savu
teksta, tā fontu, tā konteksts krāsā, un tā tālāk.
>> Tātad, kāpēc nav mēs darām pats par pogu?
Un, kā jūs pamanīsiet, lai pogas, tas ir nedaudz sarežģītāk.
Jo, es domāju, jūs vajadzēja nospiediet uz pogas, tāpēc tas ir ieguvuši daudz
variantu, kā lietotāji var nospiest uz pogas.
Un tad mēs redzēsim vēlāk, ka mēs varam savienot to ar mūsu
kodu, lai tā darbotos.
>> Tātad, tagad, lai gan, mēs vēlamies, lai savienotu tā faktiskajam pogu
iekšpusē mūsu kodu.
Tāpēc mēs ejam uz jauno atsauču kontaktligzdas, un pēc tam darīt pogu.
Tagad, pieņemsim palaist to atkal.
Uh oh.
OK.
Es nezinu, kas notiek šeit un tagad.
Eh.
Tikai viens mirklis, šeit.
>> Patiesībā, kāpēc ne mēs apskatīt vēl viens piemērs, kas
interese laika.
OK.
Tātad, šeit ir daudz vieglāk sagatavoja piemērs ViewController.
Kā jūs varat redzēt šeit, es esmu iekļauts rekvizītus
etiķetes un pogu.
Un tad šis gabals kodu šeit -
Tas IBAction -
bija saistība ar šo pogu šeit.
Tātad, kā jūs varat redzēt šeit, Touch up iekšpusē ir savienots ar selektora
sauc nospiesta poga.
>> Tātad, mēs faktiski var iet cauri kustības atkal šeit, ņemot Touch Up
Iekšā un velkot to uz Faila īpašnieks, un pēc tam
noklikšķiniet uz taustiņu.
Tagad, pieņemsim palaist mūsu kodu.
Tāpēc tagad, šī poga tagad strādā, un mūs aizvedīs uz nākamo lapu.
>> Un, runājot par mūsu domām kontrolieris, tas ir gabals kods, kas notika
rūpēties par nospiesta poga.
Un tas ir svarīgi piezīmēt, ka Esmu izveidojis cita veida skatu
kontrolieris sauc tabulu skats kontrolieris.
Tātad, tas bija līdzīgs atpakaļ storyboard, kad es vilka kādu no
šīs tabulas skatā kontrolieri uz storyboard.
Es veidoju citu
>> Rādītāju uz tabulas skata kontrolieris, alloc un Pr-ing to, un tad dara
sevis dot navigācijas kontrolieris, push ViewController, šī jaunā
viewController.
Un es esmu noteikti animāciju jā, jo tagad iekšā mana app, un es
vēlas, lai faktiski redzēt animācijas notiek no mājas lapas uz galda
skats kontrolieris.
>> Mērķauditorija: Vai jūs joprojām jāuztraucas par atkritumu savākšanu?
>> RHED SHI: Kas tas ir?
Nē.
Tātad, jautājums ir, vai jums ir strādāt ar atkritumu savākšanu?
Tātad, Xcode 4 bija, piemēram, ARC, kas ir automātiska atsauces skaitīšanas.
Un tā, parasti, kad jūs sākat jaunu projekts, jūs varētu pārbaudīt, ka, ņemot
neviens īsti vēlas, lai risinātu ar atbrīvojot atmiņu un sīkumi.
Bet es domāju, Xcode 5, nav pat šī izvēle par jauno projektu.
Tātad, tas automātiski tas, ka jums.
Jā?
>> Mērķauditorija: Vai jūs varat eksportēt PDF jūsu storyboard?
>> RHED SHI: Jā, noteikti.
Tātad, visi no šiem tiks iekļauti pirmkodu, lai jūs guys var pārbaudīt
faktiskais Xcode projektu par to.
Yeah?
>> Mērķauditorija: Bet, es domāju, piemēram, es varu izdrukāt PDF ar savu storyboard?
Ja es tikai vēlos, lai eksportētu attēlus, lai parādītu kādu.
>> RHED SHI: Ak jā.
Es domāju, varbūt, jūs varat vienkārši veikt ekrānuzņēmums.
Jā, un nosūta tos ekrānu shot vai kaut ko.
Jā.
>> Tātad, pieņemsim redzēt.
Interesēs laiku, es domāju, ka tas ir viss, l var aptvert šodien.
Bet es zinu, ka tas, patiesībā, vienkārši tikko pieskaroties virsmai iOS
attīstība.
Tātad, lūdzu, sazinieties ar mani, ja Jums ir kādi jautājumi par iOS
attīstība.
Un, cerams, es varētu tīrīt dažas no koda avota
kodu failus, lai jums ir kāda tiešām jauki piemēri strādāt.
>> Izņemot to, ka, ja jūs guys gatavojas uz CS50 Hackathon, es var vai
nav tur, un es varu palīdzēt out ar kādu iOS attīstību, too.
Tātad, pateicoties daudz, puiši.