[Powered by Google Translate] [Seminè sou] [yo: Ekri Apps Tankou yon Boss]
[Tommy MacWilliam] [Inivèsite Harvard]
[Sa a se CS50.] [CS50.TV]
>> Tout dwa, tout moun, Byenveni nan yo: Ekri Apps tankou yon Boss.
Sa a seminè ki pral konsantre sou ekri apps pou ifon a
ak nan vire ekri apps pou iPad a, epi pou nou ap fondamantalman ale nan mache nan
yon koup egzanp diferan nan kòman yo fè yon app, yon jwèt senp tankou zòtèy tik TAC,
oswa si w ap plis enterese nan fè yon app tankou kèk kalite nouvèl lektè
oswa yon bagay ki reyaji ak entènèt la mwen pral pale sou ki tankou byen.
Isit la nan ajanda brèf nou an.
>> Apps yo nou jwenn sa ekri nan yon lang yo rele Objektif-C,
ak kidonk sa a se yon ti jan ki sanble ak C, men se pa reyèlman nan tout,
pou nou ap pale yon ti kras sou lang nan tèt li
ak Lè sa a, ki jan yo bati apps ifon lè l sèvi avèk pwogram sa a app rele XCode,
ki si ou pa gen telechaje li ankò santi yo lib yo kòmanse download a kounye a.
Li nan jigokte plizyè.
Li ta dwe gratis sou magazen an App, se konsa ou pral bezwen gen yon Mac
depreferans kouri vèsyon an dènye nan OS X.
Si ou pa, pa gen pwoblèm.
Nou gen Macs nan sant la syans disponib pou ou
ak XCode enstale, epi konsa santi yo lib yo itilize sa yo pou devlopman.
Si ou vle fè yon app men li pa gen yon Mac, pa enkyete.
Genyen anpil resous lakou lekòl la pou sa.
Se konsa, lè sa a nou ap ale nan kouvri 2 pi gwo egzanp sou apps diferan ou ka fè.
Objektif-C se teknikman sa ki rele yon seri super nan C.
Sa vle di ke nenpòt kòd C tou se valab Objektif-C kòd.
Sa vle di ke nou kalite adezif kole sou kèk karakteristik anplis nan C.
Gen kèk nan karakteristik sa yo pa enkli ladan li tout tan ekri malok ankò, di Bondye mèsi,
pa gen okenn gen enkyetid sou sa yo endikasyon estipid ak libere yo ak tout bagay ki
ou te rayi sou C, ak kalite li a nan ale nan C Objektif-.
>> Koulye a, Objektif-C tou te gen yon bibliyotèk estanda pi gwo,
konsa gen nan fonctionnalités yon anpil plis ou resevwa pou andedan gratis nan Objektif C-.
Sonje lè nou te ekri PHP nou remake ke nou te ale soti nan
lang sa a pi piti nan bibliyotèk la jeyan nan tout bagay sa yo fou ou ka fè.
Menm bagay la ki k ap pase nan yo.
Genyen nan objè pou bagay sa yo tankou kalandriye a Boudis, ak anyen vrèman
ou ka posib panse a pwobableman egziste deja nan aplikasyon Objektif-C a.
Pati nan objektif nan Objektif C-la indican yon bagay
rele objè-oryante Programming.
Sa a se kalite yon nouvo konsèp, men nou te aktyèlman sitou te aprann
yon anpil nan sa yo konsèp deja.
Lide a dèyè objè-oryante Programming se ke ou ap ale nan estrikti
yon anpil nan kòd ou otou tout bagay sa yo rele klas yo,
ak klas sa yo se reyèlman fè lwanj strukt.
Andedan yon struct nou fondamantalman di isit la se yon bagay,
ak bagay sa a ka gen manm.
Pou egzanp, yon ne nan yon lis lye te kapab gen lòt bagay
tankou yon valè, yon konsèy ne nan pwochen nan lis la,
ak ansanm ki konsèy ak valè ki konpoze sa a egzanp youn nan yon struct.
Klas gen anpil menm jan eksepte
klas kapab tou gen fonksyon andedan nan yo.
Lè nou deklare yon struct, nou te kapab sèlman di Int n oswa * ne kap vini an.
>> Kounye a ak C Objektif-nou ka aktyèlman mete fonksyon
andedan nan bagay sa yo.
Yon lòt bagay ki klas ka fè se yo ka eritye done ki sòti nan lòt klas.
Pou egzanp, nou pral gade nan yon pakèt moun sou bati nan Objective--C klas yo.
Youn nan yo ta ka klas la ki reprezante gade nan pou yon ekran,
ak sa lè li di mwen vle aplike View pwòp mwen
nou fondamantalman di yon moun sou nan Apple, pwobableman reyèlman bon moun,
te ekri klas sa a pou m ', epi li kenbe bagay sa yo tankou ki montre bouton
oswa rann ekran an, epi nou ta dwe reyèlman frwase
aplike tout sa ki fonctionnalités tèt nou, se pou nou pa senpleman
derivan done nou ka di tout sa ou te fè nan ki klas
Mwen vle tou fè andedan nan klas mwen an, epi Lè sa a, mwen pral fè kèk lòt bagay,
savwa aplike yon app.
Sa a ki sa sa pòsyon tè mo vle di. Nou pral wè yon egzanp plis konkrè.
>> Epi finalman, kle a ak objè-oryante Programming se ke
li mennen nan ANKAPSILASYON done.
Nan kèk nan pwoblèm nou kouche nou te ka gen sa yo gwo, varyab mondyal
ak global tout kote, epi lè sa a jan nou ta kenbe tras nan eta a.
Avèk klas nou kapab kòmanse ankapsule enfòmasyon andedan nan yon objè.
Si nou gen yon sèl ekran sou app nou yo, nou pa reyèlman bezwen gen nenpòt done ki sòti nan
yon lòt ekran an andedan app nou an sa,
e konsa pa ankapsule bagay sa yo nan lespas klas sa sa a aktyèlman mennen
pi bon konsepsyon kòd, e sa se posib yo avèk kèk nan karakteristik yo ki adisyonèl
nan C-Objektif.
Preyavi, sentaks la pou Objektif C-se fig mi.
Li se tankou pa gen anyen nou te wè anvan,
kidonk li se yon ti kras nan ap resevwa yon koub aprann itilize
ki sa èk la sa vle di?
Men, yon fwa ou jwenn sot pase ki premye koub aprantisaj li nan reyèlman, reyèlman lis
kòmanse ekri apps.
>> Deklare yon klas, yo di isit la se klas m 'yo, li egziste,
e petèt isit la yo se kèk bagay ki mwen pral defini pita,
Mwen pral di @ koòdone.
Mwen pral di @ koòdone. Mwen pral bay klas mwen yon non.
Lè sa a, pita yon lòt kote mwen pral di @ fen,
ak tout bagay an ant koòdone nan @ ak nan fen @
a pwal klas mwen.
Sa a pwal Ki sa ki andedan nan dosye. Nou h.
Jis tankou nan C. Nou dosye h fondamantalman di isit la kèk bagay ki pral egziste.
Mwen pa nesesèman di ou sa yo fè ankò,
men du a bezwen konnen ke yo te egziste.
Pita andedan an. M nou dosye-paske m pou Objektif C-
se kote n ap aktyèlman ale nan defini ki sa klas sa yo fè.
Anpil tankou dosye. Nou an c, nou bay yon aplikasyon pou fonksyon.
Anndan an. M dosye nou an, nou ap pral di isit la se sa ki tout nan fonksyon yo
andedan nan mwen klas-sa yo tout fè.
Epi finalman, andedan yon struct nou te ka di andedan moun sa yo aparèy òtopedik Curly
int n oswa ne * kap vini an,
ak nan C Objektif-nou pral sèvi ak mo kle a @ pwopriyete,
ak sa a se sa ki pral defini pwopriyete yo,
oswa fonksyon yo ki pa ki gen yon pati nan klas mwen an.
>> Rele fonksyon nan Objektif C-a tou se fig mi.
Lè nou te deklare fonksyon nan C nou te di yon bagay tankou int foo
epi yo louvri paren ak Lè sa a, li renmèt li yon lis diskisyon.
Sa a se sa deklare metòd oswa fonksyon sanble nan C Objektif-.
Si m 'vle deklare yon fonksyon oswa metòd yon
kote m ap di metòd se reyèlman jis yon fonksyon ki nan yon manm nan yon klas,
konsa kalite ka ranplase, men se pa reyèlman,
Se konsa andedan nan metòd mwen, mwen vle kreye yon nouvo metòd.
Li nan ale nan retounen pa gen anyen, se konsa li a pral fè nan anile kalite.
Sa a se tip a retounen nan fonksyon m 'yo.
Koulye a, nou gen paran isit la paske-Mwen pa konnen.
Next a pwal non an nan fonksyon m 'yo,
yo, epi finalman nou genyen yon virgules jis tankou nou te gen nan C.
Ki sa ki nan nouvo isit la se sa a Guy isit la.
Sa a tirè se aktyèlman sa nesesè, epi ki sa sa a di se ke
dwe metòd sa a isit la va rele sou yon egzanp nan yon klas la.
>> Apre nou te deklare strukt nou an, nou pwobableman di yon bagay tankou
struct n ne, ak ki aktyèlman te kreye
oswa enstansye youn nan moun ki strukt pou ke mwen te ka aktyèlman kòmanse travay
ak sa ki nan andedan nan li, kidonk sa a priz vle di ke nou dwe
enstansye klas la jis tankou nou enstansye ki struct
anvan nou ka rele metòd sa a sou li.
Si m 'vle kòmanse ajoute agiman metòd m'
li vin menm plis bannann.
Isit la nan non metòd m 'yo.
Lè sa a, mwen pral gen yon kolon, ak apre sa a nan kolon li di isit la vini kèk agiman.
Metòd sa a pran yon agiman.
Ki kalite agiman li yo se yon int, ak non sa a nan agiman
oswa si yo varyab la ke mwen ta pral kòmanse lè l sèvi avèk andedan nan metòd la rele mwen.
Yon lòt fwa ankò, sa a se metòd. Li pran yon sèl agiman.
>> Si ou vle kòmanse ajoute plis agiman li vin pi plis bannann
nan ke nou te sa a nan kolon ki di isit la vini lis mwen an nan agiman.
Sa a agiman premye se yon nonb antye.
Koulye a, sa agiman dezyèm se enteresan.
Varyab ki mwen pral yo dwe lè l sèvi avèk andedan nan fonksyon m '
Yo rele f, se konsa andedan nan fonksyon m 'mwen te kapab di
f + = 1 oswa yon bagay.
Bagay sa a isit la se fondamantalman yon kle pou ke diskisyon oubyen paramèt.
Jis tankou nou te gen pè valè kle yo ak yon bagay tankou JSON oswa ranje asosyatif
Objektif-C te fè desizyon an vle di, oke, jis konsa ke li se vrèman klè
lè w rele yon metòd ki sa tout bagay sa yo paramèt yo
Mwen aktyèlman vle rele yo tout.
Lè ou rele yon metòd, ou pral di reyèlman andFloat,
ak Lè sa a, ou pral pase l pous
>> Enteresan, yon sèl sa a se pa sa yo te rele, men tout nan paramèt yo lòt yo,
Se konsa, si nou te gen yon agiman 3rd mwen te kapab di andFloat
ak yon lòt flote ak sou sa.
Lè m 'rele metòd sa yo li se nan bannann kou,
Se konsa, si mwen gen yon objè, epi mwen defini yon metòd ki rele foo,
e mwen vle rele li, olye ke li di foo louvri / fèmen paran
Mwen pral louvri yon bracket.
Isit la nan non an nan metòd m 'yo.
Mwen pral fèmen bracket la, ak sa a se objè a m ap rele l 'sou.
Sonje byen, tout nan metòd sa yo egziste nan klas
paske klas ka gen metòd defini andedan nan yo.
>> Men mwen te abitrèman te kreye yon objè nan kèk klas,
ak sa a se sentaks la pou fè sa.
Gen 2 etap sa yo kreye yon objè.
Premye etap la se vle di mwen vle asiyen espas.
Sa a se ekivalan a nan yon malok. Nou pa bezwen di malok ankò.
Nou tonbe m nan, fè l 'alok, ak ranplase c la. Avèk yo. M.
Apre nou yon bagay alok nou Lè sa a, bezwen inisyalize li.
Fondamantalman lè ou kreye objè ou ta ka vle gen kèk lojik
ki ègzekutra yo lè yo ap kreye, kidonk, ou ka pase nan kèk valè default
oswa yon bagay tankou sa, se pou nou metòd sa a se ini sa ki aktyèlman kreye objè a.
Nou premye asiyen espas, jis tankou nou te fè sa nan C,
ak Lè sa a, nou inisyalize li, ki ka oswa ka pa fè yon lot antye.
Lè sa a, n ap retounen bagay sa a nan yon objè o.
Genyen nan yon etwal isit la paske sa se teknikman yon konsèy,
men pa enkyete w, endikasyon yo pa ki gwo yon kontra nan C Objektif-ankò.
>> Koulye a, nou te enstansye klas sa a yo rele NSObject,
ak sa a se jis yon klas o aza ke Apple te genyen an.
Nou te enstansye sa a, e kounye a, mwen gen yon egzanp nan klas sa a
nan sa a objè o, se konsa sa vle di ke si mwen defini
metòd sa yo mwen te kapab rele yo tankou sa a.
Menm jan tou, si mwen te vle rele yon metòd ak yon sèl agiman,
kidonk sa a se metòd la ba, ki pran yon sèl agiman,
ak isit la se Baz la: qux metòd, kidonk sa a pran 2 agiman.
Sa a se rele yon fonksyon sa a sou objè o.
Fè sans?
Sentaks la ta dwe fè sans, men ou kalite jwenn itilize li.
>> Oke, kite la pale sou yon bagay kèk ki yo bati nan Objektif C-
ki pa t 'nesesèman bati nan C.
Nan C nou kalite te gen fè fas ak strings tankou sa yo ranje karaktè estipid,
epi li te resevwa reyèlman anmèdan.
Objektif-C a gen sa yo tout bati nan pou nou, epi li nan bati nan
lè l sèvi avèk klas sa a yo rele NSString.
Lè m 'vle kreye yon NSString nou gen sentaks plis Esoteric.
Olye de li di: "cs50" nou di @ "cs50"
ak sa a se jis sentaks la pou deklare strings nan C Objektif-.
Sa a se trè fasil bliye, se konsa pa fè sa.
Koulye a, yon fwa mwen gen sa a, sa a se yon fisèl, men remake
li vrèman jis yon objè.
M 'te di NSString, ki vle di mwen enstansye klas la
rele NSString, ki yon lòt moun te ekri pou m ',
epi yo te trè bèl sou li, ak pou kounye a
Mwen ka kòmanse rele metòd sou li.
Si m 'rele longè a metòd sa a sou yo objè
li pral tounen vin jwenn mwen longè nan fisèl la.
Sa a se jis tankou strlèn nan C.
Sa a ta retounen 4.
>> Menm jan tou, yon lòt metòd mwen ta ka vle pran swen sou sa a characterAtIndex.
Sa a se yon metòd ki di sou sa a nan fisèl
Mwen vle fè w jwenn pèsonaj la zeroth,
ak kidonk sa a ta tounen vin jwenn mwen c an karaktè,
ak gen nan yon pakèt antye plis nan metòd sa yo ke ou ka Google reyèlman fasil.
Dokiman Apple la se gwo, epi n ap pran yon gade nan ki nan yon ti jan.
Moun sa yo se strings.
Nou menm tou nou te ranje gwosè varyab bati pous
Sonje nan C lè nou te deklare yon etalaj
nou te di ou gen 5 eleman, nan fen istwa a.
Lè nou te rive nan JavaScript ak PHP nou te kapab kòmanse
fè bagay sa yo tankou ajoute eleman oswa an deplase eleman.
Nou ka fè menm bagay la tou nan C Objektif-.
Olye de kreye yon etalaj nan chemen an nòmal C
nou gen ankò yon lòt klas yo rele NSMutableArray.
Genyen tou NSArray,
ak sa a ki pral fondamantalman ankapsulasyon kèk etalaj.
Sa a di bagay la premye fwa mwen vle fè se mwen vle asiyen
espas pou yon etalaj nouvo, epi apre mwen fin asiyen li
Mwen Lè sa a, bezwen inisyalize li.
Yon fwa ankò, jis rele metòd sa yo 2.
Koulye a, sa vle di yo andedan sa a objè yon
Mwen te yon etalaj vid chita chita l '.
Si m 'vle ajoute yon bagay sa a etalaj, mwen ka rele metòd la addObject.
Mwen vle ajoute yon objè ak etalaj nan yon, epi mwen vle ajoute fisèl la CS50.
Si mwen te vle Kontrèman retire sa mwen kapab di mwen vle
retire objè a nan plas an premye sou etalaj la oswa objeksyon yon.
>> Fè sans?
Okay, ou kalite jwenn itilize bagay sa a bracket kare.
By wout la, andedan nan yon anpil nan bibliyotèk Apple la ou pral wè sa a NS.
NS a aktyèlman vle di pou pwochen etap, ki te youn nan Steve konpayi premye Travay,
ak sa a, se kote li vrèman te kòmanse ekri yon anpil nan kòd la
kòm kalite baz pou Mac OS X ak tout bagay nan lòt,
ak kidonk sa a se NS kalite sa a eritaj bèl rele soti nan youn nan konpayi yo pi bonè
tounen lè Apple te premye kòmanse soti.
Li nan tout kote.
Se pou nou pran yon gade nan yon holistic plis egzanp Objektif-C.
Men mwen wi andedan XCode.
Pou jwenn isit la, m 'premye telechaje XCode soti nan magazen an App,
louvri l 'moute, ak Lè sa a, mwen moute isit la yo mete nan dosye,
sou isit la yo nouvo pwojè, ak Lè sa a,.
Apre m 'fè sa m' genyen tout opsyon sa yo nan sa m 'vle yo kreye,
ak sa nou pral pran yon gade nan opsyon sa yo pita,
men jis pou egzanp sa a, paske nou pa ap aktyèlman pral gen yon app ankò,
M 'mwen desann isit la, epi mwen di Zouti Liy Kòmandman,
ak sa a se yon app ke mwen te ka kouri nan liy lan bay lòd
jis tankou nou ve yo te kouri soti nan C.
Sa a se ki jan mwen te kreye pwojè sa a, ak konsa koulye a mwen isit la,
kidonk kite nan premye gade nan sa a ranpli, ak sa a ta dwe gade bèl yo konnen yo.
Mwen gen yon non int. Genyen nan arg zanmi mwen an, lòt m 'zanmi argv.
Se konsa, nou ka wè ke sa a se pwen an antre pou aplikasyon premye m 'Objektif-C.
Isit la nou kapab inyore sa a pou kounye a.
Sa a se fondamantalman kèk bagay jesyon memwa ke ou pa pral reyèlman
janm gen enkyete sou.
>> Se pou yo gade nan sa a blòk premye isit la.
Liy sa a an premye, si mwen di elèv * Alice = [[alok Elèv] ini] sa ki nan ke ap fè?
Elèv sa a premye isit la, sa a se pwobableman yon klas.
Sa a se pa yon klas ke Apple te ekri, men li la yon klas ki mwen te ekri.
Premye bagay mwen vle fè se mwen vle asiyen espas pou yon elèv nouvo,
ak Lè sa a, mwen vle inisyalize li, kidonk sa a ki ban m 'tounen
sa a objè nouvo elèv, ak mwen estoke sa a nan yon varyab rele Alice.
Ki kote t 'ke tout klas soti?
Oke, isit la sou ki sou bò gòch sa yo, se tout nan dosye yo diferan andedan nan pwojè m 'yo.
Nou ka wè isit la mwen gen yon Student.h ak Student.m yon.
. H dosye a, sonje, se kote Mwen deklare tout bagay sa yo
ki pral egziste nan klas la.
>> Se pou nou pran yon gade nan sa.
Tout dwa, isit la nou gen sa a koòdone @, ak sa a di ke isit la vini
deklarasyon yo nan tout bagay ki pral egziste nan klas mwen.
Lè sa a, mwen gen yon kolon. Lè sa a, mwen gen bagay sa a NSObject.
Sa a nan kolon vle di ke ti jan pòsyon tè nou te diskite yon ti jan pi bonè.
Sa a di tout bagay yon NSObject ka fè
kote NSObject se klas sa a ekri pa yon moun lòt bagay,
tout bagay sa a NSObject ka fè mwen vle pou kapab fè sa.
Lè li di: NSObject ki vle di ke mwen fondamantalman
eritye tout nan fonctionnalités a nan yon lòt klas.
Ki vrèman te ban m 'yon pakèt antye nan diferan metòd ak pwopriyete ke mwen ka itilize.
Desann isit la mwen kreye 2 pwopriyete yo.
Sa vle di elèv mwen an, si sa a te yon struct, sa yo ta dwe bagay sa yo 2
andedan nan struct m 'yo, se konsa tout elèv genyen yon non
ki se yon fisèl, ak yon elèv tou te gen yon klas,
ki se yon int.
>> Finalman, desann isit la mwen pral kreye yon metòd pou elèv mwen an.
Mwen te rele metòd m 'yo, initWithName, epi li pran yon sèl agiman,
e ke agiman se yon fisèl, epi mwen rele l 'non.
Koulye a, kite pou yo gade nan ki jan nou aktyèlman aplike klas sa a.
Isit la, kounye a mwen andedan nan dosye-a. M 'm,
m pou aplike, mwen devine.
Mwen gen aplikasyon mwen an, fen m 'yo, ak isit la se kote mwen aktyèlman defini
ki sa initWithName fè.
Mwen gen initWithName, non an nan paramèt mwen an, epi Lè sa a, sa a
se kote m ap aktyèlman kreye yon elèv,
ak kidonk sa a se yon ti jan skre, men sa a se kalite boilerplate
ke ou vle mete nan konstrukteur ou a.
Sa a fonksyon inisyalizasyon isit la, initWithName, se yon kalite konstrukteur.
W ap fondamantalman konstwi yon objè ki nouvo elèv
e petèt voye kèk done andedan nan li.
Premye bagay mwen vle fè se mwen vle rele ini sou bagay sa a super.
>> Sonje byen lè m 'te di tounen isit la nan. Dosye a h
ke tout bagay yon NSObject gen yon elèv tou te gen.
Sa vle di lè m 'kreye yon elèv ki sa mwen menm mwen te bezwen fè se
asire w ke NSObject a ke mwen derivan nan tout sa done ki sòti nan
tou se inisyalizèd byen.
Ki sa mwen bezwen di se sa a super se aktyèlman ale nan gade nan klas la paran
ke mwen derivan soti nan, se konsa mwen vle asire mwen inisyalize
tout bagay ke mwen depann sou anvan mwen kòmanse ap eseye sèvi ak li.
Lè sa a, si sa inisyalizèd kòrèkteman sa a se jis tankou li di si malok
pa t 'tounen nil Lè sa a, mwen ka kòmanse mete kèk pwopriyete.
>> Nan JavaScript ak PHP nou te sa a mo kle yo rele sa a,
ak sa a refere yo bay egzanp aktyèl la nan yon klas.
Nan C Objektif-nou rele sa a pwòp tèt ou.
Lè m 'di self.name, ki vle di ke objè a
Mwen te jis ki kreye lè m 'te di alok elèv ini,
ki nan pral bay m 'tounen yon objè.
Sa vle di mwen vle yo mete non an nan ki objè
mèt fè tout sa mwen jis te pase pous
Jis tankou nan C, nou jwenn aksè manm ak sa a dot,
Se konsa self.name di non an nan objè a elèv
se kounye a pral fè tou sa ou jis te pase pous
Se konsa, finalman, mwen ka voye li tounen Se konsa, mwen aktyèlman jwenn tounen yon bagay.
>> Kesyon?
Oke, kidonk sa a endepandan = super ini,
si ou pa totalman konprann bagay la pòsyon tè pa enkyete.
Jis konnen ke si ou te janm vle fè pwòp ou a ini metòd jis
fè sa, epi ou ap bon yo ale.
Yeah. >> [Elèv] Ki sa si vle di pwòp tèt ou?
Sa vle di lè nou malok yon bagay nou toujou tcheke si li te egal a nil,
ak si li te nil, lè sa a nou soti nan.
Sa a se menm bagay la, paske si sa a nil retounen, lè sa a nou ap pwobableman ale nan fòt segman
si nou kòmanse ap eseye manipile li.
Sa a se klas elèv nou yo.
Sa vle di nou ka inisyalize elèv nou yo nan youn nan de fason.
Si mwen di alok elèv ini mwen pa lè l sèvi avèk ki metòd ki mwen jis te ekri,
ak olye mwen ka tou senpleman di alice.name,
e kounye a, mwen pral mete ke non pwopriyete.
>> Menm jan tou, si mwen vle sèvi ak metòd ki initWithName
Mwen kapab annik di alok, ak Lè sa a, olye ke li di ini
Mwen pral rele ke metòd ke mwen jis te kreye, epi mwen pral pase nan Bob.
Nan pwen sa a, sa a Bob objè gen yon non egal a Bob.
Okay, desann isit la mwen sèvi ak ki NSMutableArray ke nou te gade pi bonè.
Mwen allocation space.Then mwen inisyalizin yon etalaj nouvo.
Mwen pral ajoute 2 bagay sa yo nan li.
Sa a etalaj kounye a kenbe objè elèv yo.
Remake okenn kote t 'Mwen te di sa a se yon etalaj de elèv yo.
M 'te di li nan yon etalaj, peryòd.
Apre sa, mwen ka mete tou sa andedan nan li ke mwen vle.
Men mwen gen 2 objè yo.
>> Finalman, mwen gen yon lòt objè isit la, sa a tf.
Plis pase isit la nan TF.h fondamantalman menm bagay la.
Mwen derivan soti nan NSObject, ak nan chemen an,
lè ou kreye klas sa a se tout fè pou nou,
sa a kalite boilerplate koòdone.
Li te gen yon pwopriyete nan elèv yo.
Mwen gen yon metòd koup isit la ki pa reyèlman fè yon lot antye,
Pou fè sa ki vle di apre mwen fin kreye sa a objè tf
Mwen kapab rele sa a klas metòd sou li tankou sa a.
Nenpòt kesyon sou Objektif-C sentaks anvan nou kòmanse deplase nan kèk plis
enteresan apps bagay devlopman?
>> Oke, kidonk kite a aktyèlman fè yon app ifon.
Klas yo debaz ki ou pral lè l sèvi avèk andedan app iPhone ou yo rele contrôleur vi,
ak yon kontwolè wè fondamantalman reprezante yon ekran sèl
andedan nan app ou a, kidonk si mwen sou app a mizik, pou egzanp,
yon sèl kontwolè view te kapab reprezante opinyon an nan kote mwen wè tout chante yo sou iPhone m 'yo.
Yon lòt kontwolè view ta ka lè mwen klike sou yon chan epi kòmanse jwe li
oswa kòm mwen fouye desann nan atis.
Chak nan sa yo ekran diferan yo ka reprezante kòm yon kontwolè wè diferan,
ak yon kontwolè wè se reyèlman jis yon klas ki di konbyen sa a ekran travay.
Bagay sa yo andedan yon kontwolè vi, nou pwal gen pwopriyete yo,
Se konsa bagay sa yo tankou yon bouton a pwal yon pwopriyete nan kontwolè wè nou yo.
>> Nou ap tou pral gen metòd, ak sa yo, se fondamantalman pòtè evènman.
Metòd sa a di, lè ou peze bouton sa-a
Mwen vle fè yon bagay, epi finalman, ankò,
nou ap pral lè l sèvi avèk sa a mo kle pwòp tèt ou jwenn aksè nan egzanp aktyèl la.
Yo pral bati interfaces nan yo se aktyèlman reyèlman, reyèlman fasil.
Yo gen sa a trennen bèl ak koòdone gout rele Entèfas konstrukteur,
ak konsèp prensipal 2 ki fil moute C Objektif-ou nan Entèfas konstrukteur
yo se IBOutlet ak IBAction.
Yon IBOutlet tou senpleman di ke si ou deklare yon pwopriyete ki nan yon bouton,
, epi ou vle kwòk li jiska yon bagay nan UI aktyèl ou a,
w ap ale nan di li nan yon priz.
Menm jan tou, si ou vle reprezante yon kap okipe-evènman
Lè sa a, w ap ale nan di li nan yon aksyon.
>> Aktyèlman WIRE moute sa a reprezantasyon grafik
ak kòd ou yo ke li reyèlman, reyèlman senp.
Si ou vle mete yon IBOutlet, tout sa ou dwe fè se ou kontwole klike sou,
epi nou pral wè yon egzanp sou sa rapid vrèman.
Ou kontwole klike sou kote li di Kontwolè View.
W ap ale nan trennen nan koòdone a, oswa Kontrèman,
si ou vle akwoche yon kap okipe-evènman w ap ale nan trennen soti nan koòdone nan
nan yon direksyon ki lòt.
Se pou nou pran yon gade nan yon egzanp vrèman senp yo.
>> Se pou nou kreye yon nouvo pwojè.
Mwen pral vini isit la yo Aplikasyon,
ak mwen pral klike sou Single Aplikasyon View.
Mwen pral klike sou pwochen. Mwen pral ba pwojè mwen an yon non.
Mwen pral rele li Hello.
Enteresan, Apple pansé ké ou se kreye yon pwodwi
pou ke ou ka vann li epi yo ka fè lajan.
Desann isit la mwen pral di ke sa a se yon app ifon.
Ou ka kreye yon app iPad, oswa si ou vle kreye youn nan moun ki apps
ki sipòte tou de aparèy ou ka fè ki tou.
Sa yo se ki sa ou vle checkmarks ou a sanble.
>> Ou vle itilize storyboards, ki nou pral wè pita,
epi ou definitivman vle itilize otomatik konte referans,
ki se yon karakteristik bèl ki anpeche w gen yo di malok ak gratis.
Sof si ou vle rele malok ak gratis, mwen ta kite sa-a w tcheke yo.
Mwen pral klike sou pwochen yo, epi finalman, sa a se pral mande m 'kote m vle sove li.
Mwen pral frape kreye, ak isit la nou ale.
Mwen te kreye yon nouvo pwojè.
Plis pase isit la sou bò gòch la se tout dosye yo ki andedan nan pwojè m 'yo,
ak avi ke mwen te resevwa yon pakèt antye, e mwen pa t 'menm fè anyen.
Yo se gwo.
>> Pou egzanp, isit la sa a ViewController.h,
sa a ki pral reprezante kontwolè premye wè mwen,
Se konsa ekran an premye andedan nan app m 'yo.
Koulye a, nou konnen ki sa sa a ap di.
Nou ap di m ap rele sa a ViewController klas,
ak yon ViewController fè tout bagay ki yon UIViewController fè,
ak sa a, ankò, se kèk klas ke Apple te ekri ki fè sa ki yon anpil nan bagay sou la men pou nou
renmen montre ekran an.
Isit la se kote mwen ka aktyèlman kòmanse defini sa ki kontwolè wè mwen fè,
epi li vire soti vrèman ke mwen pa bezwen nenpòt nan sa a.
Sa a se kòd boilerplate ke Apple ki ban m 'pou gratis.
Mwen te fè bezwen ke liy premye, oswa mwen pa gen yon klas,
pou nou ka debarase m de sa ki epi debarase m de sa a.
Oke, kidonk sa a se ekran vid m 'yo.
>> Koulye a, kite a klike sou sa a MainStoryboard.storyboard,
e sa se kote li kòmanse jwenn ki enteresan.
Sa a reprezante ekran an premye sou app m 'yo.
Si m 'vle ajoute yon bouton, nan HTML mwen te gen yo kreye yon tag bouton.
Nan android ou gen yo kreye yon tag bouton,
men nan yo si mwen jis desann isit la sou bò dwat la anba
ak si mwen klike sou yon sèl sa a 3yèm isit la kote li di objè,
e mwen kapab desann, oubyen mwen ka kòmanse chèche pou bouton.
Epi gade, yon bouton, kidonk si mwen aktyèlman trennen ak gout dwa sa-a la,
Mwen te jis te ajoute yon bouton sa a ekran sou app m 'yo.
Si m 'vle chanje tèks la, mwen ka doub klike sou li,
di yon bagay Hatian tankou "Peze mwen."
Okay, kounye a si mwen kouri sa a app, konsa nou konpile li,
Se konsa nan kouri li mwen klike sou bouton ki jwe nan bò gòch nan tèt, ak gen nan app m 'yo.
Mwen pa t 'fè anyen, epi mwen te resevwa yon dous app kap ifon.
Si m 'vle sispann li, ou ka klike sou bouton pou kanpe a
paske li nan plis amizan.
>> Se pou nou di ke mwen aktyèlman vle yon bagay rive lè mwen peze bouton sa-a.
Pou fè sa sa m 'bezwen fè se mwen bezwen yo kreye
yon kap okipe-evènman nouvo oswa yon aksyon yon.
Sa vle di ke mwen bezwen kreye kèk metòd ke mwen vle yo rele
lè mwen peze bouton an, kidonk kite a kreye yon nouvo metòd.
Mwen andedan ViewController.h.
Mwen bezwen yo di ke yon metòd egziste.
Mwen bezwen yon tirè premye paske mwen m 'pral fè rele sa a sou kontwolè a vi.
Mwen bezwen bay sa a yon kalite.
Kalite sa a a pwal ke bagay IBAction ke nou te wè pi bonè.
Sa a se yon kap okipe-evènman, se konsa li pral retounen yon IBAction,
ak sa a se yon allusion XCode yo di ke
sa a se yon bagay mwen vle WIRE yon bagay yo.
Mwen ka bay li yon non, tankou virgules buttonPressed,.
>> Koulye a, mwen te deklare yon nouvo metòd andedan nan klas mwen an.
Mwen te di metòd sa a gen egziste.
Koulye a, kite a antre nan ViewController.m,
e kite yo di sa metòd sa a ka fè.
Si mwen kòmanse sezisman, pou egzanp, (san valè) buttonPressed
avi XCode se reyèlman bon ak autocompletes pou mwen.
Sa ki nan vrèman bèl bagay.
Avi isit la ke andedan nan dosye a. M mwen ka di tou anile,
ak sa a se paske sa IBAction se pa aktyèlman yon kalite.
Li nan aktyèlman hashtag defini yon kote yo dwe yon anile,
epi ankò, sa a se jis yon allusion XCode ki di
Mwen vle sa a yo dwe genyen yon kap okipe-evènman yo, epi nou pral wè poukisa nan jis dezyèm yon.
Lè yo bouton sa-a bourade mwen pral fè yon bagay anmèdan
renmen afiche yon kontèkstuèl.
>> Pou fè sa mwen kapab kreye yon egzanp nouvo sou klas sa a yo rele UIAlertView,
ak sa a se yon klas ke Apple te ekri ki a pral montre popup anmèdan.
Nou pral rele sa alèt kontèkstuèl, mwen gen 2 etap, sonje, nan kreye sa a objè.
Premye bagay mwen bezwen fè se asiyen espas.
Mwen vle yon UIAlertView.
Mwen vle asiyen espas. Sa a se metòd premye m 'yo.
Metòd pwochen mwen se mwen vle inisyalize li,
Se poutèt sa mwen gen sa a gwo, depi lontan metòd rele initWithTitle.
Sa se fondamantalman ale nan kontwole sa sa a kontèkstuèl di.
Tit la nan kontèkstuèl mwen kapab hello.
Mesaj sa a kontèkstuèl ka "Sa a se yo."
Bagay delege, mwen pa konnen sa ki se.
Se pou nou di li pa gen anyen an.
Koulye a, bouton an ki nan ale nan parèt ka di yon bagay tankou "Li asire w se,"
e mwen pa vle reyèlman nenpòt ki bouton lòt, konsa kite a efase ke epi fèmen bracket la.
>> Okay, mwen kreye yon yon siplemantè. Gen nou ale.
Sa a se ki jan mwen kapab kreye yon kontèkstuèl nouvo.
Si m 'vle aktyèlman montre kontèkstuèl la mwen vle rele metòd la montre.
Pou fè sa mwen kapab di alèt e montre,
e ankò, otokonple te super bèl.
Si m 'bliye sa ki te, si mwen jis tape nan a,
Mwen ka Scroll atravè isit la yo konnen sa ki li te,
epi li filtè joliman.
Koulye a, mwen te kreye sa a kontèkstuèl nouvo.
Nou ap tounen nan sa delege vle di pita,
e kounye a, mwen vle di mwen vle metòd sa a dwe te tire
lè mwen peze bouton an, se konsa mwen pral tounen vin jwenn scénario m 'yo,
e mwen vle kounye a tache sa a IBAction.
Premye bagay ou vle fè se klike sou bouton an.
Lè m 'peze bouton sa-a mwen vle yon bagay rive.
Mwen pa pral kenbe desann kontwòl.
Mwen pral klike epi trennen soti nan bouton an
plis pase isit la kote li di Kontwolè View.
Nou ka wè ke li joliman limyè a.
>> Si m 'kite ale ak sourit mwen mwen genyen kounye a sa a kontèkstuèl sou isit la kote mwen gen kèk opsyon.
Youn nan sa yo se evènman yo ke mwen ka enskri.
Sa yo se tout moun ki metòd mwen te deklare nan dosye h mwen kòm IBActions.
Sa a se fason XCode ki konnen sa ki ta dwe parèt nan lis sa a ti kras,
pou ki nan jis yon allusion.
Si m 'klike sou bouton bourade, mwen te kounye a anrejistre kap okipe-a evènman.
Nan JavaScript nou te di mwen gen kèk kòd ki anrejistre kap okipe-a evènman.
Nan C Objektif-li te vrèman ki fasil.
Si mwen kouri sa a ankò
kounye a lè mwen peze bouton an kap okipe-evènman mwen ki pral nan dife,
ak mwen pral jwenn sa a kontèkstuèl.
Super, Super senp la.
>> Si ou janm vle wè tout nan evènman ki ki rive yo dwe anrejistre
sou yon eleman si mwen klike sou bouton sa-a
epi mwen vin sou isit la yo bò dwat la
premye ou ka wè plis pase isit la mwen kapab fè bagay sa yo tankou ki kalite bouton an,
Se konsa, si ou vle youn nan moun ki nan mwen oswa bouton an kontak ajoute
oswa kèlkeswa sa.
Si m 'vle wè tout nan evènman yo ki sou bouton sa-a
si mwen vini tout wout la sou isit la yo bò dwat la
nou ka wè isit la nan evènman yo, mwen gen tout evènman sa yo diferan.
Mwen ka peze bouton an, lè mwen kite ale nan bouton an, lè mwen double tiyo oswa kèlkeswa sa,
ak yon sèl la mwen jis anrejistre se evenman sa a te rele Touch Up Anndan,
ak sa a di ke le pli vit ke dwèt mwen vini desann bouton an
ke evènman ki pral dife, epi ki nan ekzakteman ki sa jis rive.
Sa a se kalite bouton evènman an default bourade.
>> Nenpòt kesyon byen lwen tèlman?
Okay, lè sa a jan nou kapab kòmanse nan pwent fil moute bagay sa yo nan kòd nou an
nan bagay sa yo andedan nan koòdone nou an.
Sonje premye bagay la nou te gen fè te jwenn kòd la,
ak Lè sa a, nou branche moute koòdone nan kòd la,
ak gen nan app premye nou yo.
Okay, sa ki te vrèman fre, epi nou te kreye bouton sa-a.
E si nou pa fè sa vle gen yo kreye yon pakèt moun sou pwopriyete
ki reprezante sa yo bouton?
Pou egzanp, nan zòtèy tik TAC mwen gen 9 bouton,
ak li ka d 'super, super anmèdan' gen yo trennen ak gout 9 fwa
oswa si mwen te fè tik TAC zòtèy ak 81 olye pou yo 9
ak mwen te gen trennen ak gout 81 fwa, ak ki nan moun k'ap bwete.
Ki sa ki nou kapab fè olye se anpil tankou yon HTML
lè nou te gen bagay sa yo tankou idantite epi non ak nou kapab fè rechèch pou bagay sa yo
pa ID yo, genyen yon nosyon menm jan an nan yo rele balises.
>> Yon tag se senpleman yon idantifyan inik nimerik pou yon eleman.
Si mwen di sa a te gen yon tag nan 0, pou egzanp,
si mwen kreye yon bouton ak ba li yon tag nan 0, epi nou pral wè ki jan fè sa nan jis dezyèm yon,
si mwen vle jwenn ki bouton mwen ka tou senpleman di mwen vle rele
, la viewWithTag metòd sou objè a sou isit la
self.view a, ki reprezante ekran an kounye a, pou egzanp.
Si m 'rele ki metòd viewWithTag, mwen pral rale tounen bouton an ki genyen etikèt 0.
Se pou nou pran yon gade nan sa a pa zòtèy bilding TAC tik.
Premyèman, sa a se scénario m 'yo.
Mwen te kreye sa yo bouton UI 10.
Avi yo ap tout gwosè a menm.
Si m 'klike sou youn nan sa yo men m'ap tounen vin tounen sou isit la sou bò sa a dwa
ou pral wè mwen ajiste font nan dwa isit la, Se konsa, mwen te fè font la yon ti jan pi gwo,
men ki sa m 'te fè te mwen mete sa a tag.
M 'te di ke sa a te gen yon tag nan 1, ak ki nan bò gòch an tèt la.
>> Koulye a, si mwen klike sou yon lòt bouton, tankou sa a yon dezyèm isit la,
kounye a ou ap wè ke tag mwen, se yon 2.
Chak kote sa yo bouton jis gen yon tag inik,
epi konsa sa a se pita kijan mwen pral kòmanse kominike
ak app m 'yo.
Sa a se tout andedan nan yon sèl kontwolè vi,
men isit la se sa nou genyen.
Nou gen 3 pwopriyete isit la.
Youn nan premye ak yon dènye yo ale nan reprezante eta a nan tablo m 'yo.
Fondamantalman yon sèl sa a premye se yon etalaj ki reprezante kote X yo ak os yo ye.
Sa a yon lòt isit la di nou ki gen vire li ye.
Ou ap remake ke mwen menm tou nou gen tout bagay sa yo isit la.
Anvan lè nou te deklare pwopriyete nou te ba yo yon non ak kalite yon.
Nou kapab tou ba yo kèk plis enfòmasyon isit la.
Sa a premye di nonatomic, e ki sa sa a di
se fondamantalman yon sèl bagay ap janm dwe eseye gen aksè a sa a varyab nan yon tan.
Ou ta ka fè aplikasyon pou plis konplèks ke yo milti-Threaded,
e konsa li tounen nan grate nou te gen fil diferan,
ak sprit diferan ta kapab fè bagay sa yo diferan nan menm tan an.
>> Si sa a, se pa ka a, ki se pa nan anyen ke nou pral chèche a,
si nou di nonatomic li a aktyèlman pral fè bagay sa yo yon ti jan pi vit.
Nou genyen tou bagay sa yo rele atache, fò, oswa fèb.
Sa a bay jis di ke sa a se yon kalite estanda.
Sa a se pa yon bagay oswa yon konsèy yon paske sa a se jis yon bouleen,
Se konsa bouleen se bati nan C Objektif-.
Sa a di pa eseye fè anyen anpenpan ak endikasyon isit la.
Li se yon regilye fin vye granmoun ekayeur.
Fò ak fèb, sa a fèb di ki aktyèlman
Mwen vle sa a yo dwe lonje dwèt a yon bagay nan kontwolè a vi.
Mwen pa pral an reyalite asiyen oswa ini sa a tèt mwen.
Mason nan koòdone, lè mwen kouri app a, ki pral okipe tout sa ki inisyalizasyon.
Si mwen di fèb, ki di yon lòt moun yo pral kreye sa a.
Si mwen di fò, sa a di ke mwen pral yo dwe youn nan
ki nan kreye sa a objè tablo,
e konsa isit la mwen gen kèk plis metòd isit la,
pou egzanp, yon aksyon pou lè se bouton an jwèt nouvo bourade,
yon aksyon pou lè nenpòt nan bouton sa yo lòt yo bourade,
ak et setra.
>> Nou pa pral rantre nan twòp nan lojik nan zòtèy tik TAC,
byenke li trè enteresan, men kite a pran yon gade nan
kèk nan bagay sa yo ke nou ka fè andedan nan yo.
Metòd sa a jwèt nouvo yo pral revoke
nenpòt lè mwen peze bouton an jwèt nouvo.
Kwòk ki moute Mwen tou senpleman vin sou nan scénario m 'yo.
Mwen klike sou jwèt nouvo.
Si m 'vin sou isit la sou bò dwat la mwen ka wè ke
Manyen Up Anndan se branche metòd la newGame.
Se poutèt sa sa a se pwal jwenn revoke.
Metòd la newGame ki pral fè kèk fè fè a.
Li nan pral di mwen vle nou klè eta a nan tablo a.
Sa a se yon metòd bèl sou mutabl ranje.
Sa a se pral di li a kounye a vire X la,
e kounye a, mwen pral pran avantaj de bagay sa a viewWithTag.
>> Mwen konnen ke bouton mwen an gen etikèt yo 1-9,
ak sa a, se yon bagay mwen abitrèman te keyi.
Si m 'vle yo mete tèks la nan chak bouton yo dwe vid
paske mwen jis te kòmanse yon jwèt nouvo e mwen pa vle okenn
X oswa os yo dwe kite plis pase mwen ka fè sa.
Mwen kapab di mwen vle gade nan ki genyen etikèt la, 1, 2, 3, 4 et setra.
Sa a pral rale yon bouton diferan chak fwa.
Isit la mwen pral jete l 'bay UIButton.
Jis tankou nou te ka jete antye flote ak vis vèrsa
sa a di ke mwen vle voye jete sa a nan yon UIButton.
Sa vle di ki kalite sa a pral gen yon * UIButton
paske nan pwent, men se pa enkyete w, yo ap pa pè ankò.
>> Yon fwa mwen gen bouton sa-a mwen pral rele yon metòd sou li.
Metòd sa a se rele setTitle forState, ak kidonk sa a di
Mwen vle yo mete tèks la nan bouton an yo dwe fisèl la vid,
e mwen vle li nan dwe fisèl la vid lè li pa nan bourade.
Si mwen sèvi ak metòd sa a, mwen ka chanje tèks la nan bouton an
le pli vit ke yon moun frape l ', men nou vle di lè bouton an se jis chita chita l'
Mwen vle tèks la yo dwe vid.
Finalman, nou ap ale nan inisyalize tablo m 'yo,
ak mwen pral di ke tout bagay se kounye a nan 0,
kidonk sa a tablo manm imuiabl se yon etalaj mutabl,
ki vle di mwen kapab rele metòd la addObject ak jis yon andedan 0 nan li.
Sa a ki sa k ap pase lè mwen kreye yon jwèt nouvo.
>> Se pou nou pran yon gade nan yon lòt.
Metòd sa a isit la se IBAction a ki k ap pase yo dwe bourade
chak fwa youn nan moun ki kare a bourade.
Koulye a, nou gen kèk tik lojik zòtèy TAC isit la.
Nou konnen ki ki gen vire li ye,
ak ki baze sou nou pou nou swa mete yon X oswa yon O,
men nou remake ke nou ap resèvi sa a kap okipe-evènman menm
pou chak yon sèl nan sa yo bouton.
Sa vle di ke mwen pa gen yon metòd pou bouton an gòch anwo,
yon metòd diferan pou bouton an dwa anba, byenke mwen te kapab gen fè sa.
Sa pa ta reyèlman dwe bon konsepsyon.
Sa mwen ap fè isit la se mwen aktyèlman ale nan detèmine
sa ki tag a nan bouton an ki te bourade se.
Ou remake ke metòd sa a jwe pran youn agiman.
Yo rele li moun k, e ki sa moun k ap la moun k ki pral
reprezante egzakteman sa ki te pran desizyon sou li.
Si m 'peze yon bouton, sa a moun k a pwal ki UIButton
ke mwen aktyèlman bourade, se konsa ke vle di ke ki UIButton
gen yon tag paske mwen te kreye yon tag.
>> Si m 'vle jwenn nan tag a mwen ka tou senpleman di
Mwen vle tag a nan moun k la,
e ankò, Mwen te jis koule li bay yon UIButton.
Mwen rive konnen ke moun k la pral yon UIButton.
Li pa toujou dwe fè yon UIButton.
Mwen te kapab, pou egzanp, enskri kap okipe-a evènman menm
pou youn pou yon bouton, yonn pou yon kurseur.
Nan ka sa a, mwen konnen yo ap tout bouton, se konsa mwen pral di
Mwen vle sa a yo dwe yon bouton, ak Lè sa a, mwen kapab jwenn tag a,
ak nan tag a mwen kounye a konnen ki kote mwen menm andedan nan tablo a.
Apre sa, mwen ka senpleman mete swa X yo oswa O la, ka baskile vire a,
tcheke ki te genyen, et setra.
>> Nenpòt kesyon sou sa a byen lwen konsa?
Okay, tout kòd la nou afiche sou entènèt-nou pa vle antre nan twòp
nan lojik sa a zòtèy tik TAC, men kounye a ou ka wè ki vrèman
tout sa nou ap fè se nou ap loupin sou sa a etalaj,
pou nou gen yon koup nan pou pasan isit la, e nou jis ap konpare yo wè
nou gen yon matche ak nan tout ranje yo, yon matche ak nan yon kolòn oswa yon bagay tankou sa.
Aktyèlman kouri sa a app, si mwen tiyo sou youn nan sa yo bouton
te ki metòd yo te tire jwèt, se konsa sa vle di mwen jis mete
bouton nan yo dwe yon X, pou kounye a bouton sa-a pral yon O, ak sou sa,
ak sa ki nan jan nou ap kòmanse kominike avèk sa a app paj sèl.
>> Nou pral afiche kòd la, se konsa santi yo lib yo parkourir sa,
Men, kite a kounye a pale sou kèk apps ki gen plis pase jis paj youn.
Kòm enteresan kòm zòtèy tik TAC te ye a, yon anpil nan apps andedan nan yo
yo se kalite sa yo fè egzèsis desann bagay sa yo ak griy miltip.
Konsèp an premye ki nou pral bezwen pale sou yo se pwotokòl,
ak yon pwotokòl se senpleman yon seri metòd
ke ou ka pwomèt defini.
Si m 'kreye sa a pwotokòl nouvo ak 2 metòd, yon sèl sa a an premye,
si kalite a retounen se anile, mwen rele l 'foo.
Li pa pran agiman. Mwen gen yon lòt metòd.
Li retounen yon int. Mwen rele l 'defann, epi li pran yon sèl agiman.
Tout bagay sa a pwotokòl se ke yo rele SomeProtocol moute isit la,
sa a se yon seri de bagay sa yo ke yon moun ka aplike.
Mwen pa janm andedan sa a pwotokòl di ki sa foo fè.
Olye de sa, mwen jis di ou ta ka defini foo si ou vle.
Si mwen kreye yon kontwolè vi oubyen kreye yon klas
Mwen ka andedan nan pwomès sa a klas aplike
kèk nan metòd sa yo, se konsa pou egzanp, si di
sa a kounye a di mwen fè yon pwomès ou ke andedan
nan klas sa a kontwolè wè mwen pral gen definisyon pou tou de foo ak ba.
>> Poukisa se sa itil?
Yon anpil nan eleman andedan nan yo pran avantaj de sa a
modèl konsepsyon rele delegasyon, e ki sa delegasyon di
se ke, pou egzanp, si mwen gen yon bwat tèks
ak gen kèk evènman ki te kapab yo enskri andedan nan bwat tèks m 'yo,
olye ke kreye evènman separe sa m 'ka fè se mwen kapab di
delege a nan bwat sa tèks yo pral kèk objè.
Lè m 'di ke sa a se yon delege kounye a ki vle di ke
chak fwa ta gen kèk evènman yo te revoke nan ti bwat la tèks
olye ke gen yo anrejistre li oswa yon bagay tankou sa
li jis ale nan rele yon metòd sou delege a.
Pou egzanp, andedan nan bwat tèks mwen mwen gen yon metòd pou lè m 'peze
ki fè bouton nan dwa anba a,
e konsa olye ke enskri kap okipe-evènman ki sa mwen kapab di se
bwat tèks, isit la se yon bagay ki mwen vle fè w rele yon metòd sou
chak fwa yon moun apwi bouton an fè,
ak ki vle di ke ki objè ki gen aplike kèk pwotokòl
ki di mwen te pwomèt defini ke aksyon bouton fè a,
paske si li pa defini ki metòd, epi ou laprès fè a,
Lè sa a, li la pral fè konfizyon.
>> Se pou nou pran yon gade nan yon egzanp.
Men mwen tou senpleman gen yon sèl bwat tèks,
ak youn nan pwopriyete yo nan bwat sa tèks sou isit la sou bò sa a dwa se delege a.
Sa a se yon pwopriyete nan klas la.
Ki sa mwen te fè isit la se mwen kontwole klike, epi mwen trennen soti nan plas sa a sou isit la
vin gen opinyon kontwolè a, epi ki di kounye a delege a nan bwat sa tèks
a pwal kontwolè a vi.
Sa vle di ke lè kèk aksyon rive, olye ke enskri
pòtè evènman apa mwen vle nou voye yo bay delege a.
Koulye a, kite a pran yon gade nan kontwolè wè m 'yo.
Anndan an. Dosye a h mwen te fè yon pwomès Bondye.
Mwen te pwomèt aplike kèk metòd andedan sa a pwotokòl
rele UITextFieldDelegate, e ankò,
sa a se jis kèk lis kèk bagay sa yo ke mwen ka chwazi a aplike.
>> Si m 'vin isit la nan. M dosye mwen, mwen te aplike yon sèl sa yo metòd.
Mwen te rele l 'textFieldShouldReturn
paske se sa ki sa yo rele andedan nan pwotokòl la.
Epi, koulye a nenpòt lè mwen peze bouton andedan kay la fè nan ki jaden tèks
sa a se sa ki pwal jwenn rele, se konsa mwen pa t 'enskri yon kap okipe-evènman.
Mwen konekte delege a, epi chak fwa gen evenman sa a te tire
sa a se metòd la ki pral jwenn yo rele, se konsa si mwen vin sou isit la yo scénario m 'ak kouri li-
pandan y ap ki nan loading nou ka wè ki sa sa a fè.
Sou ekran m 'mwen gen 2 bagay sa yo.
Mwen gen jaden sa a tèks, mwen gen sa a mete etikèt sou.
Mwen senpleman di mwen vle tèks sa-a mete etikèt sou
yo dwe egal a kèlkeswa sa itilizatè a tape nan andedan nan jaden an tèks.
Liy sa a pwochen isit la se tou senpleman yon metòd ki m ap rele
sou jaden an tèks ki di mwen vle fè w kache klavye la.
Sa a se jis metòd la abitrè ke Apple te chwazi.
>> Yon fwa ankò, anvan m 'te fè anyen mwen te gen nan pwent fil tout bagay moute, se konsa Mwen te vin premye sou isit la.
Soti nan kontwolè a wè mwen trennen sou nan bwat la tèks.
Mwen kite ale, epi mwen ka wè isit la ke mwen ka fè sa-a tèks pwopriyete a jaden
depi plis pase isit la nan kontwolè a wè mwen te defini yon pwopriyete
ki se yon IBOutlet nan yon jaden tèks.
Sa a di ke mwen ka WIRE pwopriyete sa a moute
nan yon jaden tèks nan UI m 'yo.
Koulye a, lè m 'klike sou sa, mwen ka kòmanse sezisman.
Koulye a, si mwen klike sou bouton a te fè sa ki pral nan dife
yon evènman ki mwen kapab kounye a reponn a.
Pa gen evènman pòtè.
Sa a se ki jan mwen jis reponn a ki bouton fè.
Fè sans?
>> Sa a se pa yon modèl desen ki-ou pa ta ka janm jwenn tèt ou
kreye pwotokòl pwòp ou a, men jis konnen ke gen kèk
diferan eleman yo enskri evènman nan diferan fason.
Bouton, pou egzanp, itilize sa yo IBActions.
Jaden tèks, sou la lòt bò, yo pwal itilize yo delege.
Nou ka wè, epi ou ka gade nan tout sa andedan leve nan dokiman an.
By wout la, gen nan aktyèlman yon tòn bagay UI bati nan yo pou ou,
se konsa pou egzanp, wout la mwen te fè ki di fè sa ki a dwat anba a
se mwen chwazi jaden sa a tèks.
M 'te vin sou isit la.
Mwen defile desann yon ti jan retounen kle yo,
e mwen ka aktyèlman fè sa-a yon pakèt antye de bagay sa yo, tankou si mwen vle ki vle di
ijans rele olye mwen ka fè sa, ki se totalman o aza,
ak Mwen pa konnen poukisa gen yon ijans bati-an bouton rele,
men gen, li di pou ka dijans nan lèt vrèman piti.
Gen ou ale.
>> Definitivman eksplore tout nan opsyon sa yo diferan nan yo.
Nenpòt kesyon sou delege?
Yon fwa ankò, jis yon modèl konsepsyon enteresan ke ou ta dwe okouran de.
Oke, kite la pwochen pran yon gade nan opinyon tab.
Yon View tab se fondamantalman ki lis atik ki se sou tout plas la nan yo.
Lè w ap ranvèrsan atravè tout sou kontak ou a, w ap chèche a
se paj la kouche, ak ki kalite lis de bagay sa yo rele yon View tab.
Mete annaplikasyon yon View tab nan yo se trè senp.
Olye pou yo fè yon klas ki desann soti nan ki UIViewController
tankou nou te fè anvan nou tou senpleman bezwen di olye ke
tout bagay yon UIViewController mwen vle fè a,
M 'di nou tout bagay yon UITableViewController mwen vle fè a,
pou ke tou senpleman ajoute kèk bagay anplis ke yo totalman fè pou nou.
Nou bezwen fè anpil ti fondamantalman ranpli nan espas vid yo andedan nan tab la.
>> Yo nan lòd yo montre yon tab mwen bezwen reponn kèk kesyon.
Kesyon an premye fwa mwen bezwen reponn se konbyen seksyon yo nan tablo a?
Lè w ap ranvèrsan nan app kontak ou, ou pral avi ke li nan kalite
òganize pa Kòm a, Lè sa a, ou gen B a, epi ou gen sa ti kras header sub.
Chak nan sa yo yo rele yon seksyon.
Ou ka oswa ka pa bezwen sa yo.
Premye bagay ou bezwen fè se mete sou pye yon metòd
rele tableView: numberOfSectionsInTableView.
Ki tou senpleman retounen konbyen seksyon ou genyen,
kidonk sa a kapab di retounen yon sèl si ou gen youn gwo View tab.
Nan pwochen kesyon an ki yo bezwen konnen ki jan anpil ranje ou genyen?
Pou egzanp, w ap ranvèrsan nan yon View tab.
Ou gen yon nimewo fiks de chante w ap chèche a oswa yon nimewo fiks de kontak.
Si ou se m ', nan kou, pa ke anpil,
ak sa ki nan jan yo konnen ki jan anpil selil yo montre.
>> Yon fwa ankò, sa a te kapab di yon bagay tankou retounen 3.
View tab avè m 'gen 3 ranje.
Finalman, yo bezwen konnen ki sa chak selil sanble,
Se konsa, sa li a aktyèlman pral fè se rele metòd sa a desann isit la,
sa a tableView: cellForRowAtIndexPath.
Li nan ale nan rele metòd sa a sou chak selil sèl andedan nan tab ou.
Ki jan li konnen konbyen fwa yo rele li?
Oke, ou te di l 'anndan kantite ranje nan seksyon.
Nou pral rele sa a sou chak nan selil nou an,
ak andedan nan sa a se kote ou ka aktyèlman fè bagay sa yo tankou
mete tèks la oswa fè w konnen kisa ki bouton ti kras ble sou bò dwat la fè.
Modèl la pou jwenn selil sa yo, nou pwal sèvi ak metòd sa a
rele dequeueReusableCellWithIdentifier.
>> Objektif-C se aktyèlman trè byen li te ye pou longè a ridikil nan non metòd yo,
ak sa a se reyèlman yon ka bèl nan egzanp pwen.
Ki sa ki metòd sa a fè, se sa a jis di mwen vle nou ban m 'yon selil.
Jis yon yo bagay sa yo.
Si ou gen yon bagay tankou 100,000 chante sou iPod ou
ki sa yo pa vle fè se asiyen 100,000 selil,
paske si w ap nan tèt la nan lis ou a, ou reyèlman bezwen asiyen memwa
pou selil la ki nan 99.000 ranje desann?
Non, paske kòm w ap defile ou kapab kalite asiyen menm jan ou ale ansanm.
Sa a se fè pou ou.
Ou pa gen enkyete sou tout bagay ki estipid pèfòmans.
Tout sa ou di a ou rele sa a dequeueReusableCellWithIdentifier metòd,
ak sa a di, oke, si ou bezwen mwen pral kreye yon selil nouvo pou ou.
>> Men, si ou se nan pati anba a nan tablo a epi ou te deja resevwa lajan kèk selil
nan tèt yo nan tablo a ke w ap vrèman pa ale nan bezwen nenpòt ki lè byento
Mwen pral ba ou youn nan moun ki dèyè olye pou yo allocation yon nouvo,
ak kidonk sa a se yon pwoblèm pèfòmans bèl.
Ou pa oblije asiyen selil yo tèt ou.
Sa a pral ba ou tounen yon selil.
Li nan ale nan tounen vin jwenn nou yon objè selil.
Yon fwa ou gen objè a selil ou ka fè bagay ak li.
Ou ka mete tèks la nan selil la ak pwopriyete sa a yo rele mete etikèt sou tèks la.
Ou kapab ajoute ke flèch sou bò dwat la oswa kèk lòt bagay o aza
ak sa a pwopriyete lòt te rele accessoryType, ak sou sa ak sou sa.
>> Se pou nou pran yon gade nan aktyèlman mete ann aplikasyon yon View tab kounye a.
Lè m 'te kreye pwojè sa a
olye ke li di yon sèl aplikasyon wè mwen aktyèlman te vin sou isit la
jwenn mèt-detay aplikasyon an, ak Se konsa, fondamantalman sa a koresponn app a lapòs
sou iPad a ak gade nan tablo sou bò gòch la ak Lè sa a, sa ki sou bò dwat la.
Sou iPod la oswa ifon sa a ki pral koresponn ak yon View tab sèl.
Sa a kote mwen te resevwa kòd starter m 'yo.
>> Se pou nou premye pran yon gade nan scénario la.
Tout sa yo te fè pou m ', fondamantalman kreye.
Sa a ba Navigasyon moutre m 'sa ki yon selil egzanp ta ka sanble,
e mwen kapab doub klike sou sa a, chanje tit la.
Nenpòt enkyetid UI lòt mwen ka okipe a.
Dosye a header sanble vrèman senp.
Olye de li di sa a se UIViewController nou ap kounye a li di sa a se yon
TableViewController, konsa nou konnen ke nou vle rele tout moun sa yo metòd tab.
Next mwen vle kreye yon pwopriyete ki nan ale nan reprezante
bagay sa yo andedan nan tab mwen.
Tablo sa a ki pral abitrèman montre
yon lis fwi, ak Se konsa, mwen bezwen yo kreye kèk etalaj
nan ki mwen ka insert fwi.
Anndan nan dosye aplikasyon mwen an nan premye bagay mwen vle fè
se mwen vle asire yo ke mwen inisyalize sa a etalaj.
>> M 'te di alok ini, te kreye etalaj fwi m' yo,
ak mwen ajoute 4 bagay sa yo nan li, youn nan ki se pi plis kontwovèsyal pase 3 an ak lòt.
Epi, koulye a mwen gen yon etalaj de gwosè 4.
Nou ap souke l 'kanpe nan CS50.
Mwen kounye a gen yon etalaj de gwosè 4.
Koulye a, mwen pral kòmanse reponn kesyon sa yo, ak aktyèlman,
lè mwen te kreye sa a app tout bagay sa yo te deja fè pou mwen.
Mwen pa t 'gen tape soti nimewo a nan seksyon nan gade tab.
Li te deja la, ak mwen ranpli nan espas vid yo.
Konbyen seksyon mwen genyen?
Yon sèl. Tout fè.
Konbyen ranje mwen genyen?
Oke, mwen gen yon sèl ranje pou chak fwi, kidonk sa a konte
se yon pwopriyete nan nenpòt ki pozisyon ki di konbyen gwo se li?
Sa a se konbyen ranje m 'genyen.
Finalman, mwen bezwen di sa chak selil sanble?
Mwen pral di dequeueReusableCellWithIdentifier.
>> Yon fwa ankò, sa a te deja ekri pou mwen.
Mwen pa t 'dwe fè sa a tèt mwen, e mwen vle jwenn tounen
selil sa a nan sa a kote.
Sonje ke nou ap rele metòd sa a menm sou chak selil sèl,
ak sa a agiman isit la, sa a agiman indexPath,
di ki sa ranje Mwen pous
Si mwen di indexPath.row desann isit la
sa a pral 0, Lè sa a, li pral 1, Lè sa a, li pral 2, ak sa a se konsa mwen konnen
ki sa selil mwen kounye a ki montre.
Mwen vle yo mete tèks la nan selil la lè l sèvi avèk sa a se pwopriyete textLabel
nan ale andedan etalaj fwi mwen epi pou yo jwenn
objè a ki koresponn a chak ranje.
Si sa a se yon fisèl, mwen kounye a mete
tèks pwopriyete a nan yon fisèl.
Mwen kapab fè yon lòt bagay.
Mwen ka anrejistre tou yon kap okipe-evènman sou chak nan selil yo,
Se konsa, lè mwen tape chak nan selil sa yo
sa a didSelectRowAtIndexPath, sa a yo pral rele pou m ',
se konsa tou senpleman pa defini sa a mwen kapab kounye a okipe sa k ap pase
lè w tape yon selil, e ankò, nou ap pase nan ki selil te eksplwatè
pou nou ka jam itilize sa a kap okipe-evènman menm pou tout moun nan selil nou an.
>> Yon fwa ankò, sa a se yon bagay yo ap fè pou mwen.
Se pou nou montre yon lòt kontèkstuèl anmèdan
ki tou senpleman di ke ou te chwazi yon bagay kote ke yon bagay
a pwal objè a ranje.
Lè m 'kouri sa a, mwen pral gen sa a View tab bèl
ak yon sèl ranje pou chak nan sa yo fwi, ak si mwen tape yon sèl
li di m 'sa ki te pase.
Fè sans?
Se pou nou bati yon ti jan ti kras pi plis konplèks nan yon app,
otan ke ou te chwazi klike sou tomat se.
Pati nan bèl sou storyboarding la
se li pa sèlman pral ede nou nan ekran konsepsyon endividyèlman,
Li la tou pral ede nou mare ansanm app tout nou an,
Se konsa app a final nou pral bilding sa a bèl espò nouvèl lektè,
ak Se konsa, li pral gen ekran miltip, ak Se konsa, mwen ka aktyèlman reprezante
chak nan sa yo ekran miltip sou scénario a,
e mwen ka rale soti, yo wè app mwen yo ki nan yon wo nivo.
>> Yo nan lòd yo kreye yon andedan eleman nouvo nan scénario mwen
li nan vrèman senp andedan nan konstrukteur Entèfas.
Si m 'vle ajoute yon lòt ekran sa a, pou egzanp,
Mwen ka premye rale soti ak rale nan zongle ke Apple renmen anpil,
, li desann isit la anvan m 'rechèch pou yon bouton
epi mwen trennen ak gout yon bouton
si mwen vle kreye yon ekran nouvo mwen ka aktyèlman jis trennen ak gout
yon kontwolè wè tout, se konsa si mwen chwazi sa a, rale li sou isit la,
hey, gen nan yon lòt ekran, ak konsa koulye a lè l sèvi avèk sa a ranpli scénario menm
Mwen ka gen tout ekran yo andedan nan app mwen, mwen menm ka rale soti
ak wè ki jan yo kominike.
Sa yo pa pral kominike ankò.
Wout la nan ki sa yo ekran 2 kominike se ou defini relasyon.
Ou ka fondamantalman di sa a ekran, lè ou peze bouton sa-a,
Mwen vle fè w glise sou sa a ekran nouvo.
Sa vle di gen nan sa a kalite relasyon ant
ekran an premye ak ekran an dezyèm fwa.
Ou ap gen fondamantalman yon flèch nan sa bouton ekran an dezyèm
ki di ke lè ou peze bouton sa-a ki nan kote mwen vle ale.
Jis tankou nou kontwole klike ak trennen defini moun ki plòg
nou pwal fè menm bagay la defini sa yo segues.
>> Nou pral wè yon egzanp pou sa, epi anvan nou aktyèlman tranzisyon
soti nan yon ekran a yon lòt yo se bèl ase yo rele metòd sa a
rele prepareForSegue, e sa se kote nou kapab kòmanse
voye done ki sòti nan yon sèl app a yon lòt.
Nan egzanp lan nou ap sou fè yon gade nan li pral fondamantalman pèmèt nou
filtre ekip bezbòl pa lig ak divizyon.
Lè m 'chwazi yon lig, pou egzanp, mwen vle tranzisyon
nan pwochen ekran m 'kote m ka montre tout nan divizyon yo
nan ki lig oswa tout ekip yo diferan.
Mwen bezwen pou voye bay ki ekran ki sa ekip ou ta dwe montre.
Pou fè sa mwen pral pwofite pran avantaj nan metòd sa a isit la.
>> Finalman, jis yon pwen o aza sou yo.
Si ou vle nan magazen done gen nan bagay sa yo rele done debaz yo,
ki se aktyèlman kalite konplike yo travay avèk.
Ou kapab tou itilize SQL nan magazen done,
ki, ankò, se bèl men kalite sou bò pi konplike yo travay avèk,
men yo sipòte tou bagay sa yo vrèman fre rele lis pwopriyete,
ak yon lis pwopriyete se jis yon dosye ki reprezante pè valè kle.
Ou defini yon lis nan kle, nou di sa a kle a pwal yon etalaj.
Sa a kle a pwal yon fisèl, ak fondamantalman anyen ou ka fè
nan JSON ou ka fè andedan nan yon lis pwopriyete,
ak sa a sa a vrèman joliman pèmèt nou travay avèk kèk done.
Pou egzanp, mwen gen sa a Teams.plist ke mwen te kreye.
Mwen kreye yon dosye plist nouvo, e mwen ka fè egzèsis desann.
Sa a se yon diksyonè, sa a se yon diksyonè, diksyonè sa yo, se strings,
epi konsa sa a se yon reprezantasyon grafik bèl nan yon dokiman JSON
oswa jis yon seri pè valè kle yo,
ak kidonk sa a se done yo ke mwen pral travay ak andedan app m 'yo.
>> Se pou nou vin anvan sou isit la. Nou gen yon anpil plis dosye kounye a.
Men, kite a premye vin sou isit la yo scénario la.
Scénario a isit la-si mwen ka rale soti-
nou ka wè koulye a ke sa a se koule nan app m 'yo.
Mwen premye pral kòmanse nan paj ekran sa.
Mwen pral fè egzèsis desann nan sa a ekran,
ak mwen pral fè egzèsis desann nan sa a ekran, epi nou ka wè isit la ke si mwen kalite
deplase youn nan sa yo otou nou te sa yo flèch pral soti isit la isit la,
ak fason mwen defini ki flèch te si mwen rale nan yon ti jan,
ak si mwen vin sou sa a kontwolè vi,
ak isit la a yon selil, e mwen vle yo di ke lè w tape yon selil
Mwen vle fè w glise sou ekran a yon lòt.
Mwen kapab annik kenbe desann kontwòl,
woulo liv sou yon ti jan, kenbe desann kontwòl, trennen selil sa a sou yo ak kite ale.
>> Yo ak sou isit la nou di sa ki nan tranzisyon an ke ou vle itilize?
ou vle itilize ke bagay glise ki yo rele pouse?
ou vle glise moute anba nan fon an?
Sa yo rele modal.
E yon fwa mwen klike sou youn nan sa yo, li pral fè desen sa a flèch pou m ',
ak ki vle di ke mwen te aktyèlman okipe sa k ap pase lè m 'peze bouton sa-a grafikman.
Mwen pa t 'ekri nenpòt kòd aktyèlman glise soti nan yon ekran nan yon sèl kap vini an.
Mwen defini sa a vizyèlman andedan nan konstrukteur Entèfas.
Si m 'klike sou sa a flèch, nou ka wè ke mwen te bay bagay sa a yon non.
Mwen rele l 'showDivisions, e sa se pou m' ka konnen
ki sa tranzisyon se sou yo rive, epi nou pral wè poukisa nan jis sec yon.
Sa a se ki jan mwen te branche moute ekran yo diferan nan app m 'yo.
Si sa a te yon bouton, pou egzanp, olye ke yon View tab,
Mwen te kapab kontwole klike sou bouton a, trennen sou nan pwochen ekran an,
ak lè sa a jan mwen kapab fè navigasyon ki fason.
>> Vrèman byen vit, si nou antre nan MasterViewController a,
ankò, nou ap tou senpleman ale nan defini yon lis bagay
ke yo pral parèt nan gade nan tab.
Isit la m ap di mwen vle fè w pran ki dosye plist,
e mwen vle ou nan chaj li moute nan yon diksyonè, diksyonè
epi yon fwa ou gen sa diksyonè, mwen pral reponn kesyon sa yo menm ankò.
Isit la se nimewo a nan seksyon.
Youn nan, gen yon ranje pou chak lig, ak tèks la nan chak selil
yo ta dwe youn nan premye, lig a an premye, lig, dezyèm lan, ak sou sa.
Finalman, mwen pral sèvi ak metòd sa a ke nou jis te wè yo rele prepareForSegue,
e sa se metòd la ki k ap pase yo dwe revoke lè mwen klike sou
sou youn nan moun ki ranje ak Se poutèt sa aktive ke tranzisyon
ke mwen mete kanpe ak flèch yo.
Sa a se ki di ke mwen ka gen plizyè
relasyon soti nan yon ekran a yon lòt.
Si mwen gen 2 bouton ak chak bouton pran ou nan yon ekran diferan
Mwen pral gen 2 segues, 1 pou chak bouton.
Men, sa a prepareForSegue se, ankò, ale nan itilize yo ankò
pou chak nan relasyon yo diferan, se konsa ke vle di ke mwen bezwen yon fason
pou idantifye si ou peze bouton an premye oswa ou peze bouton an dezyèm fwa.
>> Sonje lè mwen te bay ki seg yon non, sa a showDivisions,
sa a jan mwen kounye a konnen ke sa a se seg a ki te aktive.
Tout sa mwen vle fè se mwen vle di
Mwen vle konnen sa ki mwen jis frape,
e konsa yo ka resevwa sa, mwen ka di mwen vle indexPath la pou ranje a chwazi,
sonje indexPath la jis di kote mwen jis klike,
ak Lè sa a, mwen vle di mwen vle konnen ki kote mwen pral.
Sa a destinationViewController, sa se yon pwopriyete nan seg la.
Sa a ekran an mwen pral,
Se konsa, mwen konnen ki ekran an mwen pral rele DivisionsViewController
paske mwen te kreye ki klas,
ak konsa koulye a si mwen di d.divisions
Mwen kounye a mete yon pwopriyete nan kontwolè a wè m gen pou yo ale nan.
Sa a se fason M'ap voye done ki sòti nan yon ekran a yon lòt ekran.
>> Jis gade nan sa a DivisionsViewController
ou ka wè isit la ke nan. dosye a h
gen se ke divizyon pwopriyete, ak sa a, se sa m ap fondamantalman pepleman,
pou ki nan Kouman pou mwen konnen ke mwen montre divizyon yo ki koresponn a
lig la ke mwen klike, e ankò,
gade nan tablo aktyèl sanble bèl anpil menm bagay la, jis reponn sa yo
3 kesyon ki senp kòm byen ke idantifye
sa ki pase lè ou ale viv nan pwochen ekran an.
Jis yon koup nan lòt bagay isit la.
Ou remake nan tèt la isit la ke olye ke li di # gen ladan yo
Mwen kounye a li di # enpòte.
Sa a se jis yon bagay Objektif-C.
Enpòte a se fondamantalman yon vèsyon joli nan enkli,
ak pou egzanp, nou bezwen konnen ki sa klas sa a se,
Se konsa, mwen pa ka jis di DivisionsViewController.
Si nou pa t 'hashtag standardio.c andedan nan dosye-a. Nou an c
du a pa te gen okenn lide ki sa printf te ye a.
Menm jan tou, si mwen pa enpòte DivisionsViewController la
du a vrèman pa gen okenn lide ki sa yon DivisionsViewController se.
Jis asire w ke andedan nan dosye ou diferan. M ou fè asire w ke ou enpòte
korespondan. dosye yo h pou ke du a konnen sa ki pral sou.
>> Finalman, sa ki Apple finalman ap montre kèk done lè l sèvi avèk yon View entènèt,
epi konsa yon View entènèt se yon objè nan ki ou ka Afiche
yon navigatè entènèt ti kras andedan app ou a.
Tout sa ou bezwen fè se bay yon URL navigatè entènèt ou a,
Se konsa, mwen vle pou yo ale nan mlb.mlb.com,
ak sa a se ki jan mwen kapab jwenn aksè nan paj la kay pou chak ekip,
epi konsa si yo pase nan sa a URL
gade nan sit entènèt kapab montre sa a pou mwen, mwen ka browse otou,
ak similatè se nan itilize pa yon sèl.
Koulye a, sa a te soti nan plist m 'yo.
Si m 'klike sou sa a sa a tou te soti nan plist m' yo, ak sa a te pòt okipe
pa defini sa yo segues.
Mwen klike sou sa a ak yon sèl plis,
e kounye a, isit la se UIWebView m 'yo, se konsa jis tankou sa
isit la nan sit wèb la pou adrès URL la ke mwen jis embedded a,
epi mwen pa t 'gen okipe anyen fou.
Sa a se ki jan yo montre yon paj entènèt.
Bagay sa yo tankou bouton sa-a tounen isit la yo tou bay m '
totalman pou gratis paske mwen te defini relasyon sa yo lè l sèvi avèk segues.
>> Nenpòt kesyon? Yeah.
[Elèv] Se konsa, lè ou itilize alok, ou pa janm gen anyen gratis?
Egzakteman, lè w rele alok ak ini ou pa bezwen libere li.
Yo ki pral okipe tout nan ki pou ou.
Li nan bèl bagay, epi ou pa ap kraze okenn règleman yo. Yeah.
[Elèv] Si ou te genyen plis ekip ki ka anfòm sou ekran an,
li ta otomatikman gen yon opsyon woulo liv, oswa se ke yon bagay ou bezwen ajoute?
Egzakteman, si mwen te gen plis ekip, pou egzanp, li ta otomatikman okipe
defile a pou m ', ansanm ak tout enkyetid pèfòmans yo
ak tab la gwo yo tou okipe totalman pou mwen.
>> Lòt kesyon yo?
Tout sa kòd yo pral afiche.
Nou kalite glossed sou yon ti kras nan detay yo pi plis minè,
men bagay sa yo tankou mete kèk pwopriyete gade nan sit entènèt
yo se jis bagay sa yo ke ou kapab jwenn pa Navigasyon dokiman Apple la,
ki se reyèlman, reyèlman joliman mete deyò.
Yo gen yon anpil nan apps echantiyon ak egzanp coutumes
nan APIs diferan, se konsa definitivman parkourir sa yo si ou kapab.
Jis kèk lyen itil ou ta ka vle pran yon gade nan.
Sa yo se kèk gid dokiman sou la men.
Adrès sa yo se masiv, se konsa yo ap vin pi kout.
Yon sèl sa a premye se bibliyotèk la tout antye de kopi dokiman yo.
Genyen nan ba rechèch ti kras, kidonk si w kòmanse bouton sezisman
li pral kòmanse ban nou tout enfòmasyon sou tout bagay sa yo ou kapab fè avèk yon bouton.
Mwen te tou te gen ladann View Gid nan Programming Table.
Li kenbe opinyon tab nan anpil plis detay,
ki jan fè bagay sa yo tankou dynamique ajoute selil oswa edit selil oswa retire yo.
>> Genyen anpil bagay nan apps echantiyon soti nan Apple ki pral montre w ki jan fè sa,
epi finalman, yon sèl sa a pase a se Gid la Entèfas Imen,
ak sa a se fondamantalman kèk diskisyon sou UI eleman,
bagay sa yo tankou pa fè yon bouton sa a, se 4 piksèl pa 4 piksèl.
Sa se yon lide move, ak lòt bagay ki Apple vle ou a fè
ankouraje bon konsepsyon.
>> Nenpòt kesyon dènye anvan nou fini?
Tout dwa, definitivman santi yo lib a-we're pral gen etikèt espesyal sou diskite.
Nou pral gen yon yo yon sèl, se konsa definitivman santi yo lib yo itilize sa.
Si ou vle travay avèk kondisip ou sou pwojè
oubyen ede konpwan kèk o aza yo bagay
ezite imèl m 'yo, ak definitivman parkourir tout kòd sou entènèt la paske
jis nan enterè a nan tan nou kalite glossed sou plis nan
sibtilite detay grenn fen de bagay sa yo.
Men, si se pa sa, Lè sa a, bon chans sou yo pwojè ou a, e mwen espere ke nou gen
yon foul gwo apps nan magazen an app.
[CS50.TV]