[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]