RHED Shi: Croeso i gweler seminar CS50 - Cyflwyniad i iOS. Diolch i bawb am ddod. Yr wyf yn gobeithio eich bod yn yr un mor gyffrous fel yr wyf am iOS. Y llynedd, yr wyf yn cymryd CS50 fel sophomore, ac yr wyf yn y bôn dysgu iOS ar gyfer fy prosiect terfynol. Ac yr oedd yn eithaf - yn dda, nid oedd yn hawdd, ond mae llawer o gefnogaeth tiwtorialau ar-lein. Ac yr wyf yn wir yn gobeithio y byddwch, gyda'r seminar, 'n annhymerus' yn rhoi guys i chi pen yn dechrau ar ddatblygiad iOS Felly, o ran datblygiad iOS, mae dau brif bethau yr ydym eisiau i dalu am heddiw. Yn gyntaf, yr iaith - yr iaith yn mynd i fod yn Amcan-C. Byddwn mewn gwirionedd yn clywed rhywbeth gwirioneddol gyffrous. Felly, gallwch ymuno â'r Apple cyfan gymuned datblygwyr ac adeiladu rhai apps 'n sylweddol awesome. Hefyd, iOS 7 yn hardd, gobeithio, i rai ohonoch. Ond mae'n ddadleuol, rwy'n gwybod. Ac yn bennaf, yr hyn yr wyf am ei wneud yw ganllaw chi drwy Amcan-C, a hefyd Xcode, sef y integredig amgylchedd datblygu y byddwch yn gweithio mewn ar gyfer iOS. Ac felly, ond gair ar Amcan-C. Yn y bôn, mae'n yr union un fath ag C, ond gyda llawer o bethau eraill. Ac felly, yn fwy llym, mae'n mewn gwirionedd yn C. set-super Felly unrhyw beth sy'n eich yn gallu ei wneud yn C ar hyn o bryd, sydd yn yn y bôn yn hoffi pset 0 trwy 6, rydych yn yn gallu ei wneud yn Amcan-C. Felly, peidiwch â theimlo ofn am hyn newydd iaith eich bod yn mynd i ddysgu. Rydych eisoes wedi cynnwys llawer ohono, oherwydd eich bod i gyd wedi ei wneud C gorffennol mae hyn semester, ac eithrio nawr eich bod yn mynd i gael llawer mwy i weithio gyda nhw. Ac yr wyf i'n jyst yn mynd i eich arwain drwy ychydig o enghreifftiau i dynnu sylw at rai o'r gwahaniaethau allweddol yr wyf dod o hyd eu pan bwysig iawn i mi ddysgu Amcan-C y llynedd. Wel mewn gwirionedd, felly, y pwynt arall yw, Amcan-C yw, yn amlwg, gwrthwynebu-oriented. A byddwn yn trafod ychydig am yr hyn y mae hynny'n ei olygu yn nes ymlaen. Yn y bôn, mae fel sut yr ydych yn gweithio gyda structs yn y pset diwethaf, gyda nodau ac eraill tebyg pethau fel 'na. Ac eithrio, yn Amcan-C, mae popeth yn gwrthrych, a ydych yn mynd i fod yn pasio o gwmpas awgrymiadau i wrthrychau yn hytrach na'r gwerthoedd eu hunain. Felly, dim ond rhywbeth pwysig i gadw mewn cof. Felly, nid pam yr ydym yn dechrau gydag ychydig gwahaniaethau mewn cystrawen rhwng C ac Amcan-C? Yr wyf am dynnu sylw at y # cynnwys, byddwch yn gwybod, io.h safonol yn C a C + +, gyda y fersiwn Amcan-C o hynny, a yn # ei fewnforio, ac yna rhyw fath o ffeil flaen. Yn yr achos hwn, byddai'n UIKit, eich bod yn gwybod, slaes UIKit.h. Gallai hefyd fod yn, chi'n gwybod, MKMapview i chi dorri MKMapview.h os ydych am ei wneud, fel, map tu mewn eich app. Pethau tebyg fel 'na. Felly, y peth pwysig yw cynnwys bellach wedi newid i fewnforio. Ond mae'r syniad yn dal i fod. Rydych yn mynd i gael ei mewnforio rhyw fath o ffeil pennawd i mewn i'ch rhaglen. Yr wyf hefyd am dynnu sylw at y gwahaniaeth rhwng printf a NSLog. Fodd bynnag, fel y dywedasom yn gynharach, Amcan-C yn llym super-set o C, sy'n golygu bod printf yn bodoli yn Amcan-C, hefyd. Ond, nid yw'r rhan fwyaf o bobl yn defnyddio hynny. Mae'r rhan fwyaf o bobl yn defnyddio NSLog hwn oherwydd ei fod yn yn rhoi stamp amser i chi, a byddwn yn gweld yn gweithredu yn y dyfodol. Ond, yn gyffredinol mae'n fwy defnyddiol ffordd i argraffu newidynnau. Ac yr wyf hefyd am dynnu sylw at y NSLog yn cymryd yn yr un gwerthoedd dalfan fel printf yn ei wneud - felly% d yw cael int, % F ar gyfer fflôt. Fodd bynnag, yr wyf am dynnu sylw at hwn yr un olaf ei iawn - NSLog% yn arwydd - bod hon yn cadw'r gwrthrych. Ac fel y dywedais yn gynharach, yn delio Amcan-C 'n bert lawer yn bennaf mewn gwrthrychau, ac felly bydd hyn yn dod yn cael eu defnyddio pan fyddwch yn eisiau argraffu allan, efallai, efallai yn NSArray, neu NSDictionary, neu NSString. Felly, hefyd, yn sylwi bod, yn ein NSLog datganiad, mae gennym yn arwydd o flaen y dyfyniad - hynny yw arwyddo y llinynnau, yn awr, yn Amcan-C yn cael eu gwrthrychau. Nad ydynt bellach yn sêr yn syml torgoch. Maent yn wrthrychau ac maent yn eu trin fel y cyfryw. Felly, mae'n bwysig iawn pan ydych yn defnyddio NSLog mae'n ei gymryd mewn NS llinyn, sy'n golygu y bydd gennych i gynnwys yn o flaen eich dyfynodau. A dyna pam yr ydych yn gweld, yma, ym mhob un o'r fy swyddogaeth galwadau i NSLog hwn, yr wyf yn gael ar o flaen y dyfyniadau, hyd yn oed er bod y% d a% f yn yr holl yr un fath o C. Unrhyw gwestiynau hyd yn hyn? Byddaf yn ceisio i fynd drwy hyn yn gyflym, felly y gallwn gael mwy o amser i weithio gyda Xcode ac Amcan-C, felly y gallwch guys gael rhagor o yn gyfarwydd ag ef. Nesaf, yr wyf yn awyddus i dynnu sylw at rhywbeth gysyniadol bwysig. Felly, yn C, rhan fwyaf o bethau yn swyddogaethau. Rydym yn gwneud swyddogaeth galwadau. Rydym yn datgan swyddogaethau y modd hwn, gyda y ffurflen teipiwch gyntaf, yna bydd y enw swyddogaeth, cromfachau, ac yna beth bynnag dadleuon a'r math o dadleuon hyn, rydym am eu trosglwyddo i mewn Ac Amcan-C, gan fod popeth yn wrthrych neu ddosbarth - felly dosbarth a gwrthrych yn ddau termau y yn gyfystyr yn bennaf â'i gilydd, felly efallai y byddaf yn eu defnyddio yn gydgyfnewidiol drwy gydol y seminar. Ond, byddwch yn gweld bod gennym ddulliau Amcan-C yn hytrach na swyddogaethau. A dulliau perthyn i wrthrychau. Felly yn union fel, efallai cymryd er enghraifft, nod - ein math [Anghlywadwy] nod o pset 6 neu 5 - rydym yn cael y gair, eiddo, neu y pwyntydd nod nesaf. Dulliau yn syml swyddogaethau y tu mewn o ryw fath o strwythur. Felly, yn yr achos hwn, byddai'r strwythur yn y gwrthrych, ac yna mae'r dull yn rhywbeth sy'n perthyn i gwrthrych. A dyma sut y byddech yn datgan, math o, dull. Byddech yn dechrau gyda, unwaith eto, yr elw math - felly, yr wyf yn ceisio lliw cod y geiriau allweddol yn hyn er mwyn i chi guys yn gallu gweld y, o leiaf, fformatio tebygrwydd rhwng swyddogaeth datganiadau a datganiadau dull. Felly, byddwch yn dechrau gyda, chi'n gwybod, yn dychwelyd math - yn yr achos hwn, 'i' an array, neu mae pwyntydd NSArray - ac yna mae gennych y dull hwn. Ac yna, yr hyn sy'n ddiddorol yma yw bod yn hytrach na chael cromfachau, rydym yn cael colon hyn. Ac yna, o flaen ein dadleuon, rydym rhoi, unwaith eto, mewn cromfachau y math ein dadl. Felly, ar hyn o bryd Im 'yn ceisio gwneud y cymhariaeth rhwng, wyddoch chi, n ac rif, oherwydd eu bod yn ddau ints tebyg. Ac yna, mae'r un arall yn fath NSUInteger. Ac yna, ag Amcan-C, pan fyddwch yn am gael dadleuon lluosog mewn eich cymal dull, i chi, rhyw fath o, eu gwahanu allan fath o fel hyn - Dydw i ddim yn hollol siŵr sut i'w ddisgrifio, ond mae hyn yn enghraifft dda o sut yr ydych yn yn gallu cael dadleuon lluosog i mewn 'na. Gallech chi, wrth gwrs, dim ond yn llwyr anwybyddwch y colon andArray NSArray amrywiaeth os ydych eisiau dim ond dull sy'n cymryd mewn un ddadl. Ie, cwestiwn. GYNULLEIDFA: A ddau NSUInteger a Dadleuon NSArray y gellir eu cymryd yn o fewn y NSArray? RHED Shi: Ydw. Felly, gadewch i mi esbonio. Felly, ie. Felly, y cwestiwn oedd yn NSUInteger a NSArray * mathau o'r dadleuon, ac mae hynny'n gywir. Felly, yr ydych bob amser yn awyddus i nodi pa y math o eich dadl yw. Ac yma, Im 'yn ceisio eich cyflwyno i rai o'r gystrawen a geirfa o Amcan-C, felly y rhai yn fathau gwirioneddol y byddwch yn delio â hwy. Ac fel y byddwch yn sylwi, araeau nad ydynt mwyach, math o, pethau braced syml. Maent yn gwrthrychau. Er, os ydym yn mynd ymlaen i'r nesaf sleid, gallwn weld ein bod yn gallu caled-chod NSArray yn Amcan-C gyda syml, symbol ar o flaen y cromfachau. Dydw i ddim, mewn gwirionedd, yn eithaf siŵr a Yr wyf yn syntactically caled-godio arae yn gywir ar gyfer y fersiwn C, ond mae hynny'n i fod i fod mewn amrywiaeth C. Felly, dyma sut y byddech chi, eich bod yn gwybod, efallai defnyddiwch y swyddogaethau neu'r dulliau a grëwyd gennym yn gynharach. Iawn? Felly, dyma lle rydym yn datgan ein swyddogaeth a'n dull. Ac yn awr rydym am eu defnyddio mewn ein rhaglen, ac mae hyn yn sut y byddem yn ei wneud. Felly, yn C, byddai'n rhaid i chi, eich bod yn gwybod, efallai, bool b, a ydych yn gosod i gyfartal swyddogaeth, ac yna byddwch yn mynd heibio yn y dadleuon. Yn Amcan-C, 'i' 'n bert lawer yr un peth. Mae gennych NSArray * my_array, ac mae'n yn mynd i fod yn gyfartal - yn awr, yr unig gwahaniaeth yma yw y peth gwrthrych, yr wyf wedi tynnu sylw at mewn melyn, a fel y gwelwch, yn C, mae oes gair melyn arall. Ac mae'n oherwydd dulliau perthyn gyda gwrthrych penodol. Felly dyna pam mae angen i mi gael gwrthrych hynny, rhyw fath o, yn galw y dull hwn ar y rhif sero, ac yna y NSArray a, b, c, d. Unrhyw gwestiynau ar hynny? Byddwn yn gweld cysyniadau hyn ar waith 'n bert cyn bo hir pan fyddwn yn mynd i mewn i demo. OK. Yn awr, yr wyf am siarad ychydig yn fyr am Xcode 5, sef y amgylchedd datblygu integredig y byddwch yn gweithio gyda nhw. Yr wyf yn adnabod llawer o chi, neu rai ohonoch, Nid oes rhaid i Macs, sy'n broblem oherwydd nad Xcode ar gael ar gyfer Windows a PC. Peidiwch â gofyn i mi pam, ond mae'n debyg - yeah, corfforaethol. Beth bynnag. Ond beth bynnag, felly, yr wyf yn ymddiheuro os yw rhai o'r oes rhaid i chi lawrlwytho rhyw fath o beiriant rhithwir ar gyfer Mac yn Er mwyn ei redeg Xcode 5. Ond mae'n nifty 'n bert feddalwedd i'w ddefnyddio. Ac felly, cyn i ni yn plymio i mewn i unrhyw fath o demo, Fi jyst eisiau dangos i chi darlun o'r hyn Xcode yn edrych fel yn eich ffenestr, ac yna hefyd yn siarad am beth mae hyn yn gofod cyfan yn. Felly, mae'n fath o fel dysgu sut i defnyddio Microsoft Word, ac eithrio eich bod am cael ymgyfarwyddo â'r holl bethau gwahanol sy'n yn mynd ymlaen yma. Felly yn gyntaf, yr wyf am dynnu sylw chi i'r bar offer ar y brig. Byddwch yn gweld bod, ar y brig, byddwch yn cael enw'r ffeil - neu, mewn gwirionedd, enw eich prosiect ac yna eich enw ffeil. Cymerwch sylw o'r chwarae a y botymau stopio. Mae'r rhai yn y rhai y byddwch yn defnyddio i redeg eich app ar y efelychydd - efelychydd iOS. Mae hyn yn dod yn awtomatig gyda Xcode 5, felly nid oes rhaid i chi boeni am llwytho i lawr rhyw fath o efelychydd. 'Ch jyst pwyswch chwarae a yna mae'n rhedeg eich app. A gallwch chwarae o gwmpas gyda chi, a byddwch yn gweld sut mae'n gweithio yn ddiweddarach. Ac yna, yn y ganolfan, wrth gwrs, yw lle mae pob eich cod hardd yn mynd i fynd. Ac yna, ar yr ochr chwith, byddwch yn wedi hyn, rhyw fath o, ffolder - navigation - ac yna, byddwch hefyd yn gweld hynny, ynghyd gyda'r eicon ffolder, mae criw o eiconau eraill yno y Bydd yn ddefnyddiol yn nes ymlaen. Ac yna, ar yr ochr dde yn cyfleustodau maes lle gallwch weithio gyda rai o'r gwrthrychau a nodi, rydych yn yn gwybod, yr hyn y dylai'r lliw fod, beth dylai'r ffont testun fod yn, et cetera. Er, mae popeth yr ydych yn ei wneud yn yr ardal cyfleustodau, gallwch ei wneud mewn cod hefyd. Ac felly, byddaf yn mynd trwy ddwy enghreifftiau o ddefnyddio, yn syml, dim cod yn pawb - neu god fach iawn - penillion pob cod, dim ond er mwyn i chi guys yn gwybod beth y gallwch ac na allant ei wneud yn Xcode ac Amcan-C. Ac yna, yn olaf, i lawr ar y gwaelod, gennych yr ardal dadfygio. Felly, rhaid i chi mwyach i redeg GDB, et cetera, ar eich rhaglenni. Mae'n gwneud yn awtomatig ar eich cyfer. A gallwch hefyd argraffu pethau i'r ardal hon. Felly mewn gwirionedd, yn ddiweddarach, rydym yn bydd yn mynd drwy mario.c, os ydych yn guys yn dal i gofio hynny, yn Xcode. Felly dylai hynny fod yn hwyl. Ac yna, dim ond i ddod ag ef yn ôl i Amcan-C, yr wyf am dynnu sylw at yr hyn y gallwch ei wneud â hwy os ddatganiadau. Felly, chi'n gwybod, gan fod Amcan-C yn uwchset o C, popeth yr ydych yn ei wneud yw, llythrennol, yr un fath ag C. Rydych yn unig cael gwahaniaethau bach. Felly, byddwch yn sylwi ar y ffurflen ar gyfer os datganiad yn dal i fod yr un fath - mae gennych os, ac yna mae gennych cromfachau gyda amod tu mewn, ac yna braces cyrliog i beth bynnag yr ydych am ei wneud y tu mewn o yno. Fodd bynnag, yr wyf yn awyddus i roi sleid hyn i fyny yma, yn syml i ddangos hynny, oherwydd ein bod yn delio â gwrthrychau yn awr, bydd yn rhaid i ddefnyddio'r pethau hyn a elwir fel, yn hafal i linyn, sy'n yw, gyd-ddigwyddiad, dull o llinyn neu wrthrych NSString. Felly, gair, yn yr achos hwn, yn NSString gwrthwynebu, ac mae ganddo dull o'r enw yn cyfartal i linyn, ac yna rydym yn pasio mewn llinyn codau anodd gweld boed hynny yn gyfartal i un arall. Unrhyw gwestiynau hyd yn hyn? OK. Ac, yr wyf am fynd dros a ar gyfer datganiad hefyd. Felly, er enghraifft, os oeddem am ddolen dros hyd y llinyn yn C, mae hyn yn fod yn gyfarwydd i chi. Ac, yn Amcan-C, yr wyf yn dymuno i dynnu sylw at hyn, rhyw fath o, dull o'r enw cyfrif. Wel, mewn gwirionedd, gadewch i mi dim ond yn cymryd y cefn. Cyfrif yn ddull o amrywiaeth. Fodd bynnag, mae'n fwy penodol eiddo array, a dyna pam yr ydych yn gallu defnyddio'r dot nodiant. Ond dydw i ddim eisiau mynd i ormod o y pethau cysyniadol, Fi jyst eisiau i ddangos i chi sut y byddai pethau'n edrych fel yn Amcan-C yn erbyn C. A hefyd, yr wyf yn awyddus i nodi bod hyd yn oed er fy mod i wedi bod yn defnyddio NSUInteger o flaen yr holl fy i mewn Amcan-C, gallwch hefyd ddefnyddio int, oherwydd int yn hollol ddilys yn Amcan-C, hefyd. Ie? GYNULLEIDFA: Ai dim ond arddull, neu - RHED Shi: Yeah. Felly, fel y gwelwch - felly, y cwestiwn oedd yn bod dim ond mater arddull. Fel y byddwch yn gweld, Mae gen i, rhyw fath o, seren beth seren i lawr ar y gwaelod, ac y cyswllt yn mynd â chi i Stack Gorlif ffurfio, lle mae rhywun yn egluro y gwahaniaeth rhwng int yn NSInteger a NSUInteger. Ac felly, gallwch ddarllen am hynny yn nes ymlaen. Bydd y sleidiau fod, wrth gwrs, ar gael i chi. Gadewch i ni weld. OK, awesome. Felly, mae hyn hefyd yn cael ei gynnwys yn y sleid am fy mod yn meddwl bod hwn yn wych gwefan sy'n cyflwyno i chi i Amcan-C cystrawen. Felly, mewn gwirionedd, pam nad ydym yn symud i Chrome ac edrychwch ar y wefan hon? Iawn. Felly, yr hyn yr wyf yn awyddus i ddangos i chi guys yma yw y ddelwedd hon. Felly, mae hyn yn, rhyw fath o, yn mynd i fod yn beth ydych chi'n mynd i weld y tu mewn unrhyw Ffeil Xcode. A dweud y gwir, pam nad ydym yn unig yn cymryd hyn o bryd i, rhyw fath o, yn cymryd hyn i mewn Felly, mae'r llyfr hwn - dyna'r gwrthrych sy'n rydym yn delio â hwy. Ac yna, mae'n amlwg yn mynd i fod yn etifeddwyd oddi wrth ryw wrthrych arall, ond Nid oes rhaid i chi boeni am hynny. Ac yna, mae'n, efallai, mae gan rhai newidynnau aelodau. Y peth pwysig yr wyf am i ddangos i chi yw'r dulliau enghraifft, yma. Felly, mae dulliau enghraifft yn cael eu dynodi gan y arwydd minws. Ac yna, fel y byddwch yn sylwi, rydym yn eisoes yn dechrau gweld patrwm ar gyfer datganiad dull, dde? Y math dychwelyd, enw'r dull,, a yna bydd y math o ddadl, a yna enw'r y ddadl. Ac mae hyn yn arwydd minws yn golygu ei fod yn enghraifft dull, sy'n golygu bod dulliau hyn ond ar gael i gwrthrychau sydd wedi cael eu instantiated. Mewn cyferbyniad, dulliau gyda plws arwyddo o flaen ohonynt yn y dosbarth dulliau, sy'n golygu y gallwch ffonio dulliau hyn, hyd yn oed os nad oes gennych gwrthrych a grëwyd hyd yn hyn. Felly, er enghraifft glir, NSString yn ddosbarth. A gallwch ffonio, er enghraifft, dulliau dosbarth ar NSString - gwirioneddol, fel, gair NSString. Fodd bynnag, er mwyn defnyddio hyn dulliau, chi mewn gwirionedd angen i ni greu llinyn. Er enghraifft, llinyn seren NSString hafal i marc dyfyniad, helo byd. Ac yna, gallwch ddefnyddio'r dulliau hyn - dulliau enghraifft - ar y llinyn helo byd. Felly, dyna'r gwahaniaeth rhwng dulliau enghraifft a dulliau dosbarth. Ac, rydym yn unig yn cynnwys y rhan hon. Eiddo yn beth arall sy'n y tu mewn o wrthrychau, yn y bôn. Ac rydych yn eu datgan gyda y yn allweddair eiddo. Mae gennych yr opsiynau hyn, yma, y byddaf yn esbonio yn ddiweddarach pan rydym yn mynd i mewn i demo. Ie? Hi. GYNULLEIDFA: Allech chi chwyddo i mewn, os gwelwch yn dda? RHED Shi: O ie. Mae'n ddrwg gennym. GYNULLEIDFA: Diolch yn fawr. RHED Shi: Dylai hynny fod yn llawer gwell. GYNULLEIDFA: Yeah. Diolch yn fawr. RHED Shi: Yeah, os gwelwch yn dda fy atgoffa os Yr wyf yn anghofio i chwyddo i mewn neu chwyddo allan. Felly, mae hyn i gyd oeddwn i eisiau i ddangos i chi am - Whoa, mae hynny'n lot - gyfer y wefan hon. Felly, gadewch i ni fynd yn ôl at ein sleidiau. A dweud y gwir, nawr gadewch i ni gymryd eiliad i ddeifio i mewn i demo. Felly, byddwn yn dechrau gyda prosiect Xcode newydd. Felly, os byddwch yn agor Xcode ar bob un o'r eich peiriannau, dylai gymryd i chi rai dudalen lle mae'n dweud, fel, naill ai agored sefydlu prosiect presennol neu newydd prosiect, a dylech cliciwch prosiect newydd. Ac yna, dylid ei gymryd chi i sgrin hon. Ie? GYNULLEIDFA: Os nad oes gennym Mac, rydym yn unig fath o ymlacio? RHED Shi: Neu edrychwch ar gyda rhywun, yeah. Yeah. Gallwch ymlacio, hefyd. OK. Felly, yr hyn yr ydym yn mynd i'w wneud gyntaf, yn awr, yw, mewn gwirionedd, rydym yn mynd i wneud cais golwg sengl. Felly, os byddwch yn sylwi, beth sy'n wych am Xcode a chefnogaeth Apple ar gyfer datblygwyr yw bod gennych lawer o templedi i weithio â hwy eisoes. Gallech, er enghraifft, yn gwneud cais meistr manylion. Gallwch wneud gêm - ac mewn gwirionedd, ni fyddaf yn mynd i mewn i gemau, oherwydd gemau yn stori wahanol ar gyfer datblygu iOS. Ac maent yn fath o yn gwahanu, felly ni fyddaf yn mynd i mewn i hynny. Yna, rydych wedi seilio-dudalen ceisiadau. Mae gennych cais tab - felly yn ei hoffi, er enghraifft, Bank of America yn ôl pob tebyg wedi, fel, app Tabbed. Mae'n y rhai lle mae gennych y botymau ar y gwaelod. Ac yna, mae gennych gêm Kit Sprite. Neu gallwch weithio o'r dechrau, a oedd yn yw'r hyn y byddwn yn ei wneud yn nes ymlaen. Ond gadewch i ni, yn gyntaf, yn dechrau gyda cais golwg sengl. Yna, bydd yn gofyn am enw'r cynnyrch, a gallwn yn unig wneud prawf. Enw'r sefydliad - felly, enw eich sefydliad, dynodwr cwmni - hynny'n bwysig os ydych yn mynd i roi eich app ar y siop app. Heblaw am hynny, eich cod yn mynd i rhedeg hollol iawn heb hyn. Mae hyn yn mynd i fod yn bwysig os ydych yn ei eisiau - felly, fel y cyfryw, fel, rhowch eich app ar eich ffôn neu rywbeth, a phrofi allan, chi'n gwybod, mewn bywyd go iawn - bydd hyn yn bwysig. Mae hyn yn tueddu i fel arfer yn gysylltiedig â rhyw fath o gyfrif datblygwr gyda Apple. Ac felly, yr wyf yn gwybod, yn ôl pob tebyg, mae llawer ohonoch Ni fydd yn rhaid i unrhyw gyfrifon datblygwr. Yr wyf yn gwybod gan y brifysgol un. Yr wyf yn meddwl CS un. Ond, gallwch e-bost ataf a byddaf yn ceisio i ffigwr y allan i chi. Ond ar hyn o bryd, Fi jyst wedi rhoi rhai pethau dalfan yma. A gallwch, wrth gwrs, dyma, dewiswch p'un a ydych am iddo fod yn unig yn iPhone, iPad yn, neu'r ddau - cais cyffredinol. Felly, ar hyn o bryd, gadewch i ni wneud gyffredinol, dim ond i weld y ddwy ochr y llwyfan. Gadewch i ni weld. Felly, ar hyn o bryd, dw i'n mynd i achub mewn rhyw fath o ffolder. Nid yw'n ots lle - rydych bob amser yn gallu symud yn ddiweddarach. Ac, yn awr, yr ydym yn cael eu dwyn at ein prosiect Xcode. Fyddwn i ddim yn poeni am hyn oll. Byddwn yn awgrymu nad yw cyffwrdd unrhyw un o'r hyn, oni bai eich bod yn gwybod yn union beth rydych chi'n ei wneud. Felly, mae hyn oll, dim ond anwybyddu ar gyfer y rhan fwyaf. Ni fydd angen i chi ei gyffwrdd, ac os ydych yn a ydych yn llanast i fyny rai pethau yma, mae'n yn cael ychydig yn anodd. Felly, nid pam yr ydym yn edrych i mewn y ffeiliau ar y ar yr ochr chwith yn ein llywiwr. Yma, rydym wedi AppDelegate.h. Rydym wedi AppDelegate.m Felly, fel y chi helpu rhybudd, yr ydym wedi header ffeiliau, a oedd yn ben yn dot h, ac yr ydym wedi gweithredu - mewn gwirionedd, gadewch i mi chwyddo i mewn OK. Gadewch i mi chwyddo i mewn Iawn, felly yr ydych wedi header ffeiliau a oes gennych ffeiliau gweithredu. A dweud y gwir - OK. Mae hyn ychydig yn rhyfedd, ond yn amyneddgar gyda mi. Yna, oherwydd ein bod wedi dewis golwg unigol cais, rydym yn mynd i fod yn gweithio gyda bwrdd stori. Felly, bwrdd stori yn rhywbeth y Apple wedi dod o hyd i helpu mewn gwirionedd datblygwyr yn gyflym prototeip eu ceisiadau. Felly, dyma lle gallwch greu app heb ysgrifennu un llinell o god. Fodd bynnag, yn ein barn ni cais sengl, rydym yn ei wneud, wrth gwrs, yn cael ffeil ar gyfer ein barn ni, sy'n Barn rheolwr. Felly, mae gennym y pennawd a'r ffeil ar waith, yma. Ac, yr wyf i'n mynd i chwyddo allan yn awr oherwydd bydd angen i ni i weithio yn y bwrdd stori. Felly, dyma ein barn ni. Os ydym, yn syml, yn rhedeg y app ar hyn o bryd, nid oes llawer cyffrous yn digwydd. Felly, byddwch yn gweld y sgrîn gwyn. OK? Ac, yn ein hardal cyfleustodau, gallwn ychwanegu criw o bethau gwahanol iddo. Felly, pan fyddwch yn delio â sgriniau mewn iOS, gweld rheolwyr yw'r gwrthrychau sy'n crynhoi, math o, eich barn. Felly, barn rheolwr bob amser yn wedi eiddo o'r enw safbwynt. Ac farn honno, fel arfer, yn cynnwys, eich bod yn gwybod, yr hyn yr ydych am weld ar sgrin. Felly, yn dda, gadewch i ni dim ond dechrau drwy roi, efallai, efallai label. Felly, gadewch i ni roi label ar yno - cadw yn y canol. Felly, nawr fy mod i wedi clicio ar label, yr wyf yn yn gallu mynd i mewn i'r arolygydd eiddo a dechrau newid ei werth. Gadewch i ni alw yn CS50 Lliwiau. Ac, gallaf hefyd yn newid y ffont. Felly, yn hytrach na system, gan wneud sy'n 'r ball, gallwn wneud un arferiad. Gallwn newid - eich bod yn gwybod, ultralight, yn ei gwneud yn 32. Ac yna, gallwn wneud ein blwch fwy. GYNULLEIDFA: Ydych chi'n meddwl y gallwch chi chwyddo mewn dim ond ychydig yn fwy, efallai? RHED Shi: Yeah? OK. GYNULLEIDFA: Dim ond tap hyn? RHED Shi: Gadewch i ni weld. Mae hyn yn gweithio? GYNULLEIDFA: Dim ond pasio'r Xcode? RHED Shi: Cadarn. OK. Awesome. GYNULLEIDFA: Y label o dan? Mae'r label? RHED Shi: Beth sy'n bod? GYNULLEIDFA: Pa galw-i-lawr oedd y label o dan? RHED Shi: Felly, y cwestiwn oedd, beth galw-i-lawr oedd y label o dan? Dylai, yn syml, fod o dan yma. Amcana ei fod yn beth ciwb. Ond fel arfer, mae hyn yn 'r ball - Im 'jyst yn mynd i lawr yma nes i mi ddod o hyd i label. Yeah. Felly nawr, rydym wedi ein label. Gadewch i ni ei ganolfan. Ac Xcode yn rhoi canllawiau i ni am ganoli gwrthrychau. Felly, nawr gadewch i redeg ein cod unwaith eto. Dyna ni fynd. Felly, mae gennym CS50 Lliwiau. Ac yn awr, gadewch i ni roi botwm ar yno, dde? Oherwydd ein bod am wneud hyn yn rhyngweithiol. Felly, gadewch i ni roi botwm yma. Ac fe rown alwad y botwm hwn "tap yma i barhau. "Byddwn yn canolbwyntio arno, hefyd A dweud y gwir, mae eisoes wedi canolbwyntio. Yeah. Felly, erbyn hyn mae gennym botwm. Ac os ydym yn rhedeg hyn eto, rydym yn mynd i gael botwm bach neis yma. A gallaf cliciwch arno, ond nid yw'n gwneud unrhyw beth, gan nad ydym wedi gwneud unrhyw beth gyda'r botwm eto. Felly, gadewch i ni greu farn arall, dde? Felly, gadewch i ni ddweud fy mod yn awyddus i fanteisio ar y botwm ac yr wyf am i ewch i dudalen arall - safbwynt arall. Yr hyn yr wyf i'n mynd i wneud yw, gallaf greu farn rheolwr, dde? Nawr 'n annhymerus' cliciwch ar fy botwm, ac yna, y peth pwysig yw, dw i'n mynd i cliciwch - neu - ie, rheoli wasg ar fy bysellfwrdd. Rheoli. Cliciwch ar y botwm, ac yna llusgwch. Felly, cofiwch i ddal yr allwedd rheoli. Gadewch i ni wneud hynny eto. Felly, yn cynnal rheolaeth, cliciwch, a llusgo yr hyn yr ydych am ei wneud. OK. Ac yn awr, yr wyf wedi nifer o opsiynau yma. Gallaf naill ai wthio, neu gallaf wneud dulliau teithio, neu gallaf wneud yn arferiad. Push dim ond os oes gennych rheolwr navigation. Ar hyn o bryd, ein barn gyntaf Nid yw rheolwr yw tu mewn unrhyw rheolwr navigation. Felly, y rheolwr safle yw un sy'n rhoi y botwm yn ôl ar chi y app iOS lle mae gennych, eich bod yn gwybod, y pen, rhyw fath o, bar trwchus - lle y gallwch fynd yn ôl, neu ymlaen, et cetera. Ar hyn o bryd, nid oes gennyf hynny. Ac felly, dyna pam na allaf wneud gwthio. Felly, yr wyf yn clicio ar gwthio ddamweiniol, yma. Ac mewn gwirionedd, gadewch i ni redeg y cod, a dylai chwalu ar mi. Dim ond os wyf yn pwyswch y botwm fodd bynnag, felly - iawn. Felly, mae hyn yn ddrwg. Ac, fel y gallwch weld, yma, yr ydym yn yn cael y neges gwall. Felly, "segues Push ellir ond eu defnyddio pan rheolwr ffynhonnell yn cael ei reoli gan achos o UI rheolwr llywio. " Felly, gan nad oedd hyn yn tu mewn i rheolwr llywio, Ni allwn wneud hynny. Felly, ar hyn o bryd, dw i'n mynd yn ôl at y folder, yn mynd yn ôl i'r bwrdd stori. GYNULLEIDFA: Beth yw'r llywio rheolwr, unwaith eto? RHED Shi: Felly, ar hyn o bryd byddaf yn dangos i chi. Gadewch i ni weld. Felly, dw i'n mynd i glicio ar y farn hon rheolwr, ac yna dw i'n mynd i fynd hyd at gynnyrch - mewn gwirionedd, na, sori - golygydd. Ac yr wyf i'n mynd i fynd i mewn i - mewn gwirionedd, wnes i glicio arno? Rhif Dyna ni fynd. Rydw i'n mynd i fynd i fyny i mewn golygydd, yn mynd i lawr i ymgorffori i mewn, ac yna llywio rheolwr. OK. Ac, fy lle gwaith yn edrych yn flêr, felly gadewch i ni lanhau'r hyn i fyny. Felly, mae hyn oll yw bwrdd stori. Ac yn y modd hwn - OK, rhowch y gorau - Gallaf adeiladu rhywbeth yn gyflym fel hyn. Ac yna, yn awr y gallaf fynd yn ôl, chi'n gwybod? Ond mae hyn yn fath o ddiflas, dde? Felly, yr hyn yr wyf am ei wneud yw, nid wyf am i'w wneud, dim ond dim ond, barn rheolwr. Lets 'ddeud fy mod eisiau gwneud mewn gwirionedd yn golwg bwrdd rheolwr, fel y gallaf roi rhai lliwiau 'n glws, yn y tabl. Felly, yn awr yr wyf wedi rhoi yn fy marn tabl rheolwr, mae angen i mi gysylltu yn ôl o'r botwm hwn i'r barn rheolwr. Felly mae angen i mi ei wneud fy rheolaeth, cliciwch, beth llusgo eto. Ac yn awr y gallaf ei wneud gwthio, oherwydd yr wyf yn ymgorffori y tu mewn rheolydd mordwyo. GYNULLEIDFA: Navigation rheolwr yn unig yn eich galluogi i fynd o le i le? RHED Shi: Ydw. Felly, yn fwy dechnegol, mae'n gwrthrych lle - felly, y tu mewn i'r llywio gwrthrych rheolwr, mae'n cadw golwg ar amrywiaeth. A bod amrywiaeth yn cynnwys yr holl dilynol weld y rheolwyr. Dyna pam pan fyddwch yn y wasg ôl, yn mynd yn ôl i'r dudalen flaenorol. Oherwydd bod y rheolwr llywio gwrthrych, neu'r cod sydd yn gofalu am yr amcan hwn, mae gan amrywiaeth sy'n cadw olrhain o'r rhain barn rheolwyr, a Gall hynny, eich bod yn gwybod, DQ y farn rheolwr ac yn rhoi yn ôl i chi yr un blaenorol. Felly, mae hyn yn stwff technegol, ond - a byddaf yn dangos i chi yn nes ymlaen yn cod, os ydym yn cael amser. Im 'yn fath o yn rhedeg allan ar amser, ond - Felly, gyda'r bwriad bwrdd, yr hyn y gallwn ei wneud yw - Fel arfer, ei osod yn awtomatig i Dynamic Prototeip - rydym yn mynd i'w wneud yn celloedd Statig, fel arall, byddwn yn mynd i rhedeg i mewn i rai problemau. Ac yna, gadewch i ni ddweud fy mod i'n mynd i gael un adran. Felly, mae adrannau yn debyg - os ydych chi wedi gweld y app cerddoriaeth erioed, pan rhaid i chi artistiaid, byddai adrannau fod yn A drwy Z's - y llythrennau - ac yna, chi'n gwybod, yr unigolyn Byddai rhesi fod enwau artist. Ac felly, beth cŵl yma, yw fy mod yn gallu mynediad at yr holl o'r gwrthrychau y tu mewn fy bwrdd stori drwy'r galw-i-lawr ddewislen, hefyd. Felly, dw i'n mynd i glicio ar fy adran, ac yr wyf am, chi'n gwybod, efallai pum rhes. Ac yna, y tu mewn o bob rhes, Rwyf am i roi label. Ac yr wyf i'n mynd i alw Las. Ac yna, yr wyf am roi golwg UI, rydych yn gwybod, efallai amdanynt, fel, bocs bach. Fel y gallaf ddangos i bobl rhagolwg lliw. A byddaf yn mynd yn ôl at yr eiddo ac yn newid y lliw i, oh, nid wyf yn yn gwybod, mae hyn yn un. Ac yna, yn sylwi hefyd, yma, pan fyddaf yn cael ategolion, gallaf gael llawer y gwahanol ategolion eich bod fel arfer yn gweld. Mae'r dangosydd datgelu, y manylion, neu wirio marcio, neu yn syml yn unig fanylion. Felly, efallai y gallwn ei wneud, fel, datgeliad dangosydd, er enghraifft. Ac yna, pam nad ydym yn cymryd y rhain, copi gludwch nhw, ac yn eu rhoi yn y rhes tabl nesaf. Felly, gallwn alw Melyn hwn. Ac efallai y bydd rhaid i mi ymestyn hyn. Gadewch i ni wneud yn felyn. Ac yn y modd hwn, gallwn gopïo past ein ffordd i lawr. Beth oedd hi? Porffor. Felly, mae'r rhain i gyd yn y CS50 nodweddiadol lliwiau eich bod wedi gweld yn y dosbarth - mewn gwirionedd, mae'n ddrwg gennyf - neu ar y wefan. Gobeithio y gallwch chi guys weld hyn yr wyf i'n ei wneud yma. OK. Cafodd yr un olaf. GYNULLEIDFA: Sut wnaethoch chi ychwanegu y rhes yn y lle cyntaf? RHED Shi: Felly, y cwestiwn oedd, sut oedd yn ychwanegu y rhes yn y lle cyntaf? Yr wyf yn mynd i mewn yr adran hon bwrdd - neu sut bynnag y gallaf dewiswch yr adran bwrdd - ac yna, dyma, rhoddais y wybodaeth ddiweddaraf y nifer o resi. Ac, gadewch i mi yn gobeithio bod hyn yn gweithio. OK. Gadewch i ni weld os yw hyn yn gweithio. O, perffaith, awesome. OK. Er fy mod yn adeiladu i fyny fy demo, mae rhai Nid yw pethau yn cyd-fynd, felly, diolch am y gymeradwyaeth. Yeah. Felly, gadewch i ni weld. Byddwn yn gwneud naw hwn yn unig i wneud popeth - neu mewn gwirionedd, gadewch i ni yn unig troi pob un o'r rhain yn datgelu ddangosyddion. Ac yna, yr hyn yr wyf yn awyddus i ddangos i chi, hefyd, oedd sut y gallaf gymryd pob un o'r rhai a rhesi bwrdd ac yn eu rhyngweithio - oh. Rhif Oh. Hefyd, yr wyf yn awyddus i ddangos i chi - yma, gallaf roi'r teitl fy rheolwr llywio, dde? Felly mewn gwirionedd, byddwch yn sylwi, cyn gynted ag y gwreiddio farn hon rheolwr y tu mewn y rheolwr llywio, rydym yn gweld y bar llywio ar frig ein cynrychiolaeth bwrdd stori o farn rheolwr. Ac felly, mae hyn yn rhoi i ni, fel, a gweledol, math o, arwain at ein sgrin gweladwy. Yn amlwg mae hyn yn mynd i yn y bar llywio. A hyn yr wyf am ei wneud yn gyflym, yn awr, yn cael ei roi mewn un arall - felly hwn weld tabl rheolwr i ddim gan cymryd un o'r rhain a'i lusgo yma, a dyna beth sy'n caniatáu i mi yn gyflym, mewn gwirionedd, yn creu golwg tabl rheolwr. Os byddwn yn cael yr amser fodd bynnag, byddwch yn gweld, programmatically, mae'n ychydig bach yn fwy anodd i greu tabl barn rheolwr, oherwydd bod yn gwpl o ddulliau sy'n ofynnol i chi, rhyw fath o, ysgrifennwch allan er mwyn i'r farn bwrdd rheolwr i gael eu harddangos yn gywir. Fodd bynnag, yr wyf am i ddangos i chi, yn awr, enghraifft o ble, os wyf yn cymryd hyn, er enghraifft - Rwyf wedi rhoi barn rheolwr arall. Ac yn awr, gadewch i ni ddweud fy mod yn awyddus i reoli alt fy glas cyntaf rhes tabl i YMA. Ac yr wyf am alw Las. Ac yna - gadewch i ni weld. Rwy'n ar yr olygfa yn awr, a gallaf newid gefndir glas. Ac felly, hysbysiad, yma, mae hyn yn galw heibio i lawr fwydlen hefyd yn rhoi hierarchaeth o pawb 'ch o'r gwrthrychau hyn. Felly mae peth pwysig i'w nodi, dyma, yw bod yr holl bethau hyn, yma - hwn weld tabl rheolwr, mae'r tabl barn ni, adran golwg bwrdd, gweld bwrdd cell - mae pob un o'r rhain yn gwrthrychau, mewn cod. Felly, chi'n gwybod, label ar hyn o bryd o dan y farn cynnwys, et cetera. Yn y blaen ac yn y blaen. Felly, os ydym yn rhedeg y cod hwn, rydym yn ddylai weld rhywbeth - gadewch i ni weld os yw hyn - yeah. Felly, dyna ni. Ond, os nad ydym yn gwneud hynny, dim o'r pethau eraill yn gweithio. Iawn? Felly, dim ond yr un yma yn gweithio. Ac, er mwyn o amser, nid wyf yn mynd i mewn i, chi'n gwybod, gan roi i lawr y rhai eraill. Ac mae hyn yw diwedd, math o, bwrdd stori - yr hyn yr wyf yn awyddus i ddangos i chi am bwrdd stori. Ac, mae gen i enghraifft gweithio allan, mewn gwirionedd, ar y dde yma. Felly, dyma'r bwrdd stori a wneuthum o'r blaen. Felly, fel y gwelwch, roedd hyn yn fy rheolwr navigation. Yna roedd rhaid i mi fy marn rheolwr cyntaf, Yna, roedd gen fy marn bwrdd rheolwr, ac yna roedd gen pob un o'r rhain - hynny o'r blaen, yr wyf yn ei wneud rhywbeth gwahanol iawn. Felly, esgus pethau hynny. 'N annhymerus' yn ôl pob tebyg ei lanhau yn ddiweddarach cyn Yr wyf yn ei anfon i ffwrdd i gynhyrchu. Ond, os ydym yn rhedeg hyn, byddwn yn gweld fod yr holl opsiynau sydd ar sydd ar gael i ni. Ac eithrio Doeddwn i ddim yn gwneud y cefndir lliwiau hynny. Felly, cais syml 'n glws. Yn awr, gadewch i ni geisio mynd i'r afael hyn programmatically. OK. Felly, er mwyn gwneud hynny, rydym yn jyst yn mynd i gychwyn prosiect Xcode newydd. Byddwn yn ei gwneud yn gais wag yn awr, oherwydd nid ydym am gael y bwrdd stori. Felly, rwy'n dim ond cyfyngu fy hun i beidio ddefnyddio unrhyw un o'r bwrdd stori, a nad oedd y cais yn wag yn roi bwrdd stori i mi. Mae hyn yn unig er mwyn atal fy hun o dwyllo. Gadewch i ni weld. Aros. Wnes i - ie. OK. Iawn. Felly, dyma, yr ydym yn gadael gyda dim byd arall ond cod. Felly, gadewch i mi symud y ffenestr hon ychydig dros. Iawn. Fel y gallwch weld yma, yr unig ffeiliau rydym yn a roddir yn AppDelegate.h a dot m, ac nid oes gennym bwrdd stori anymore. Felly, os ydym yn rhedeg hyn, rydym yn dal i fynd i cyrraedd y sgrin gwyn, diolch i Dduw. OK - sgrîn gwyn, ond dim byd arall. Ac, dyma yw'r rhan bwysig. Dyma lle mae'r camau gweithredu yn digwydd. Yn y fersiynau blaenorol, mae Fel arfer, dim cod yma, ond mae'r bwrdd stori yn y bôn yn darparu y cod ar gyfer y rhan hon. Ni fyddaf yn mynd i mewn i fanylion ar sut. A'r hyn yr ydym am ei wneud yn awr yw, rydym am i fynd i mewn yma, a gofod bach hwn yn dechrau creu ein app eto. Felly - ie? GYNULLEIDFA: Chwyddo? RHED Shi: Zoom. Yeah, yn sicr. OK. Byddaf yn teipio, felly ni ddylai hyn mater gormod. OK. Felly, yn gyntaf, cofiwch roeddem am greu rheolwr llywio, dde? A hefyd, fel y gallwch weld yma, Xcode yn gwneud gwaith gwych o hunan-lenwi. Felly, fel y byddwch yn sylwi, enwau popeth yn llawer mwy o amser na arferol, ond Xcode llenwi ar eich rhan. Felly gall Fi jyst bwyso Enter. Felly, yr wyf am i greu llywio UI pwyntydd rheolwr, a gallaf alw navigationController. Nawr, beth ydw i'n ei wneud nawr? Ar ôl yr arwydd cyfartal, mae angen i mi, yn gyntaf, creu y tu mewn o gof. Felly, dw i'n mynd i wneud NavigationController Dyraniad - felly, mae hyn yn debyg i malloc, eich bod guys a ddefnyddir mewn C - ac yna, dw i'n mynd i init iddo. Felly, mae'n bwysig iawn bod unrhyw gwrthrych eich bod yn creu, yr ydych am Dyraniad a Init ei. Mae hynny'n mynd i greu a instantialize y tu mewn o gof, a nawr gallwch ei ddefnyddio. Iawn? Os nad ydych yn gwneud hynny, bydd eich gwrthrych yn yn bodoli, a byddwch yn rhedeg i mewn i griw o broblemau. Ac yna, yr wyf am i greu farn rheolwr, dde? Felly, yr wyf am i greu UIViewController seren - felly, mae popeth yn pwyntydd yn Amcan-C, ac yr wyf i'n mynd i wneud rhywbeth tebyg, dyma - Dyraniad, init. OK. Ac yna yr hyn yr wyf i'n mynd i wneud yw, rwy'n mynd i - felly, cofiwch pan wnaethom y ymgorffori yn rheolwr llywio? Mae hyn yn sut yr ydych yn ei wneud mewn cod. Rydych yn mynd i wneud navigationController pushViewController - GYNULLEIDFA: [Anghlywadwy]. Bydd hyn yn digwydd i ni, neu -? RHED Shi: O, ie. Rhif Mae'n hoffi i mi yn well. Na, bydd yn gweithio i chi, hefyd. Felly, mae'r rhain i gyd yn ddulliau. Felly pushViewController yn ddull, ac hefyd, yn fwy penodol, ei fod yn enghraifft dull y UI rheolwr navigation. Gan fod rhaid i mi greu fy llywio UI seren rheolwr, ac yna yr Gall alw pushViewController hon ar fy enghraifft benodol o llywio UI rheolwr. GYNULLEIDFA: Oes rhaid i ni wneud yr union gair, neu a yw'n bodoli eisoes ar ei gyfer? RHED Shi: Ie, oherwydd ei fod yn dull. Mae'n debyg i swyddogaeth. Mae fel printf. Mae fel scanf. Mae fel strcompare. Ac eithrio ei fod yn gwybod beth efallai y byddwch am teipio, ac yn sylwi ei fod yn annhymerus 'bob amser yn dod o hyd i bethau sy'n hawl cyfreithiol i chi. Felly, os unrhyw beth yn dangos i fyny yma, yna rhywbeth o'i le. Felly, pushViewController. Felly, yn awr, yr wyf yn awyddus i wthio fy newydd ei greu UIViewController, ac yna, animeiddiedig - efallai nad. Oherwydd bod hyn yn mynd i fod y farn rheolwr cyntaf. Yr wyf yn golygu, hyd yn oed os wyf yn gwneud animeiddiedig, mae'n debyg na fydd yn arddangos i fyny, oherwydd 'i' y sgrin gyntaf. A chofiwch y cromfachau. Felly, cofiwch sut yr ydym yn defnyddio y cromfachau? Ac y tu mewn i'r cromfachau, mae'r gwrthrych yn galw ar ddull - felly mae ein gwrthrych yn y llyw rheolwr, ac mae'r dull hwn yn gwthio barn rheolwr hanimeiddio. A gweld sut y mae'n ei gymryd mewn dau dadleuon, ac maent yn gwahanu gan y, math o, geiriau, a colon. Felly, Amcan-C yn ceisio ei gwneud yn braf ac yn hawdd i chi ddarllen yn uchel - eich cod - ac wedi ei lled, math o, yn gwneud synnwyr. Fodd bynnag, yn gwneud dim ond hyn nid yw'n ddigon. Gadewch i mi chwyddo allan nawr. Nid yw gwneud dim ond hyn yn ddigon i cael yr hyn rydym yn cael yn flaenorol. Felly dyma, byddwch yn sylwi bod yna mewn gwirionedd ddim yn mynd i fod yn unrhyw fath o bar, dyma, dde? Does dim bar llywio, sy'n golygu ein bod yn dal wedi gotten ei. A gallwn brofi hynny allan, hefyd, yn ôl, efallai, newid y cefndir ViewController, dde? ViewController.background-- AH. Felly, yn gweld sut nad oedd gan ViewController lliw cefndir, er fy mod yn yn awyddus i gael gafael arno? Ac mae hynny oherwydd ViewController yn gynhwysydd ar gyfer yr olygfa. Felly, mae ganddo farn eiddo, a oedd yn Yna mae lliw cefndir. Ac, gallaf osod, rhyw fath o tediously, drwy ffonio'r lliw ar y gwrthrych UIColor. Felly, rhybudd yma, redColor yn ddull. Mae'n ddull dosbarth o UIcolor. Gan nad oedd rhaid i mi greu enghraifft go iawn o UIColor er mwyn i alw y dull arno. Fi jyst, yn syml, a elwir yn ei ar yr enw math-debyg. Yr wyf fi, fel, a elwir ar int, os int oedd, fel, dull iddo, er enghraifft. Ac felly, os ydym yn rhedeg y cod hwn, rydym yn annhymerus ' sylwi bod y cefndir yn mewn gwirionedd nid goch. Mae'n dal i fod yn wyn. A sut y gallwn symud o gwmpas hynny yw, sylwch sut mae y self.window. Hynny yw, fel, y cynhwysydd yn y pen draw ar gyfer eich cais. Dyma'r peth yn y pen draw sy'n cynnwys popeth ar y sgrin, ar gyfer iPhone neu gais iPad. Ac, yn gyfleus, self.window Mae gan yr eiddo hwn a elwir yn rootViewController. A bod yn mynd i fod y pwyntydd i'r y farn cyntaf rheolwr y tu mewn eich app. Felly, yr hyn yr ydym eisiau ei wneud yma, yn awr, yn i sefydlu hynny gyfartal i'n llywio rheolwr. Iawn? Oherwydd, yn dechnegol, mordwyo rheolwr yw ein barn gyntaf rheolwr. Mae'n cadw golwg ar amrywiaeth o farn eraill rheolwyr, ac yr ydym yn gwthio hyn farn rheolwr i mewn i'r amrywiaeth yn y rheolwr mordwyo. Felly, os nad ydych am wneud hyn. Ni fyddai hynny'n wir yn eich helpu. Byddwch am wneud hyn, os ydych am ei wneud rheolwr llywio, y mae'r rhan fwyaf ohonoch mae'n debyg y bydd oherwydd youll 'angen i, rhyw fath o, cael rhyw fath o, fel, ddewislen i fynd yn ôl at neu ryw hafan i fynd yn ôl at, yn hytrach na sgrin wag. Ie? GYNULLEIDFA: A yw'n anghyfforddus i chi chwyddo i mewn ar y - RHED Shi: Yeah. Felly, yeah. Mae hyn yn, y cod ac yn awr gadewch i ni brofi 'ii maes. Felly, dyna ni. Hud a lledrith. Felly, OK. Diolch yn fawr. OK. Felly yn awr, yr hyn yr ydym eisiau ei wneud yw - felly, rydym yn fath o gyfyngedig, dyma, dde? Gallai Rydym yn ysgrifennu popeth tu mewn yr un swyddogaeth. Ond, nid dyna sut iOS datblygu fel arfer yn gweithio. Felly, yr hyn yr ydym yn mynd i wneud yw, rydym yn mynd i greu rhai ffeiliau newydd. Ond, yn fwy penodol, rydym yn mynd i creu dosbarth arall Amcan-C, neu wrthrych arall - dosbarth a gwrthrychau yn ymgyfnewidiol yma. Ac, dyma sut y gallwn, o bosibl, creu dosbarth arall o reolwyr U. Felly, mae'n is-ddosbarth, fel y byddwch yn sylwi, yma, mae'n is-ddosbarth y Golwg UI rheolwr, ond gallaf alw yn unrhyw enw arall yma. Y gallwn ei alw'n CS50 hwn, gallwn alw farn hon rheolwr, gallwn alw hwn blah barn rheolwr - unrhyw beth yr oeddwn ei eisiau. Mae hyn yn unig yw enw ar gyfer y dosbarth. Fodd bynnag, mae'n mynd i fod yn bwysig oherwydd, yn y bôn, yr hyn yr wyf i'n ei wneud yma yw, rwy'n creu enw dosbarth arall. Felly, mae'n mynd i fod, fel, mae rhai fath o fath neu wrthrych. Felly, dylai fod yn ychydig generig. Dyw hi ddim yn mynd i fod yn benodol iawn. A hefyd, yr wyf yn awyddus i dynnu sylw allan y ddau opsiwn. Oherwydd ein bod yn gwneud popeth y tu mewn o cod, weithiau mae'n llawer haws i ddod â mewn ffeil rhyngwyneb, fel bod Gallaf llythrennol llusgo a gollwng, fel gwnaethom yn gynharach gyda bwrdd stori - eich bod yn gwybod, label, neu botwm, neu beth bynnag arall. Ac felly, xibs yn ffeiliau y byddwch yn caniatáu i yn gwneud hynny, a rhaid i chi bachyn i fyny at y ffeil hon rheolwr safbwynt. Felly, dw i'n mynd i fwriadol Nid yw gwirio hyn. Fel arfer byddwn yn gwirio hyn, ac os wyf yn yn unig yr oedd hon ar gyfer iPhone neu iPad, yr wyf yn Byddai wirio hyn ac yn syml yn cael un am, chi'n gwybod, 'r iPhone neu'r iPad. Ond ers i mi mod yn gwneud gyffredinol, dw i'n mynd i greu dau o'r rheini yn ddiweddarach. Felly, dw i'n mynd i fwriadol uncheck hyn. Mae hyn hefyd yn bwysig iawn. Mae llawer o weithiau, yr wyf wedi cael bugs lle nad yw hyn yn cael ei gwirio. Ac felly, yn amlwg, mae hyn yn ffeil nad yw, math o, fel, yn cynnwys neu eu mewnforio tu mewn y ffolder prawf. Ac felly, fy cod wedi gwbl ddim syniad o fodolaeth y ffeil, a sy'n achosi llawer o boen ac oriau debugging. Ond, dim ond sicrhau bod hyn yn cael ei wirio felly hynny, chi'n gwybod, y targed o hyn ffeil ar gyfer y cais hwn. OK. Felly, erbyn hyn rydym wedi creu dwy ffeil newydd. A ffeiliau hyn yn edrych 'n bert yn wag. Ac, mewn gwirionedd, gadewch i ni hefyd yn parhau ar trwy greu'r ffeiliau xib. Felly, yn flaenorol, yr oeddwn yn y Touch coco ollyngir i lawr. Nawr, dw i'n mynd i fynd i mewn i'r Defnyddiwr Cyffwrdd rhyngwyneb, ac fel y gwelwch, yr wyf yn yn gallu creu bwrdd stori. Felly, hyd yn oed yr wyf yn dechrau gyda gwag cais, gallaf barhau i ddefnyddio bwrdd stori. Er, mae'n mynd yn anodd o ran o sut yr ydych am i gysylltu hynny i'ch cod. Felly, ni fyddaf yn mynd yno. Ond, yr hyn yr ydym am ei wneud yn awr yw creu golwg. A gallwch ddewis ar gyfer iPhone neu iPad. Ac fel arfer, i ddynodi'r gwahaniaeth - os ydych yn gwneud cais cyffredinol - chi naill ai roi iPhone tanlinellu, neu gallwch wneud Twiddly. Nid oes llawer o bwys. Mae'n syml i chi i wahaniaethu pa barn yw y ddyfais. Ac felly, yn awr yn edrych. Mae gen i sgrîn y gallaf weithio gyda nhw. Ac felly, er enghraifft, yr wyf yn gallu rhoi label ar yma, eich bod yn gwybod, a gallaf hefyd roi botwm arall yma. Nid wyf am drafferthu newid y gwerthoedd yma. Ond, yr hyn sy'n bwysig yma yw bod perchennog y ffeil yn - hynny, yr wyf i'n tu mewn i'r iPhone barn ni, ffeil xib iPhone. Ac i lawr yn y maes hwn llywio neu galw-i-lawr ddewislen, yr wyf am i fynd i'r perchennog ffeil yn. Ac mae hyn yn y gwirionedd gam pwysig yma. Yr wyf am wneud y farn dosbarth rheolwr, fel bod y ffeil xib yn yn mynd i fod yn gysylltiedig â fy marn rheolwr. Ac unrhyw beth a wnaf tu mewn fy marn i rheolwr programmatically yn mynd i gael eu hadlewyrchu ar yma. Felly, fodd bynnag, yn sylwi bod - mewn gwirionedd, gadewch i ni wneud y farn hon glas cefndir, er enghraifft. Neu wyrdd. Ac yna, felly os byddwch yn sylwi, yn ôl yn cod hwn, dyma lle i ni gyrraedd ein rheolwr navigation. Hyd yn oed er ein bod yn gwneud y cam hwnnw, mae'n dal yn mynd i fod yn goch, nid gwyrdd. Ac mae rheswm pam. Mae'n oherwydd, pan fyddwn yn inited ein barn rheolwr, yma - ddrwg gennym, mae ychydig yn wallgof - pan fyddwn yn inited ein barn rheolwr yma, rydym yn inited ei o'r math cyffredinol UIViewController. OK? Felly, nid oeddem yn hyd yn oed wneud gyda'r dosbarth hwn. Felly cofiwch, mae hyn yn debyg i ddosbarth nawr. Gellir ei ystyried fel math, dim ond fel UIViewController yn fath. Ac er mwyn defnyddio'r hynny, beth mae angen i ni ei wneud yw ei fewnforio - mewnforio ViewController - ac, fel y gwelwch, mae'n autofills i mi. Felly, ViewController - ac yn awr, yma, gallaf newid hyn UIViewController i ViewController. Ac yn awr, yma, gallaf newid hwn i ViewController. Gadewch i ni redeg y eto. Mae'n dal i fod yn goch. A'r rheswm pam ei bod yn dal i fod yn goch oherwydd - woah, beth ddigwyddodd yno? Rydym yn awyddus i gysylltu xib hwn ffeilio gyda'r farn rheolwr. Fodd bynnag, er mwyn gwneud mewn gwirionedd yn hynny, mae angen i fynd i mewn i hyn. A phan rydym yn gwneud y init, yr ydym am ei wneud initWithNibName, ac yna rydym yn awyddus i gwneud y ar View_iPhone llinyn, er enghraifft. Gallwch anwybyddu'r bwndel yma. Ac mae hyn yn mynd i ganiatáu i ni, mewn gwirionedd - UH oh, mae problem. Iawn. Ac felly, mae problem oherwydd, yn ein barn ffeil xib, mae gennym label a gennym botwm. Fodd bynnag, er ein bod wedi cysylltu dwy hynny, does dim byd tu mewn ViewController.h neu ViewController.m sy'n adlewyrchu'r rheini botymau neu'r labeli hynny. Felly, mae angen i ysgrifennu rhai i mewn fel eiddo o'r farn rheolwr. Felly, mae hyn yw sut yr ydych yn datgan eiddo. Mae'n cymryd i mewn, fel arfer, y ddau opsiwn. At ddibenion ni a seminar hwn, Byddwn yn dweud bod, yn gyffredinol, rhan fwyaf o eiddo yn nonatomic a chadw. Gallwch ddarllen gan Google chwilio, eich bod yn gwybod, y gwahaniaeth rhwng nonatomic a chadw ar, byddwch yn gwybod, Google neu rywbeth. A byddaf yn mynd â chi i, fel, Stack Gorlif, lle y bydd pobl yn cael atebion ar gyfer y gwahaniaethau rhwng y rhai. Ond am nawr, dyna beth yr ydym yn yn awyddus i fod yn ymwneud â. Ac rydym am wneud label UI, seren, a gallwn alw beth bynnag yr ydym ei eisiau. Gall Rydym yn galw hyn, eich bod yn gwybod, label. Ac, byddwn yn creu un arall un ar gyfer y botwm. A chofiwch gynnwys y seren, oherwydd ein bod yn delio â awgrymiadau 'n bert lawer ym mhob man y tu mewn Amcan-C. Fodd bynnag, ni fydd yn dal yn datrys y broblem, fel y gwelwch yma. A'r rheswm yw oherwydd, pryd bynnag y byddwn eisiau cysylltu label ffeil xib neu botwm i'r rhaglen, neu'r pennawd a ffeil gweithredu, rydym am ychwanegwch y darn hwn o god - allfa. Sylwch ei fod yn air allweddol. Ac, cyn gynted ag y mi orffen teipio hynny allan, dylai gael y rhain dau gylch, yma. Fel arfer, nid ydynt yn llenwi i mewn Dydw i ddim yn siŵr pam eu bod yn. Ond fel arfer, bydd rhaid i chi llaw eu cysylltu drwy fynd i ochr hon yr ardal cyfleustodau. Ac felly, ar hyn o bryd, mae gen i fy label a ddewiswyd, ac yr wyf am i lusgo hyn yn newydd cyfeirnodi allfa i berchennog fy ffeil yn, ac yna cliciwch ar Label. Felly nawr, yn olaf, y label hwn yn gysylltiedig â label hwn. Ac mae label dyma beth rydym yn mynd i defnyddio programmatically i newid ei testun, ei ffont, ei gefndir lliw, et cetera. Felly, pam nad ydym yn gwneud y un fath ar gyfer y botwm? Ac fel y byddwch yn sylwi, ar gyfer y botwm, mae'n ychydig yn fwy cymhleth. Oherwydd, yr wyf yn golygu, rydych yn fod i wasg ar fotwm, felly mae'n cael llawer o opsiynau ar gyfer sut mae defnyddwyr Gall pwyso ar fotwm. Ac yna, byddwn yn gweld yn nes ymlaen y gallwn gysylltu hyn i'n cod i wneud iddo weithio. Felly, ar hyn o bryd, fodd bynnag, rydym yn awyddus i gysylltu i'r botwm gwirioneddol tu mewn ein cod. Felly, rydym yn mynd i'r siop cyfeirnodi newydd, ac yna gwneud y botwm. Yn awr, gadewch i ni redeg hyn eto. Uh oh. OK. Nid wyf yn gwybod beth sy'n digwydd yma nawr. Whoa. Dim ond un o bryd, yma. Mewn gwirionedd, nid pam yr ydym yn cymryd edrych ar enghraifft arall yn budd o amser. OK. Felly, dyma y paratoi yn fwy parod enghraifft ar gyfer ViewController. Fel y gallwch weld yma, yr wyf wedi cynnwys eiddo ar gyfer y label a'r botwm. Ac yna, y darn hwn o god yma - IBaction hyn - Roedd cysylltiad botwm hwn yma. Felly, fel y gwelwch yma, Touch Up Y tu mewn yn gysylltiedig â'r dewisydd Gelwir Button Pressed. Felly, gallwn mewn gwirionedd yn mynd drwy'r cynnig eto, dyma, drwy gymryd Touch Up Y tu mewn a'i lusgo i Perchennog File, ac yna cliciwch ar Button Cywasgedig. Yn awr, gadewch i ni redeg ein cod. Felly nawr, botwm hwn yn awr yn gweithio a yn mynd â ni i'r dudalen nesaf. Ac, o ran ein barn rheolwr, hwn yw'r darn o cod a gymerodd gofal o'r Button Cywasgedig. Ac mae'n bwysig nodi yma, bod Rwyf wedi creu math arall o farn a elwir yn rheolwr tabl barn rheolwr. Felly, mae hyn yn debyg i yn ôl yn bwrdd stori, pan fyddaf yn llusgo un o rhain barn tabl rheolwyr i mewn i'r bwrdd stori. Im 'yn creu un arall Pwyntydd i'r farn bwrdd rheolwr, Dyraniad a init-ing, ac yna yn ei wneud hunan-dot rheolwr llywio, gwthio ViewController, mae hyn yn newydd viewController. Ac yr wyf wedi gosod yr animeiddiad i iawn, oherwydd erbyn hyn y tu mewn fy app, ac yr wyf yn eisiau gweld mewn gwirionedd yn yr animeiddiad yn mynd o'r dudalen gartref at y tabl barn rheolwr. GYNULLEIDFA: A ydych yn dal i boeni am gasglu sbwriel? RHED Shi: Beth sy'n bod? Rhif Felly, y cwestiwn oedd, a oes gennych i weithio gyda chasgliad sbwriel? Felly, roedd gan Xcode 4 fel ARC, sydd yn cyfrif cyfeirio awtomatig. Ac felly, fel arfer pan fyddwch yn dechrau newydd prosiect, byddech yn gwirio bod, oherwydd does neb yn wir eisiau i ddelio â rhyddhau cof a stwff. Ond rwy'n credu yn Xcode 5, nid oes hyd yn oed yr opsiwn hwnnw ar y prosiect newydd. Felly, mae'n awtomatig yn gwneud hynny ar eich rhan. Ie? GYNULLEIDFA: Allwch chi allforio PDF yn eich bwrdd stori? RHED Shi: Yeah, yn bendant. Felly, bydd pob un o'r rhain yn cael eu cynnwys yn cod ffynhonnell, er mwyn i chi guys edrych ar y prosiect Xcode gwirioneddol ar ei gyfer. Yeah? GYNULLEIDFA: Ond, yr wyf yn golygu, fel, gallaf argraffu PDF gyda fy bwrdd stori? Os Fi jyst eisiau i allforio lluniau i ddangos i rywun. RHED Shi: Oh yeah. Yr wyf yn meddwl, efallai, gallwch dim ond cymryd ergyd sgrîn. Yeah, ac anfon sgrîn eu saethu neu rywbeth. Yeah. Felly, gadewch i ni weld. Er budd o amser, yr wyf yn meddwl dyna gall pob l gwmpasu heddiw. Ond, yr wyf yn gwybod bod yn, mewn gwirionedd, dim ond prin cyffwrdd wyneb y iOS datblygiad. Felly, os gwelwch yn dda mae croeso i chi gysylltu â mi os oes gennych unrhyw gwestiynau am iOS datblygiad. A, gobeithio, byddaf yn gallu glanhau rhai o'r cod ar gyfer y ffynhonnell Ffeiliau cod, fel y byddwch yn cael rhywfaint o enghreifftiau neis iawn i weithio gyda. Heblaw am hynny, os ydych guys yn mynd , efallai neu efallai i'r CS50 Hackathon wyf na fydd yno, a gallaf helpu gyda rhywfaint o ddatblygu iOS, hefyd. Felly, diolch llawer, guys.