Tianyu LIU: Hey, sut yn i fynd pawb? A hon yw'r iOS App rhaglennu o seminar c gwrthrychol. Ac mae fy enw i yw Tianyu Liu. Rwy'n iau Lowell ar hyn o bryd, canolbwyntio mewn gwyddoniaeth gyfrifiadurol. Felly, yn y seminar hon Rwy'n mynd i ddysgu guys i chi ychydig am sut i wneud app. Yay, cael gyffrous ar ei gyfer. Felly, cyn i ni hyd yn oed yn dechrau deifio i mewn i ochr raglennu gwirioneddol, gadewch i ni dim ond yn gyflym iawn siarad am pam y gallech fod am adeiladu app iOS? Pam mae iOS mor anhygoel? Felly, y broblem gyntaf, y cyntaf beth sydd yn eithaf anhygoel i ni, yn enwedig fel CS50 myfyriwr, yw bod iOS yn defnyddio Amcan C. Wel, mae ' iaith newydd o'r enw Swift, ond nid ydym yn mynd i ddefnyddio hynny yn y seminar hwn. Os oes gennych ddiddordeb mewn Swift, yno yn seminar annibynnol am hynny. Ond Amcan C yn y bôn yn uwchset o C. Ystyr bod popeth a ddefnyddiwch yn C Gall yn cael eu cyfieithu i'r Amcan C yn hawdd iawn. Fel y gwelwch yn nes ymlaen, fod yn wir mae rhai cystrawen sylfaenol iawn, yn cael eu yn y bôn yn union yr un fath, C ac Amcan C. Felly, ers i chi wedi cymryd CS50 i fyny mor bell â hyn, yr ydych eisoes gwybod Amcan C, o leiaf 40%. Hefyd, mae gan Apple mewn gwirionedd API cadarn ar gyfer iOS. Mae llawer o wir yn crazy bethau y gallwch ei wneud ag ef. Un o'r rhain yw rhywun mewn gwirionedd yn creu app iOS ar gyfer rheoli ceir, a oedd yn eithaf diddorol. Mwy na thebyg hofrennydd yn fwy cyffrous. Ond dyna pa mor bwerus Gall y API iOS fod. Ac fel y gallai fod gennych cyfrifedig allan ar hyn o bryd, y gorlif pentwr mae'n debyg, un o'r yr adnoddau ar-lein mwyaf pwysig ar gael i chi. Ac yn newyddion da, ar gyfer pob sengl broblem y gallwch meddwl am tra'n adeiladu eich prosiect terfynol yn Amcan C, mae'n debygol ateb gorlif pentwr. Dim ond awesome. Yn ogystal â hynny, iOS mewn gwirionedd yn llwyfan lle gallwch gyrraedd enfawr cynulleidfa heb fawr o ymdrech. Dyw hi ddim yn hoffi Android, lle popeth yn eithaf tameidiog. Mae popeth iOS yn unedig. A chyn belled ag y byddwch yn creu app ar gyfer iPhone, gallwch yn hawdd iawn porthladd hwnnw i iPad, iPad mini, neu wahanol feintiau iPhone. Mae'r rhain i gyd yn wirioneddol gyfleus. Ac 'i' jyst 'n sylweddol da ar gyfer creu argraff eich ffrindiau. Alli jyst gynnal iPhone a dweud wrth eich ffrind hey, dyma'r app wyf yn gwneud. Gallwch chi wneud hynny am unrhyw apps n ben-desg, sydd yn neis. Mae pob hawl, yn awr gadewch i ni mewn gwirionedd yn cael i mewn i'r Amcan C. iaith Felly pam nad ydym yn dechrau gyda rhywfaint o gystrawen 'n sylweddol sylfaenol. Fel y crybwyllais o'r blaen Amcan C Mae'n bôn yn uwchset o C. Felly, mae llawer o gystrawennau sylfaenol mewn gwirionedd yn union yr un fath. Datgan newidyn a ychwanegu dau newidyn at ei gilydd yn union fel yr ydym wedi ei wneud yn Mario. Dim byd newydd yma. Yn yr un modd, mae'r lletywr am ddolen a chyflwr hefyd yr un fath. Gallwch wneud am ddolen yn union fel chi wedi gwnaeth mewn Mario [Anghlywadwy]. A allwch chi wneud amodau yn union fel yr hyn yr ydych wedi bod yn gwneud yn eich setiau p blaenorol. Fodd bynnag, mae Amcan C Nid yn hollol C, ac mae yna rhywbeth y yn fath o 'n annaearol am y peth. Mae'r un cyntaf yw bod pan fyddwch yn gwneud rhaglennu C, yr ydych fel arfer yn galw cynnwys ac yna enw llyfrgell. Ond yn Amcan C byddwch yn ffonio y mewnforio. Yn y bôn yn dweud ymarferoldeb, enwau yn unig yn wahanol. Ac mae'r llinynnau yn mewn gwirionedd ychydig yn rhyfedd. Gallwch weld bod y cyntaf beth sydd yn fath o 'n annaearol yw bod gennych 'n bert weird-- sorry-- gennych NS 'n bert' n annaearol llofnodi dros yma. A'r ail beth dyna fath o 'n annaearol yn gennych yn arwydd o'r blaen mewn gwirionedd yn datgan y llinyn. Felly y bôn yn arwydd arwydd bod llinyn nid yn unig yn llinyn, mae'n mewn gwirionedd gwrthrych. Rydym yn mynd i egluro hynny yn nes ymlaen, felly peidiwch â banig os nad ydych yn ei wneud yn deall yr hyn y mae hynny'n ei olygu. Ac argraffu i chysura yn ychydig yn wahanol oherwydd yn C rydym yn galw printf, ond yn Amcan C rydym yn galw [Anghlywadwy]. Efallai eich bod yn meddwl tybed beth yw hynny. Yw hynny yn y bôn printf, dim ond iaith wahanol. Union yr un defnydd, union yr un functionality. Wel mae'n ymddangos fod Amcan C mewn gwirionedd Mae gan ns flaen mewn bron popeth, pob math o ddata sylfaenol, nsstring, nsarray, nsdictionary. Y rheswm yw bod ns mewn gwirionedd yn sefyll am Cam Nesaf, sydd yn gwmni sy'n Steve Jobs wedi sefydlu, sydd yn gwmni lle mae'r iaith Amcan C yn cael ei eni. Felly, mae hyn yn y bôn draddodiad. Dwi'n gwybod ei fod ychydig bach rhyfedd, ond mae'n Apple. Felly rhywbeth sydd hyd yn oed yn weirder na hynny yn ddatganiad swyddogaeth. Mae hyn yn wahanol iawn i'r hyn yr ydym gweld yn C, gan fod yma mewn gwirionedd nid yw'n edrych fel C anymore. Yr hyn sydd gennych Yma-- gan y ffordd nid yw hwn yn bwynt bwled, mae hyn yn arwydd minws. Mae gennych parenthesis arwydd minws ddi-rym ac yna enw'r swyddogaeth. Gadewch i ni ddweud os ydym gael helo byd, yna byddai'r math dychwelyd yn ddi-rym oherwydd ein bod yn dychwelyd dim byd. Beth sy'n cael 'n sylweddol' n annaearol yw bod pan fyddwch chi cael mwy nag un paramedr pasio i mewn i un swyddogaeth sy'n Bydd yn wirioneddol rhyfedd fel y dangosir yma. Mae gennym enw ddull, Gelwir addInt i [Anghlywadwy] ac rydym yn pasio un paramedr. Ond ar ôl hynny, mae gennym mwy enw'r dull galwad gyda. Ac ar ôl gyda rydym yn pasio yr ail baramedr. Mae hyn mewn gwirionedd ychydig yn rhyfedd, ond mae pob datganiadau swyddogaeth yma yn dilyn yr un patrwm â hyn. Mae gennym arwydd minws i ddechrau. Gallai'r arwydd minws fod yn arwydd plws Weithiau yn seiliedig ar ba fath o ddull yw hi. Dull yn y bôn enw arall ar gyfer swyddogaeth. Ac rydym yn mynd i esbonio hynny yn nes ymlaen pan rydym yn sôn am wrthrych rhaglennu oriented. Rydych yn gyntaf yn nodi y ffurflen deipio cromfachau tu mewn, ac wedi hynny daw'r enw dull. Rydych yn pasio un paramedr. Ac os oes gennych fwy paramedrau mae angen i chi ymestyn y dull enw ac yn y bôn ysgrifennu rhywbeth mwy yma. Gallai fod yn unrhyw beth yr hoffech. Yn ein hachos ni, mae'n ag. Ond gallech ddweud ben, neu neu, neu abc bar llawn, beth bynnag y dymunwch. Ac yna ar ôl hynny eich bod yn pasio paramedr b. Mae hwn yn wirioneddol od confensiwn ond rydym yn mynd i weld pam Apple eisiau i wneud hynny yn gyflym iawn. Felly, sut ydych chi'n ffonio swyddogaeth? Galw swyddogaeth yn Amcan C hefyd yn wahanol i C. Mewn gwirionedd, yn galw am swyddogaeth yn Amcan C yn fwy fel eich bod yn siarad â rhywun. Yma rydym wedi hunan, a oedd yn cael ei alw'n gwrthrych. Rydych yn y bôn dweud wrth y gwrthwynebu hunan i ddweud "Helo Byd!" Dyna sut i alw y swyddogaeth. Mae gwrthrych ac enw dull cyfuno â'i gilydd. A dyma lle mae'r estyniad rhyfedd ar gyfer enw dull 'n sylweddol yn dod i chwarae. Gadewch i ni edrych ar yr ail enghraifft. Rydym yn unig y diffinnir dull o'r enw addInt gyda blah blah blah. Felly, yn yr achos hwn pan ydych yn ffonio hynny [benodol? neges?] mae'n mynd i edrych fel hunan addInt: 10 gyda: 2.. Mae'n swnio fel Saesneg. Er bod y swyddogaeth Datganiad swyddogaeth yn od, y pwynt Amcan C patrwm datganiad dull, yw bod pan fyddwch yn ffonio y swyddogaeth neu ddull bydd yn swnio fel gwirioneddol Saesneg. Felly mae'n iawn 'n athrylithgar ar ôl i chi fynd i mewn iddo. Yn enwedig yn yr achos hwn, lle y gallwch yn y bôn gweld bod yr enw swyddogaeth yw math o ddogfennu ei hun. Nid oes angen unrhyw Chi mwy o eglurhad i weld beth yn union sy'n digwydd, yr hyn y yn union un paramedr yn ei wneud. Mynd y tu hwnt i hynny, gadewch i ni siarad ychydig ychydig am rhaglennu gwrthrych oriented. Rhaglennu oriented gwrthrych yn un o'r rhaglenni sylfaenol technegau neu batrymau sy'n a ddefnyddir gan Amcan C. Amcan C yn cael ei alw'n Amcan C, nid C, am reswm da iawn. Felly, cyn i ni fynd i mewn Amcan C cystrawen, Gadewch i ni wir yn edrych yn gyflym ar beth yn union yw gwrthrych. Mae'n debyg y byddwn wedi gwneud rhywbeth fel gwrthrych o'r blaen, a oedd yn a elwir yn struct pan fyddwch yn gweithredu coeden neu restr cysylltiedig neu [? roi cynnig. ?] Felly, mae'n yn y bôn fel struct, ond mae'n llawer mwy pwerus na hynny. Mae dulliau ac eiddo gwrthrych. Dulliau yn y bôn swyddogaethau. Yn y bôn swyddogaethau y bydd benodol i wrthrych penodol. Ac eiddo yn y bôn yw'r maes eich bod yn nodi yn y struct. Felly, ar gyfer pob un gwrthrych mae gennym rai eiddo sydd â rhyw newidynnau sy'n yn benodol i'r gwrthrych. Ac mae gennym rai swyddogaethau y yn benodol i'r gwrthrych hefyd. A gelwir y swyddogaethau yn cael eu dulliau a gelwir y newidynnau yn cael eu priodweddau. Dim ond enw ffansi. Tra byddwch wir, bob un olygfa byddwch yn gweld wrth i chi agor app iOS, gadewch i ni dim ond dweud Twitter neu Facebook, pob un olygfa a welwch yn wrthrych. A hyd yn oed y app cyfan yn gwrthrych i ddechrau. Cysyniad Diddorol iawn. A pham ydym ni eisiau gwrthrych rhaglennu oriented? Felly gallwch ddychmygu pan fyddwch yn Rhaglen mae'n mynd yn eithaf cymhleth. Gadewch i ni ddweud pan fyddwch chi'n gweithredu chessboard, y rhesymeg yn mynd i fod yn gymhleth mewn gwirionedd. Mae gennych 36 o wahanol darnau, felly os ydych yn am ysgrifennu rhesymeg ar gyfer yr holl 36 o ddarnau gwahanol mewn gwyddbwyll, sy'n mynd i fod yn llawer o gwahanol swyddogaethau a newidynnau. Mae'n llawer o drafferth. Ac mae'n debyg eich bod yn mynd i ysgrifennu gwahanol ddull neu swyddogaeth gwahanol ar gyfer pob un o'r darn i yn union reoli'r hyn y maent yn ei wneud. Ond os ydych yn gwneud gwrthrych oriented rhaglennu, pob un o'r darnau hyn Gellir ei dynnu i mewn un gwrthrych sengl. A bydd y gwrthrych yn cael rhywfaint o gyffredin eiddo, fel pa fath o ddarn yw e? Pa liw yw e? Sut y gellir ei symud? Ac yn y ffordd honno sydd gennych yn fawr symleiddio y rhesymeg ohono. Felly 'i' jyst yn ffordd dda iawn i wneud rhaglenni cymhleth, a pherthynas hierarchaidd o fewn y rhaglen, yn syml iawn. Wrth i ni yn mynd i weld pam yn gyflym iawn pan rydym yn ei wneud mewn gwirionedd programming-- pan fyddwn ni'n mewn gwirionedd gwneud côd S Sesiwn rhaglennu yn ddiweddarach. Wel yn ychwanegol at hynny, rhaglennu oriented gwrthrych yn unig yn llawer o hwyl. Rydych wedi cael i ddylunio eich gwrthrych eich hun. Rydych wedi cael i ddylunio beth mae mae'n edrych fel eich pen eich hun. Nid oes ateb cywir iddo. Ac mae'n hollol ddiddorol. Felly, mewn rhaglennu gwrthrych ganolog, dau gysyniad sylfaenol yn y dosbarth ac yn yr achos. Mae dosbarth yn y bôn templed ar gyfer gwrthrych. Ac yn enghraifft yn y bôn un gwrthrych penodol. Gadewch i ni ddweud eich bod yn gwneud cwci. Yn yr achos hwn, mae pob un cwci i chi mewn gwirionedd yn y pen draw yn mynd i fod gwrthrych. Ond mae'r plât cwci ydych yn ei ddefnyddio i bobi bydd yr holl gwcis fod yn ddosbarth. Dosbarth yn y bôn templed. A bydd y lle yn un benodol gwrthrych a grëwyd allan o'r dosbarth hwnnw. A bydd yn enghraifft yn cael ei greu yn seiliedig ar ddatganiad y dosbarth, gan y byddwn yn gweld yn nes ymlaen sleidiau. Felly, gadewch i ni ei wneud mewn gwirionedd yn wir yn enghraifft cyflym [Anghlywadwy]. Lets 'ddeud ein bod yn datgan gwrthrych am gath. Dylai'r gwrthrych have-- y dosbarth gath dylai cael rhywfaint o eiddo a dulliau. Pa fath o eiddo pe bai'r dosbarth have-- dylai'r gath gael? Er enghraifft, lliw, oedran a brid, y rhai fydd newidynnau sy'n yn benodol i bob cath. A'r rhai rai pethau a ddefnyddiwn i ddisgrifio cath. Pa fath o ddull, neu yr hyn y gall gath ei wneud? Byddai rhai enghreifftiau cyflym fod yn hela llygoden, yn bwyta pysgod neu dim ond Meow. Mae hwn yn wir yn gyflym Enghraifft o ddosbarth gath. Ac mae wir yn benodol Bydd gwrthrych cath fod yn gath lle rydym yn pennu'r lliw, oedran a brîd. Yn yr achos hwnnw, mae ein nod yw mwyach dosbarth anymore. Rydym yn copïo templed o'r dosbarth a rydym yn nodi pob gwybodaeth benodol at y gwrthrych penodol i'w wneud yn annibynnol. A phan ydych yn ffonio dull y tu mewn gwrthrych, 'ch jyst yn galw Meow ar y gwrthrych, sef y gath ydych newydd ei greu. Mwy na thebyg y byddwch yn argraffu rhywbeth fel "Helo Byd! Meow. " 'N bert' n giwt. Mae pob hawl, gadewch i ni yn unig fynd i mewn rhai manylion a gweld beth yn union yn gwneud hynny cyfieithu i fodolaeth rhaglennu iOS. Felly, yn iOS rhaglennu pob un Bydd y dosbarth yn cael ei rhoi ar waith mewn dwy ffeiliau. Un ffeil yma, a oedd yn yn cael ei alw'n y rhyngwyneb. Ffeil arall yma, a oedd yn yn cael ei alw'n waith. Fel arfer y rhyngwyneb Bydd yn rhaid i extension.h fel y gwelsom mewn llyfrgelloedd C. Ac ffeil weithredu'n mynd i gael extension.n. Mae'n fath o 'n annaearol. Ond .n yn golygu mewn gwirionedd .c, nid oes unrhyw gwahaniaeth sylfaenol rhwng y rheiny dau. Felly, yn yr achos hwn, gallwn weld ein bod datgan rhyngwyneb, Cat: gwrthrych. Gelwir sy'n cael ei etifeddiaeth. Rydym yn y bôn etifeddu Dosbarth cath o'r dosbarth gwrthrych. Felly pob eiddo a dull a oedd ddiffiniwyd yn flaenorol yn y dosbarth gwrthrych Bydd eu diffinio yn awtomatig mewn dosbarth cath hefyd. Yn ogystal â hynny, rydym yn diffinio lliw, brîd, ac oedran, tri newidyn. Sydd mewn gwirionedd yn edrych fel rhywbeth yr ydych wedi ei wneud o'r blaen. Mae'n edrych fel struct. Yw hynny yn y bôn y gystrawen am ddatganiad struct, ac mae hynny'n hollol gywir. Ac ers i mi grybwyll o'r blaen, y gwahaniaeth yn struct a gwrthrych, un o'r gwahaniaethau sylfaenol yw bod gwrthrych yn cael ddull, a dim ond mae gan struct newidynnau. Felly, yn ychwanegol at yr eiddo neu newidynnau rydym wedi ei greu ar gyfer y gwrthrych, rydym yn pennu rhyw ddull. Gadewch i ni ddweud yma rydym wedi ddau ddull, mae un yn Meow, un arall yw llygoden helfa. Rydym yn ôl pob tebyg am fod yn pasio seiliedig ar ein dull blaenorol paramedr patrwm datganiad. Mae'n debyg y byddwch eisiau bod yn mynd heibio llygoden. Ac mae'n debyg y byddwch eisiau i ddychwelyd dynodi bool os oes gan eich cath wedi llwyddo i dal y llygoden neu beidio. Mae hyn yn y rhyngwyneb, ond gallwn gweld bod y rhyngwyneb gwirionedd nid yw'n gwneud unrhyw beth. 'I jyst yn dweud rhaglen pa exists-- hyn sydd yn y dosbarth gath. Felly, er mwyn i'r Rhaglen i wneud rhywbeth, mae angen i ni gael ffeiliau ar waith. Felly dyma, y ​​peth cyntaf a wnawn yn yn amlwg rydym yn mewnforio y rhyngwyneb. Ar ôl rydym yn mewnforio y rhyngwyneb, rydym yn diffinio dull. Gadewch i ni ddweud yma Meow Byddai dim ond argraffu "Helo Byd!" at y consol. Ac ar ôl y gweithredu ffeil, rydym yn ei wneud 'n bert lawer. Mae hwn yn y bôn yn ddosbarth datganiad ar gyfer un dosbarth. Felly, yn awr y cwestiwn yn dod, sut ydych chi'n datgan newidyn? Mae'r ffordd yr ydych yn defnyddio dosbarth i greu gwrthrych yn Amcan C ei ysgrifennu yma. Rydych yn gyntaf yn pennu bod mae hwn yn pwyntydd gath, oherwydd bod pob gwrthrych yn Amcan C yn cael ei weithredu yn olaf fel pwyntydd. Ac byddwch yn ffonio y dosbarth, yn eu galw'n fel alloc, sydd yn y bôn malloc, dweud wrth y system weithredu yr ydych angen rhywfaint o le cof ar gyfer gwrthrych hwn. Ar ôl hynny mae gennych gwrthrych yn barod ac rydych jyst ymgychwyn iddo. Mae hyn yn unig confensiwn. Dwi'n gwybod ei fod yn ychydig bach yn od, ond mae hyn mewn gwirionedd sut Apple yn gwneud pethau. Pennu eiddo yn cael ei mewn gwirionedd yn eithaf syml. Mae'n debyg iawn i yr hyn yr ydych chi'n ei wneud pan eich bod yn neilltuo rhywfaint penodol maes tu mewn struct. Rydych yn unig yn cael y newidyn enw, yr enw eiddo, ac aseinio gwerth penodol iddo. Ac yn galw dull yn debyg iawn. Mae'r galw dull yn yn y bôn yr hyn yr wyf yn siarad am ar gyfer galw unrhyw ddull yn Amcan C. Rydych chi'n pasio gwrthrych, yn yr achos hwn, mae'n mynd i fod yn myCat, ac rydych yn mynd heibio i'r enw dull. Fel os ydych yn siarad â'r gwrthrych, myCat, y dylech Meow. Mae'n eithaf diddorol. Ar ôl hynny, mae un patrwm dylunio yn fwy hanfodol bod angen i ni siarad am cyn cyrraedd gwirioneddol S cod. Yn cael ei alw'n hwnnw patrwm dylunio a yrrir gan ddigwyddiad rhaglennu. Mae hyn hefyd yn ôl pob tebyg yn un o'r rhai mwyaf syniadau sylfaenol mewn rhaglenni iOS. Felly, rydych nid yn ôl pob tebyg yn gwybod beth yn union yw'r rhaglennu a yrrir gan ddigwyddiad, ond nid yw'n wir bod brawychus. Wel mewn gwirionedd, mae gennych gwneud hynny o'r blaen yn barod. Mae hwn yn un o'r llinellau eich bod wedi yn ôl pob tebyg ysgrifennwyd eisoes yn y diwethaf [Anghlywadwy] o CS50, google.maps.event.addListener (marciwr, "Cliciwch", swyddogaeth () {}) :. Trwy ffonio llinell hon rydych yn yn y bôn dweud wrth y cyfrifiadur bod pryd bynnag y digwyddiad o'r enw "Cliciwch" yn digwydd ar y marciwr, Defnyddiwch y swyddogaeth honno. Mae hyn yn wahanol iawn i yr hyn yr ydych yn ei wneud yn mario.c. Yn mario.c 'ch jyst yn rhedeg y rhaglen unwaith, mae'n rhoi allbwn i chi, ac rydych yn ei wneud. Mae'r rhain yn fath o fel un o raglenni ergyd. Rhaglenni a yrrir Digwyddiad yn iawn, yn wahanol iawn. Gadewch i ni ddychmygu, os yw Facebook yn un Rhaglen ergyd nid yw'n wir yn dda. Rydych yn jyst yn mynd i Facebook unwaith ac mae'n ei wneud. Mae'n rhoi rhywfaint o allbwn i chi ac yr ydych byth yn mynd yn ôl. Dydych chi byth yn cael unrhyw beth mwy. Felly dyma, yn enwedig patrwm a ddefnyddiwn yw a yrrir gan ddigwyddiad, fel bod pob swyddogaeth fydd gael eu dal yn seiliedig ar yr hyn y digwyddiad wedi digwydd. Er enghraifft, os oes gennym botwm ac rydym yn nodi bod pryd bynnag y botwm yn clicio, ffoniwch y swyddogaeth o'r enw "Helo Byd!" Fel hynny gallwn mewn gwirionedd rheoli'r rhesymeg swyddogaeth llifo mewn ffordd hynod o hyblyg. Gall y defnyddiwr ei wneud neu ffoniwch swyddogaeth sydd eisoes wedi cael ei alw. Mae wedi seilio yn gyfan gwbl ar yr hyn y defnyddwyr yn ei wneud. Felly, gallwn weld bod hyn yn mewn gwirionedd yn llawer gwell nag mario.c. Ac mae newyddion da yw ei fod yn mewn gwirionedd nid yn gysyniad newydd. Rydych guys wedi gwneud yn barod fod yn broblem diwethaf a osodwyd. Felly, yn Amcan C ceir tri diagramau gwahanol ar gyfer rhaglenni a yrrir gan ddigwyddiad. Mae'r diagram cyntaf yw Gelwir gweithredu targed, lle rydych yn rhwymo botwm wasg gyda rhywfaint o swyddogaeth. Gadewch i ni ddweud, pryd bynnag y byddwch glicio rhywfaint o botwm, byddwch yn ffonio rhywfaint o swyddogaeth. Mae hwn yn gweithredu ar darged syml iawn. Yr ail un yn mewn gwirionedd yr un anoddaf, fe'i gelwir dirprwyo ar protocol. Rydym yn mynd i egluro bod yn fanwl iawn yn nes ymlaen. A'r trydydd ffordd yw hysbysu. Nid yw hyn mewn gwirionedd bwysig iawn cyn belled gan ein bod yn y cwestiwn, gan fod y cyfle eich bod yn mynd i ddefnyddio hysbysiad yn eich prosiect terfynol yn eithaf isel. Felly, rydym yn mynd i neidio y rhan honno. Ac rydym yn mynd i ddeifio i ddirprwyo ar brotocol. Felly, beth yn union yw protocol? Neu beth yn union yw dirprwyo? Gadewch i ni siarad am brotocol i ddechrau. Protocolau yn ddim ond digwyddiadau. Ond mae digwyddiadau hyn yn cael eu rhoi i chi gan Apple i ddechrau. Er enghraifft, dydw i ddim hollol siwr faint ohonoch chi guys yn defnyddio Afalau 'gwreiddiol app bost neu gyswllt, ond bob tro y byddwch yn sgrolio i'r bwrdd a phwyswch y gell penodol ar y bwrdd, hynny yw digwyddiad. Ac os ydych chi am ei wneud y digwyddiad hwnnw gan eich hun, 'i' mewn gwirionedd ychydig yn anodd. Felly Apple wedi rhoi hyd yn oed i chi fel y gallwch jyst yn uniongyrchol ddefnyddio y digwyddiad i wneud rhywbeth ar eich pen eich hun. Protocolau mewn gwirionedd mewn gwirionedd, a ddefnyddir yn eang mewn gwirionedd yn Amcan C. Well mewn wir, pob un app Mae rhywbeth dal cynrychiolydd app. Y tu mewn o cain yw pob un o'r protocolau ar gyfer llwytho'r app. Gadewch i ni ddweud nad oes digwyddiad ar gyfer app wnaeth llwyth. Felly beth ddylai ddigwydd ar ôl i chi creu app, ar ôl i chi agor y app, ar ôl i chi gau'r app, neu ar ôl byddwch yn rhoi yr iPhone i gysgu. Mae'r rhain i gyd yn ddigwyddiadau sydd wedi eisoes wedi'i rhoi i chi. Ac yn wreiddiol y tu mewn gronynnau hyn ni fydd unrhyw waith. Apple jyst dweud wrthych fod y swyddogaeth hon fydd yn digwydd pan fydd rhyw ddigwyddiad yn digwydd, ond yr hyn yr ydych yn ei wneud â hynny swyddogaeth yn hollol i fyny i chi. Dirprwyo yn y bôn yn dweud wrth y dosbarth y dylech drin protocolau hyn. Mae'n ychydig bach ddryslyd, ond bydd yn llawer cliriach pan rydym yn ei wneud y codau s ar waith. Dirprwyo ar brotocol mewn gwirionedd yn mecanwaith cadarn iawn yn yr ystyr os ydym yn ei wneud dirprwyo i ddosbarth penodol, gallwn ni ei hanfod drin pob math o ddigwyddiadau gan ddefnyddio unrhyw ddosbarth gennym, offeryn gyfleus iawn. Felly, un enghraifft cyflym ar gyfer dirprwyo ar brotocol yn hyn yr wyf newydd sôn am. Mae'r protocol hwn yn cael ei alw'n benodol tableview [Anghlywadwy] rôl dewiswch yn [? mynegai?] [? gorffennol. ?] Felly mae hwn Digwyddiad a fyddai'n cael ei ddal pan fyddwch yn mewn gwirionedd tap ar penodol cell yn eich tableview, gadewch i ni dim ond dweud wrth eich post neu yn eich cysylltiadau app. Y tu mewn swyddogaeth, roedd yn wreiddiol gwneud dim. Nid yw'r swyddogaeth gwneud gwneud unrhyw beth yn ddiofyn. Ond gallwch nodi yr hyn y mae'r swyddogaeth yn ei wneud, o ystyried yr hyn yr ydych am ei gael o'ch app. Offeryn gyfleus iawn. A chyda phob hwnnw cael ei ddweud, yr wyf yn y bôn cynnwys rhai cystrawennau sylfaenol iawn ac cysyniad sylfaenol ar gyfer Amcan C rhaglennu, a gallwn wneud rhywfaint o s cod. Llawer mwy cyffrous. Felly s cod mewn gwirionedd yn ychydig yn llethol pan fyddwch yn agor am y tro cyntaf. Un nodyn gyflym, felly os ydych am ei wneud datblygu iOS, Fi 'n dal argymell gennych Mac. Oherwydd wneud datblygiad iOS ar Ffenestri yn wirioneddol, yn galed iawn. Mae'n modd ei wneud, ond mae'n anodd iawn. A ydych yn bendant yn ei wneud Nid yw am ddefnyddio g golygu. Felly, yn s cod gennym sawl maes gwahanol. Pan fyddwch yn agor i fyny yn gyntaf s cod byddwch yn gweld man llywio, sydd yn y bôn yn dangos i chi i gyd y ffeiliau sydd yn eich prosiect ar hyn o bryd. Mae gennych ardal bar offer, a oedd yn yn rheoli golygfeydd yn y bôn, neu ryw ychydig cyflym offer am s cod ei hun. Ac mae hyn yn ardal y golygydd ei hun. Mae'r ardal hon yn g golygu debyg iawn, ond yn llawer gwell na g golygu. Ac yn yr ardal hon yn iawn, yw Gelwir yr ardal cyfleustodau. Mae'r ardal yn dod yn wir yn handi pan rydych yn creu rhyngwyneb neu gan nodi rhai setups cyflym ar gyfer eich app. Ac mae'r ardal olaf yw'r debugging. Mae'r ardal hon yn cynnwys y consol. Felly, pryd bynnag y byddwch yn dweud printf, neu nslog yn ein hachos ni, eich holl canlyniadau'n mynd i gael eu hargraffu yma. Mae pob hawl? Amcana gallwn ni wir yn ei wneud yn gyflym enghraifft ar gyfer rhaglennu iOS. A gadewch i ni mewn gwirionedd yn agor i fyny s cod. Felly, bob tro y byddwch yn agor i fyny s cod, mae'n mynd i ddangos i fyny rhywbeth fel 'na. Mae'n mynd i ofyn i chi beth ydych chi eisiau ei wneud? A ydych am ddechrau rhywbeth ar hap, maes chwarae, yn y bôn i chi Gall jyst brofi cod heb mewn gwirionedd yn ymrwymo i unrhyw app. Ydych chi am greu prosiect newydd? Neu ydych chi am barhau gweithio ar y prosiect presennol? Yn ein hachos rydym yn mynd er mwyn creu prosiect newydd. Felly mae'n neis iawn, s cod gwirionedd eisoes o ystyried rhai templedi i chi ar gyfer creu gwrthrychau. Os ydych am wneud gêm, s cod mewn gwirionedd mae gan templed gêm i chi, Mae ceisiadau sy'n seiliedig dudalen, cais yn seiliedig tab. Yn yr achos hwn, rydym yn mynd i wneud rhywbeth syml iawn, ac rydym yn mynd i ddefnyddio Cais golwg sengl. Ar ôl hynny yn union beth rydych am ei alw eich cynnyrch, a beth yw eich enw, beth yw eich dynodwr, a pa iaith ydych chi'n ei ddefnyddio. Yma nid ydym am i gwirio gan ddefnyddio Data Craidd. Yw Data Craidd y bôn yn databasing iOS. Os byddwch yn gwneud Data Craidd, s cod yn mynd i ddiffinio llawer o ddosbarthiadau yn fwy cymhleth i chi. Felly, i gadw popeth yn syml, rydym yn jyst yn mynd i wneud heb Data Craidd ar hyn o bryd. Y broblem rydym yn mynd i fod yn gan ddefnyddio'r yw that-- y broblem rydym yn mynd i fod yn creu yw ein bod yn yn y bôn eisiau mewnforio Mario o C i app iOS. Felly, gadewch i ni alw fod Mario-iOS. Wrth gwrs eich bod yn nodi hyn yr ydych yn awyddus i roi yn eich prosiect. Ac dyna ni. Felly mae hyn yn ychydig bach llethol, ond mae hyn yn mewn gwirionedd yr hyn yr ydym jyst yn gweld ar y sleidiau. Ac yr ardal gyntaf a welwn ar hyn o bryd yn y bôn ffurfweddiad prosiect. Felly popeth yr ydych am ei wneud prosiect, pa fath o ddyfais, gadewch i ni dim ond dweud pa fath o ddyfais ydych chi eisiau eich app i ymddangos ar? A yw'n iPhone, iPad neu gyffredinol? Felly cyfeiriadedd ddyfais, holl bethau hyn. Ddim yn bwysig iawn, ond gallai fod, ond mae hyn yn fan lle rydych sefydlu eich prosiect os ydych mewn gwirionedd yn awyddus i ddefnyddio i'r siop Apple. Mae pob hawl, gadewch i ni edrych ar rhywbeth sy'n y tu mewn i'n cod. Gadewch i ni fynd drwy'r llywiwr ffeil. A dyma sydd eisoes yn holl ffeiliau ddaeth gyda'r templed, neis iawn. Felly, pan fyddwn yn clicio un ohonynt mae hyn yn beth mae'n edrych. Debyg iawn i g golygu. Ond gallwch weld bod y amlygu cystrawen yn ôl pob tebyg ychydig yn brafiach. Ac mae'n mewn gwirionedd yn llawer mwy pwerus na g golygu. Ac gallwch auto cyflawn llawer o bethau i chi, gan y byddwn yn gweld yn gyflym iawn. Gadewch i ni agor y maes debugging hefyd. Mae pob hawl, fel y gallwn weld, y consol yn iawn yma. Mae hyn yn yr hyn yr ydych chi'n mynd i weld lle ydych chi yn printf neu nsloging rhywbeth. Felly, heb ado pellach, gadewch i ni mewn gwirionedd lunio'r app a gweld beth sy'n digwydd. Un nodwedd hanfodol ar gyfer s cod, yw bod s cod hon gyda efelychydd iPhone. Felly nid oes angen i chi gael iPhone i roi cynnig ar eich prosiect, Gall s cod efelychu hynny ar gyfer chi, fel y gallwn weld ar hyn o bryd. Mae'n eithaf 'n glws. Mae wedi cymryd ychydig ychydig o amser i lunio ac yn y bôn mae gennym cais gwag, sydd mewn gwirionedd yn gwneud dim. Ond mae'n llunio. Mae'n eithaf anhygoel. Mae'n llawer gwell na C, huh? Mae pob hawl, yna gadewch i ni ceisio ychwanegu rhywbeth. Un ffeil sy'n ychydig bach yn cael ei alw'n 'n annaearol yma bwrdd stori. Mae hyn mewn gwirionedd yn wych, nodwedd wych ar gyfer y cod. Oherwydd yn s cod, gallwch mewn gwirionedd yn llusgo a gollwng elfennau ar y rhyngwyneb a bydd yn dangos i fyny yn uniongyrchol. Gadewch i ni geisio hynny. Rydym yn galw heibio label yma, "Helo Byd !!!" Gallwn canolfan hynny. 'N bert oera. Nawr, gadewch i ni redeg stop hon efelychiad. Yma rydym wedi "Helo Byd !!!" Doedden ni ddim hyd yn oed yn gwneud unrhyw codio eto. Yr hyn y mae'r Heck sy'n digwydd? Dyma sut bwerus Gall Rhyngwyneb Adeiladwr fod. Dywedodd rhywun hyd yn oed fod yn ôl pob tebyg y gallwch yn unig cwblhau app heb ysgrifennu yn ôl pob tebyg i fil o linellau o god dim ond drwy ddefnyddio'r Rhyngwyneb Builder. Ond mae'n debyg ei fod yn peidio y ffordd orau i wneud hynny. Nawr, gadewch i ni mewn gwirionedd yn cael i lawr i godio. Felly mae'r strwythur ar gyfer y ffeil mewn gwirionedd yn ddiddorol iawn oherwydd, fel y gwelwch, mae dim brif swyddogaeth yn unrhyw le. Gweler? Fel y crybwyllwyd o'r blaen, gallwch weld bod hyn hon ar ffurf ffeil gweithredu ar gyfer dosbarth penodol. Ond nid oes unrhyw brif unrhyw le. Felly, lle mae prif? A dweud y gwir, mae yna brif, ond mae'r prif yn cael ei guddio mewn gwirionedd oddi wrthych. Y prif yma. Mae hynny'n edrych yn gyfarwydd. Felly y bôn yr hyn iOS yn ei wneud y tu mewn prif yw bod pryd bynnag prif yw Gelwir, sydd yn y bôn pryd bynnag y app ei gyflawni, mae'n creu gwrthrych a elwir yn AppDelegate. Fel y soniais o'r blaen, mae'r cyfan app mewn gwirionedd gwrthrych ei ben ei hun. Felly, yn y modd hwn, yn y bôn mae'r iOS app yn dweud wrth y compiler hynny OK, dw i'n mynd i greu cynnyrch o'r enw AppDelegate, a bod yn mynd i fod fy app. Felly mae angen i chi fynd drwy'r AppDelegate a gweld beth y boi ei wneud. Mae fy swydd yn cael ei wneud i mi. Ac yn AppDelegate gallwch weld bod mae yna rai swyddogaethau 'n sylweddol' n annaearol, yn dda mewn gwirionedd ddulliau, bod Apple eisoes wedi rhoi i chi. Beth yw'r rhain? Mae'r rhain mewn gwirionedd protocolau unig yr oeddwn yn sôn amdano. Felly, mae'r rhain yn ddigwyddiadau sy'n Apple wedi rhoi i chi i ddechrau. Nid oes dim yn rhai o'r swyddogaethau hyn o bryd, ond os ydym am ymgychwyn rhywbeth ar gyfer ein app cyn mynd i arddangos unrhyw farn, yr ydym yn gwneud hynny yma. Alli jyst ddarllen enw a wyf yn dyfalu y digwyddiad mewn gwirionedd mewn gwirionedd glir. Felly nawr main wedi creu gwrthrych am AppDelegate. A beth AppDelegate yn mynd i'w wneud mewn gwirionedd yn cuddio hefyd oddi wrthych. Mae'r AppDelegate yn mynd i ddechrau llwytho y stoc ViewController. Felly, mae'n bôn mynd i ddechrau llwytho i fyny yr holl safbwyntiau sydd gennych a dim ond gwneud yr olygfa yn seiliedig ar yr hierarchaeth. Felly, yn yr achos hwn mai dim ond un farn, sydd yn fan hyn. Felly dyna yw'r unig olygfa mae hynny'n mynd i gael ei alw. Mae'r rhesymeg ViewController yn iawn yma. Mae hyn yn y cod sydd mewn gwirionedd rheoli'r barn ni jyst yn gweld. Mae pob hawl, gadewch i ni wneud rhywbeth yma. Felly viewDidLoad swnio fel digwyddiad, pan, mewn gwirionedd mae hyn hefyd yn gynrychiolydd, mae hwn yn protocol hefyd. Felly, beth bynnag y farn yn cael ei lwytho, popeth y tu mewn i'r swyddogaeth Bydd yn cael ei alw. Yn yr achos hwn y dylem weld "Helo Tianyu! "Os ydym yn rhedeg y rhaglen. Mae'n mynd yn ychydig bach yn araf llunio ffeiliau bwrdd stori. Wel wir, rydym yn gweld allbwn ar ei gyfer. Mae'n eithaf oer. Nawr, gadewch i ni ei wneud mewn gwirionedd Mario. Rydw i'n mynd i ddiffinio'r gweithredu'n gyflym iawn. marioWithLevels: canlyniadau (int) lefel. Mae pob hawl, mae hyn mewn gwirionedd yr anhygoel nodwedd s cod cwblhau auto. Felly, pan fyddwch yn ysgrifennu ar gyfer ac yn mynd i mewn deipio, mae eisoes wedi rhoi'r ffidil yn y templed i chi, sydd yn eithaf oer. Dylai hynny edrych yn gyfarwydd i chi guys. Mae'n ddrwg gennym, dyna fy mai. Mae pob hawl, oer. Y dylai rhesymeg edrych yn gyfarwydd i chi guys, yn enwedig yn unig Mario. Ond byddwn yn awr yn argraffu i y consol bob tro, am ein bod yn awyddus i gadw rhywsut golwg ar yr hyn yr ydym yn ei argraffu. Rydym yn mynd i ddefnyddio'r Canlyniadau rhywsut yn ddiweddarach, i arddangos y print allan yn arwain at y defnyddiwr. Felly, yn lle hynny rydym yn unig nslogging popeth, yr ydym yn storio popeth i mewn canlyniad swyddogaeth galwad, ond mae'r rhesymeg yn union yr un fath. Ar ôl i ni orffen, rydym yn dim ond argraffu ein canlyniadau. Ac yma yn lle argraffu fy enw, rydyn ni'n mynd i alw swyddogaeth. Gadewch i ni weld beth sy'n digwydd. Wps, yn amlwg. Mae gennym neis Ychydig pyramid allan yma. Mae hyn yn y bôn C, rydym yn unig trin ble rydych yn ffonio swyddogaeth a sut mae swyddogaeth edrych. Does dim byd gwahanol. Ond mae hyn yn mewn gwirionedd Nid gyffrous iawn yma, oherwydd nid ydym yn gweld unrhyw beth o'r app iPhone. Felly os oes mewn gwirionedd yn cael iPhone app-- os ydych mewn gwirionedd yn cael Mario iOS hawl Erbyn hyn, nid ydych yn mynd i weld unrhyw beth sy'n Mae unrhyw beth i'w wneud â Mario oherwydd holl allbynnau hynny i gonsol yn cael eu cuddio oddi wrth ddefnyddiwr. Mae hyn yn yr hyn yr ydych yn gweld, sef "Helo Byd !!!" Ddim yn dda. Nawr gadewch i ni geisio gwneud i'r defnyddiwr weld beth yn union rydym yn argraffu. Felly nid oes angen i ni labelu anymore. Gadewch i ni geisio chyfrif i maes rhywbeth arall a allai fod yn ddefnyddiol. Mae yna mewn gwirionedd yn un elfen sy'n cael ei alw'n maes testun, a allai fod o gymorth mawr i ni. Mae'n bôn yn dangos rhanbarth o destun y gellir eu golygu. Felly mae hynny'n edrych yn ddefnyddiol iawn. Nawr, gadewch i ni lusgo a gollwng hi. Wow, mae gennym farn destun yn ein barn ni, mewn gwirionedd ffansi. Dyna ychydig yn rhy fawr. Gadewch i ni wneud yn llai. Rhowch ef i mewn i ganolfan. Ei gwneud yn llai hefyd. Nawr mae gennym farn testun, a oedd gallem yn cael ei ddefnyddio i arddangos ein canlyniad terfynol. Ond ar hyn o bryd mae'n yn bendant ddim yn mynd i weithio oherwydd bod no-- y ViewController rydym yn unig diffiniedig nid yw'n gwybod bod ceir golygfa destun i maes 'na. Felly mae angen i rhywsut cysylltu'r farn testun rydym yn unig a grëwyd gyda'r dosbarth hwnnw eisoes wedi dod gyda ni. Mae'r ffordd yr ydym yn gwneud hynny yn mewn gwirionedd yn wir yn hudol. Felly, agor i fyny bwrdd stori. Mae yna arbennig [Anghlywadwy] Gelwir [? cynorthwy-ydd?] [Anghlywadwy]. Pan fyddwch yn clicio hynny, 'i' mynd i agor dwy ffeil. Mae un yn ddosbarth ac mae'r un arall yn farn cyfatebol ar ei gyfer. Mae'n iawn, yn ddefnyddiol iawn. A gadewch i jyst yn mynd drwy'r ffeil .h. Rheolaeth, mae hyn yn [Anghlywadwy] rhesymeg. Rheoli Wasg a llusgo y Barn testun i mewn i'r datganiad. Rydym yn mynd i alw hwnnw outputView. Cysylltu. Felly dyma ni wedi datgan newydd eiddo ar gyfer ein dosbarth ViewController. A'r eiddo newydd Dim ond y farn testun rydym wedi creu yn yr adeilad rhyngwyneb. Felly, yn y modd hwnnw gallem mynediad i'r data i gyd ac yn trin popeth sydd yn y tu mewn y farn allbwn, sydd yn awesome. Felly, yn ein cod gwirioneddol, gadewch i ni wneud rhywbeth ag ef. Felly, y tro hwn pan fyddwn yn hoffi argraffu allan y canlyniad terfynol ar gyfer Mario, ein bod mewn beidio logio unrhyw beth. Yr wyf yn golygu y gallem gadw y datganiad logio. Yn ogystal â hynny, rydym yn anfon y allddarlleniad rydym yn unig a grëwyd i farn allbwn, a oedd yn yn UI textview ydym newydd ei greu. Nawr, gadewch i ni weld beth sy'n digwydd. Wow. Mae gennym pyramid yn y app ar hyn o bryd. Felly, gall y defnyddiwr weld ein cynnyrch oherwydd bod rydym wedi copïo allbwn gan ein cod i'n rhyngwyneb. Mae'n eithaf da. Dyw hi ddim mewn gwirionedd bod gyffrous oherwydd ein bod can-- Mae'r holl app yn ei wneud yn cael ei yn dangos pyramid i chi, ac nid oes unrhyw beth y gallwch ei wneud am y peth. Dyw hi ddim yn arbennig o gyffrous. Felly nawr gadewch i ni wneud botwm a fydd yn clirio'r barn. Ymddangos y bydd botwm yn ddefnyddiol. Llusgwch a gollwng. Un botwm. Botwm dau. Felly, pan fyddwn yn clicio ar y chwith botwm, dylai'r farn glirio. Dylai fod dim byd ar y sgrin. A phan fyddwn yn clicio y botwm dde, Mario, y farn yn mynd i ymddangos eto. Felly, y ffordd hon rydym hefyd yn gwneud y pethau hud, rheolaeth a llusgo i'r datganiad dosbarth yn y director-- cynorthwyol yn y gwyliwr cynorthwyol. Yn yr achos hwn, rydym yn pennu'r y dylai hynny fod yn gweithredu. clearMario. Felly dyma ni eisoes wedi creu gweithred o'r enw clearMario, sef y dull a fyddai'n cael ei alw pryd bynnag yr ydym yn pwyswch y botwm glir. Felly, yn ein cod gwirionedd, gadewch i ni yn unig rhowch y testun allbwn a'r olygfa allbwn i mewn i unrhyw beth, a bod modd y bydd yn ymddangos i fod yn glir. Yn ogystal â hynny, gadewch i ni greu dull arall o'r enw runMario. Oh ddrwg gennym, ni ddylai hynny fod yn eiddo. Mae pob hawl, y dylai fod yn weithred hefyd. A phan yw'r swyddogaeth honno alw, rydym yn unig yn rhedeg Mario ddeg. Gobeithio y bydd hynny yn iawn. A yw'n llunio? Ydw. Nawr mae gennym farn. Mae gennym allbwn. A gadewch i ni dim ond yn gweld beth sy'n digwydd. Sydd wedi mynd. Mae'n ôl eto. Felly dyma ni wedi pennu pa fath o swyddogaeth Bydd yn cael ei alw pan rydym deipio i mewn rhywbeth, pan fyddwn yn pwyso botwm penodol. Mae hyn yn y bôn y Cynllun gweithredu targed ar gyfer y digwyddiad ei yrru rhaglennu yn Amcan C. Yn ogystal â hynny, nid yw'n gyffrous iawn oherwydd ni allwn mewn gwirionedd yn newid pa mor uchel y bydd y pyramid fod, felly mae'n debyg ein bod yn awyddus i rhywsut cael mewnbwn gan y defnyddiwr a newid uchder y pyramid yn seiliedig ar yr hyn y maent allbwn. Felly, rydym yn mynd i wneud hynny. Felly, y tro hwn pan fyddwn yn galw runMario, nid ydym yn unig yn galw Mario yn uniongyrchol. Teitl hwn yn un o. Cynrychiolydd. Mae hyn yn ddiddorol iawn. Beth yw cynrychiolydd? Rydw i'n mynd i roi hunan yma. Ac rydym yn mynd i weld beth y mae hynny'n ei olygu yn nes ymlaen. Felly dyma ni yn y bôn wedi creu enghraifft benodol a elwir yn rhybudd UI golwg. Golygfa rhybudd UI yw yn y bôn yr hyn byddwch yn gweld bob tro pops rhywbeth i fyny ac yn gofyn i chi am gyfrannu, fel beth fydd yn digwydd pan fyddwch yn ceisio i brynu rhywbeth ar siop app. Yn ogystal â hynny, ar ôl i chi greu, rydym yn unig yn dangos y rhybudd. Mae pob hawl, gadewch i ni dim ond yn gyflym prawf y bydd y gwaith hwnnw ai peidio. Mae hynny'n iawn oera. Nawr, gadewch i ni mewn gwirionedd yn creu maes mewnbwn gyfer y rhybudd UI. Dyma sut yr ydym yn gwneud hynny. A dylem gael mewnbwn barn am y rhybudd. Oer iawn. Gadewch i ni ddweud 10. Dyw hi ddim yn gwneud unrhyw beth yn iawn yn awr oherwydd yr alwad mewn gwirionedd Nid oedd yn newid am weithredu Mario. Felly, mae hyn wedi dod yn ychydig yn braidd yn rhyfedd gan fod pryd bynnag rydym yn pwyso botwm i lawr, pryd bynnag y byddwn bwyso botwm yn y farn effro, Dylai rhywbeth ddigwydd, ond nid yw'n digwydd. Sut ydym yn dal hynny? Sut rydym yn gwybod bod defnyddiwr wedi gwrthod barn rhybudd ac eisoes aeth nifer, gan fod ar hyn o bryd nid oes dim sy'n digwydd mewn gwirionedd. Wel, efallai y byddwch wedi dyfalu yn iawn, dirprwyo. Felly, yn ychwanegol at yr holl datganiadau hyn, mae angen i ni ychwanegu dirprwyaeth newydd ei enw UI barn effro cynrychiolydd. Er mwyn i bob un rhyngweithio neu ddigwyddiad ein bod yn mynd i gael gyda'r bwriad rhybudd UI yn mynd i gael eu trin gan ein dosbarth yn ogystal. Felly, yn ychwanegol at hynny, bydd yn effro botwm golwg cliciwch ar mynegai. Mae hyn yn cael ei gyrraedd. Felly, yn yr achos hwnnw gennym already-- felly mae gennym darganfod protocol hwnnw Bydd yn trin y digwyddiad pan rydym yn cliciwch y botwm Done ar y farn rhybudd. Felly, bob tro yr ydym yn gwrthod yr Barn effro, dylai hyn ddigwydd. Gadewch i mi jyst brofi ei fod yn gyflym iawn. Wel wir, yr ydym wedi cyrraedd yma. Felly dyma, yr hyn ni fyddwn yn mewn gwirionedd yn cael mewn gwirionedd cael the-- Felly rydym eisiau mynd allan y testun sydd gennym yn flaenorol gofnodi yn y golwg effro. Ac yn seiliedig ar destun, rydym yn mynd i arddangos Mario. Mae hyn yn gyflym iawn yn troi allan os yw'n mewn gwirionedd yn gweithio ai peidio. Felly, yn yr achos hwnnw, os ydym mewnbwn, gadewch i ni ddweud, 10, dylem weld 10. Da iawn, mae gennym rif yma. Mae'n eithaf da. Yn awr, bydd y cam olaf yn be-- Felly, y cam olaf mae angen i ni ei wneud ar hyn o bryd yn unig yw ffoniwch Mario gyda lefel ar sail y mewnbwn ein bod wedi rhoi i'r golwg effro. Felly mae angen i drosi llinyn hwn i iOS. Gorlif statig yn awesome iawn. Ac yna rydym yn unig yn galw hunan Gwerth marioWithLevels. Gadewch i ni weld y bydd y gweithio mewn gwirionedd ai peidio. Rydym eisoes yn rhoi pyramid. Gadewch i ni geisio newid y uchder. Mae hynny mewn gwirionedd yn gweithio. Mae'n eithaf oer. Felly, yn awr gallwch jyst mewnbwn unrhyw werth yr ydych ei eisiau. Gadewch i ni ddweud pedwar. Dyna 'n bert awesome. Felly, mae hyn yn y bôn enghraifft wirioneddol gyflym am sut i greu prosiect yn s cod a sut i gwifren yn gyflym iawn i fyny rhai digwyddiadau ac achlysuron 'n sylweddol syml. Felly mae'r ffynhonnell yn mynd gael ei roi ar-lein yn nes ymlaen. Felly, os oes gennych ddiddordeb yn y ffordd y iOS Mario yn gweithio, Rydw i'n mynd i roi union yr un fath prosiectau ar y wefan CS50 yn nes ymlaen. Rydym yn gwneud hyn yn y bôn â'r haf, ac cyn i ni orffen Fi jyst eisiau i bwynt chi guys i rhai adnoddau gwirioneddol anhygoel sy'n gael ar-lein. Yn amlwg y ddogfennaeth Apple yn mynd i fod yn ddefnyddiol iawn. Ond yn ychwanegol at hynny, yr wyf yn arbennig argymell pedair ffynhonnell, rhif yr ysgol, ty coeden, AppCoda a WWDC fideos. Ysgol Cod a ty coeden yn dwy wefan Addysgu ar-lein, sy'n canolbwyntio'n benodol ar beirianneg meddalwedd. Yn arbennig ar gyfer cod ysgol, wedi tiwtorial da iawn ar iOS. Mae hynny'n enghraifft wirioneddol gyflym ar ei gyfer. Maent mewn gwirionedd yn creu 'n sylweddol cute-- edrych ar yr iPhone bach cute dude dros yno, 'i' 'n bert awesome. A'r ffordd y maent yn egluro Amcan C cystrawen yn gwbl glir. Ty coeden yr un fath. A AppCoda yn fforwm. Mae'n mewn gwirionedd blog sy'n cael ei redeg gan profiadol wirioneddol Amcan C rhaglennydd. A'r holl tiwtorialau rhai yn AppCoda yn 'n bert fyr ac yn hawdd i'w gweithredu, Argymhellir yn gryf. Ac os ydych yn ddatblygwr, bendant yn mynd yn gwirio sut mae'r fideos WWDC lle y gallwch dysgu am y rhaglennu diweddaraf iOS technegau, APIs a llyfrgelloedd. Felly dyna 'n bert lawer ar gyfer y seminar. Diolch yn fawr i chi. Ac yr wyf yn gobeithio y byddwch yn cael hwyl creu eich app iOS hun.