1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Seminar] [iOS: Ysgrifennu Apps Fel Boss] 2 00:00:02,000 --> 00:00:04,000 [Tommy MacWilliam] [Harvard University] 3 00:00:04,000 --> 00:00:08,000 [Mae hyn yn CS50.] [CS50.TV] 4 00:00:08,000 --> 00:00:12,000 >> Mae pob hawl, bawb, croeso i iOS: Ysgrifennu Apps fel Boss. 5 00:00:12,000 --> 00:00:16,000 Mae'r seminar yn mynd i ganolbwyntio ar ysgrifennu apps ar gyfer yr iPhone 6 00:00:16,000 --> 00:00:19,000 ac yn ei dro ysgrifennu apps ar gyfer y iPad, ac felly rydym yn y bôn yn mynd i gerdded drwy 7 00:00:19,000 --> 00:00:23,000 ychydig o enghreifftiau gwahanol o sut i wneud app, gêm syml fel Toe Tic Tac, 8 00:00:23,000 --> 00:00:26,000 neu os ydych yn fwy o ddiddordeb mewn gwneud app fel rhyw fath o ddarllenydd newyddion 9 00:00:26,000 --> 00:00:30,000 neu rywbeth sy'n rhyngweithio gyda'r Rhyngrwyd byddaf yn sôn am hynny hefyd. 10 00:00:30,000 --> 00:00:32,000 Dyma ein hagenda byr. 11 00:00:32,000 --> 00:00:36,000 >> Apps IOS yn cael eu hysgrifennu mewn iaith a elwir yn Amcan-C, 12 00:00:36,000 --> 00:00:39,000 ac felly mae hwn yn ychydig yn debyg i C, ond nid mewn gwirionedd o gwbl, 13 00:00:39,000 --> 00:00:41,000 felly byddwn yn siarad ychydig am yr iaith ei hun 14 00:00:41,000 --> 00:00:45,000 ac yna sut i adeiladu apps iPhone defnyddio'r rhaglen hon app o'r enw XCode, 15 00:00:45,000 --> 00:00:48,000 ac os nad ydych wedi ei lwytho i lawr eto mae croeso i chi gychwyn y llwytho i lawr yn awr. 16 00:00:48,000 --> 00:00:50,000 Mae'n gigabeit lawer. 17 00:00:50,000 --> 00:00:54,000 Dylai fod yn rhad ac am ddim ar y Storfa App, felly bydd angen i chi gael Mac 18 00:00:54,000 --> 00:00:57,000 yn ddelfrydol rhedeg y fersiwn diweddaraf o OS X. 19 00:00:57,000 --> 00:00:59,000 Os nad ydych chi'n, dim problem. 20 00:00:59,000 --> 00:01:02,000 Mae gennym Macs yn y ganolfan gwyddoniaeth sydd ar gael ar gyfer eich defnydd 21 00:01:02,000 --> 00:01:05,000 gyda XCode gosod, ac felly mae croeso i ddefnyddio rhai ar gyfer datblygiad. 22 00:01:05,000 --> 00:01:07,000 Os ydych am wneud app, ond nad oes gennych Mac, peidiwch â phoeni. 23 00:01:07,000 --> 00:01:09,000 Mae digon o adnoddau ar y campws ar gyfer hynny. 24 00:01:09,000 --> 00:01:15,000 Ac felly, yna rydym yn mynd i dalu am 2 enghraifft mwy o apps gwahanol y gallwch eu gwneud. 25 00:01:15,000 --> 00:01:19,000 Amcan-C yn dechnegol hyn a elwir yn set super o C. 26 00:01:19,000 --> 00:01:24,000 Mae hynny'n golygu bod unrhyw god C hefyd yn ddilys Amcan-C cod. 27 00:01:24,000 --> 00:01:29,000 Mae hynny'n golygu ein bod yn fath o dwythell dâp ar rai nodweddion ychwanegol i C. 28 00:01:29,000 --> 00:01:33,000 Nid yw rhai o'r nodweddion hyn yn cynnwys gorfod byth ysgrifennu malloc eto, diolch i Dduw, 29 00:01:33,000 --> 00:01:36,000 ddim yn gorfod poeni am y rhai awgrymiadau dwp ac yn eu rhyddhau a'r holl bethau 30 00:01:36,000 --> 00:01:40,000 oeddech yn ei gasáu am C, ac mae'n fath o fynd yn Amcan-C. 31 00:01:40,000 --> 00:01:43,000 >> Yn awr, Amcan-C hefyd lyfrgell safon llawer mwy, 32 00:01:43,000 --> 00:01:47,000 felly mae ymarferoldeb llawer mwy a gewch ar gyfer y tu mewn yn rhad ac am Amcan-C. 33 00:01:47,000 --> 00:01:50,000 Cofiwch pan oeddem yn ysgrifennu PHP rydym yn sylwi ein bod yn mynd o 34 00:01:50,000 --> 00:01:54,000 yr iaith hon lleiaf i'r llyfrgell mawr yr holl bethau hyn crazy gallwch ei wneud. 35 00:01:54,000 --> 00:01:56,000 Mae'r un peth yn digwydd yn iOS. 36 00:01:56,000 --> 00:01:59,000 Mae gwrthrychau ar gyfer pethau fel y calendr Bwdhaidd, ac yn wir unrhyw beth 37 00:01:59,000 --> 00:02:05,000 y gallwch chi feddwl o bosibl yn ôl pob tebyg yn bodoli eisoes yn Amcan-C yn gweithredu. 38 00:02:05,000 --> 00:02:08,000 Mae'r rhan Amcan Amcan-C yn cyfeirio at rywbeth 39 00:02:08,000 --> 00:02:11,000 a elwir yn Gwrthrych sy'n Canolbwyntio ar Rhaglennu. 40 00:02:11,000 --> 00:02:14,000 Mae hwn yn fath o gysyniad newydd, ond mewn gwirionedd rydym wedi dysgu yn bennaf 41 00:02:14,000 --> 00:02:17,000 llawer o cysyniadau hyn yn barod. 42 00:02:17,000 --> 00:02:19,000 Y syniad y tu ôl i Gwrthrych sy'n Canolbwyntio ar Rhaglennu yw eich bod chi'n mynd i strwythuro 43 00:02:19,000 --> 00:02:23,000 llawer o eich cod o gwmpas y pethau hyn a elwir yn ddosbarthiadau, 44 00:02:23,000 --> 00:02:26,000 a dosbarthiadau hyn mewn gwirionedd ogoneddu structs. 45 00:02:26,000 --> 00:02:30,000 Y tu mewn i strwythur y bôn rydym yn dweud yma yn beth, 46 00:02:30,000 --> 00:02:32,000 a gall hyn gael beth aelodau. 47 00:02:32,000 --> 00:02:35,000 Er enghraifft, gallai nod mewn rhestr cysylltiedig yn cael pethau eraill 48 00:02:35,000 --> 00:02:38,000 fel gwerth, pwyntydd i'r nod nesaf yn y rhestr, 49 00:02:38,000 --> 00:02:44,000 ac ar y cyd y pwyntydd, a bod gwerth gyfansoddodd yr achos hwn yn un o strwythur. 50 00:02:44,000 --> 00:02:47,000 Mae'r dosbarthiadau yn debyg iawn ac eithrio 51 00:02:47,000 --> 00:02:50,000 Gall dosbarthiadau hefyd swyddogaethau tu mewn iddynt. 52 00:02:50,000 --> 00:02:54,000 Pan fyddwn yn datgan strwythur, gallem dim ond dweud n int neu * nod nesaf. 53 00:02:54,000 --> 00:02:57,000 >> Nawr gyda Amcan-C gallwn mewn gwirionedd yn rhoi swyddogaethau 54 00:02:57,000 --> 00:02:59,000 y tu mewn o'r pethau hynny. 55 00:02:59,000 --> 00:03:03,000 Peth arall y gall dosbarthiadau ei wneud yw y gallant etifeddu data o ddosbarthiadau eraill. 56 00:03:03,000 --> 00:03:07,000 Er enghraifft, byddwn yn edrych ar griw o adeiledig-yn Amcan-C dosbarthiadau. 57 00:03:07,000 --> 00:03:11,000 Gallai un ohonynt fod yn y dosbarth sy'n cynrychioli barn am sgrin, 58 00:03:11,000 --> 00:03:14,000 ac felly trwy ddweud wyf am ei weithredu fy marn hun 59 00:03:14,000 --> 00:03:18,000 rydym yn y bôn yn dweud rhywun drosodd ar Apple, mae pobl yn ôl pob tebyg neis iawn, 60 00:03:18,000 --> 00:03:21,000 ysgrifennodd y dosbarth hwn i mi, ac mae'n ymdrin â phethau fel botymau arddangos 61 00:03:21,000 --> 00:03:25,000 neu wneud y sgrin, a byddem yn wirioneddol pained 62 00:03:25,000 --> 00:03:28,000 i weithredu popeth a functionality ein hunain, ac felly 'n annichellgar 63 00:03:28,000 --> 00:03:31,000 etifeddu data gallwn ddweud popeth a wnaethoch yn y dosbarth 64 00:03:31,000 --> 00:03:34,000 Rwyf hefyd am y tu mewn fy nosbarth, ac yna yr wyf i'n mynd i wneud rhai pethau eraill, 65 00:03:34,000 --> 00:03:37,000 sef gweithredu app. 66 00:03:37,000 --> 00:03:40,000 Dyna beth etifeddiaeth honno gair yn ei olygu. Byddwn yn gweld enghraifft mwy pendant. 67 00:03:40,000 --> 00:03:42,000 >> Ac yn olaf, yr allwedd gyda Gwrthrych sy'n Canolbwyntio ar Rhaglennu yw bod 68 00:03:42,000 --> 00:03:45,000 mae'n arwain at ddata amgįu. 69 00:03:45,000 --> 00:03:48,000 Mewn rhai o'n problem yn gosod gallem gael y rhain mawr, newidynnau byd-eang 70 00:03:48,000 --> 00:03:51,000 a GLOBALS ym mhob man, a dyna sut y byddem yn cadw golwg ar y wladwriaeth. 71 00:03:51,000 --> 00:03:55,000 Gyda dosbarthiadau gallwn ddechrau crynhoi gwybodaeth y tu mewn o wrthrych. 72 00:03:55,000 --> 00:03:58,000 Os oes gennym un sgrin ar ein app, nid ydym yn gwir angen i gael unrhyw ddata o 73 00:03:58,000 --> 00:04:01,000 sgrîn arall yn ein tu mewn app o hynny, 74 00:04:01,000 --> 00:04:04,000 a hynny drwy crynhoi pethau o fewn y dosbarthiadau hyn mewn gwirionedd yn arwain 75 00:04:04,000 --> 00:04:08,000 i ddylunio cod yn llawer gwell, ac mae hyn yn bosibl gyda rhai o'r nodweddion ychwanegol 76 00:04:08,000 --> 00:04:11,000 Amcan-C. 77 00:04:11,000 --> 00:04:15,000 Rybudd ymlaen llaw, y gystrawen ar gyfer Amcan-C yn bananas. 78 00:04:15,000 --> 00:04:19,000 Mae fel unrhyw beth yr ydym wedi gweld o'r blaen, 79 00:04:19,000 --> 00:04:22,000 felly mae'n dipyn o gromlin ddysgu dod i arfer â 80 00:04:22,000 --> 00:04:24,000 hyn y mae'r Heck yw ystyr hyn? 81 00:04:24,000 --> 00:04:27,000 Ond ar ôl i chi fynd heibio y ddringfa dysgu cychwynnol 'i' iawn, iawn llyfn 82 00:04:27,000 --> 00:04:29,000 i ddechrau ysgrifennu apps. 83 00:04:29,000 --> 00:04:33,000 >> I ddatgan dosbarth, ei ddweud yma yw fy nosbarth, ei fod yn bodoli, 84 00:04:33,000 --> 00:04:35,000 ac efallai dyma rai pethau fy mod i'n mynd i ddiffinio nes ymlaen, 85 00:04:35,000 --> 00:04:38,000 Rydw i'n mynd i ddweud @ rhyngwyneb. 86 00:04:38,000 --> 00:04:41,000 Rydw i'n mynd i ddweud @ rhyngwyneb. Rydw i'n mynd i roi fy nosbarth enw. 87 00:04:41,000 --> 00:04:43,000 Ac yna yn ddiweddarach yn rhywle arall dw i'n mynd i ddweud @ diwedd, 88 00:04:43,000 --> 00:04:46,000 a phopeth rhwng y rhyngwyneb @ a diwedd @ 89 00:04:46,000 --> 00:04:48,000 yn mynd i fod yn fy nosbarth. 90 00:04:48,000 --> 00:04:51,000 Mae hynny yn mynd i fod beth sydd y tu o'n. Ffeiliau h. 91 00:04:51,000 --> 00:04:55,000 Yn union fel yn C ein. Ffeiliau h bôn dweud dyma rai pethau a fydd yn bodoli. 92 00:04:55,000 --> 00:04:57,000 Dydw i ddim o reidrwydd yn dweud wrthych beth maent yn ei wneud eto, 93 00:04:57,000 --> 00:04:59,000 ond mae compiler angen gwybod eu bod yn bodoli. 94 00:04:59,000 --> 00:05:04,000 Yn ddiweddarach y tu mewn ein. M ffeiliau-oherwydd m ar gyfer Amcan-C 95 00:05:04,000 --> 00:05:08,000 yn lle'r ydym yn wir yn mynd i ddiffinio beth y dosbarthiadau hyn yn ei wneud. 96 00:05:08,000 --> 00:05:11,000 Mae llawer yn hoffi ein. Ffeiliau c, rydym yn darparu gweithredu ar gyfer swyddogaethau. 97 00:05:11,000 --> 00:05:15,000 Y tu mewn ein. M ffeiliau rydym yn mynd i ddweud yma yw beth y mae'r holl swyddogaethau 98 00:05:15,000 --> 00:05:18,000 tu mewn fy nosbarth-beth maent i gyd yn ei wneud. 99 00:05:18,000 --> 00:05:22,000 Ac yn olaf, y tu mewn o strwythur y gallem ddweud tu mewn y braces cyrliog 100 00:05:22,000 --> 00:05:25,000 int, n neu nod * nesaf 101 00:05:25,000 --> 00:05:28,000 ac yn Amcan-C rydyn ni'n mynd i ddefnyddio'r allweddair @ eiddo, 102 00:05:28,000 --> 00:05:31,000 ac mae hyn yn beth sy'n mynd i ddiffinio y priodweddau, 103 00:05:31,000 --> 00:05:36,000 neu pan fo swyddogaethau nad ydynt yn bod yn rhan o fy dosbarthiadau. 104 00:05:36,000 --> 00:05:40,000 >> Galw swyddogaethau yn Amcan-C hefyd yn bananas. 105 00:05:40,000 --> 00:05:43,000 Pan fyddwn yn datgan swyddogaethau yn C rydym yn dweud rhywbeth fel int foo 106 00:05:43,000 --> 00:05:46,000 ac yn agored paren ac yna rhoddodd restr o ddadleuon. 107 00:05:46,000 --> 00:05:51,000 Dyma beth datgan dulliau neu swyddogaethau yn edrych fel yn Amcan-C. 108 00:05:51,000 --> 00:05:54,000 Os ydw i eisiau i ddatgan swyddogaeth neu ddull 109 00:05:54,000 --> 00:05:58,000 lle i ddim yn dweud dull hwn mewn gwirionedd yn unig yn swyddogaeth sy'n aelod o ddosbarth, 110 00:05:58,000 --> 00:06:01,000 felly math o gyfnewidiol, ond nid mewn gwirionedd, 111 00:06:01,000 --> 00:06:03,000 felly tu mewn fy dull rwyf eisiau creu dull newydd. 112 00:06:03,000 --> 00:06:06,000 Mae'n mynd i ddychwelyd dim byd, felly mae'n mynd i fod o fath ddi-rym. 113 00:06:06,000 --> 00:06:08,000 Dyma'r math dychwelyd fy swyddogaeth. 114 00:06:08,000 --> 00:06:11,000 Nawr rydym wedi parens yma oherwydd-I ddim yn gwybod. 115 00:06:11,000 --> 00:06:14,000 Nesaf yn mynd i fod yn enw fy swyddogaeth, 116 00:06:14,000 --> 00:06:17,000 ac yna yn olaf mae gennym hanner colon yn union fel oedd gennym yn C. 117 00:06:17,000 --> 00:06:19,000 Beth sy'n newydd yma yn y boi yma. 118 00:06:19,000 --> 00:06:22,000 Mae'r cysylltnod mewn gwirionedd yn angenrheidiol, a beth mae hyn yn dweud yw bod 119 00:06:22,000 --> 00:06:26,000 rhaid i'r dull yma gael ei galw ar enghraifft o ddosbarth. 120 00:06:26,000 --> 00:06:29,000 >> Ar ôl i ni ddatgan ein structs mae'n debyg ein bod wedi dweud rhywbeth tebyg 121 00:06:29,000 --> 00:06:32,000 n nod strwythur, ac a greodd mewn gwirionedd 122 00:06:32,000 --> 00:06:35,000 neu instantiated un o'r rhai structs er mwyn i mi mewn gwirionedd yn dechrau gweithio 123 00:06:35,000 --> 00:06:38,000 â'r hyn sydd y tu mewn ohono, felly mae hyn yn golygu dash bod rhaid i ni 124 00:06:38,000 --> 00:06:41,000 enghreifftio y dosbarth yn unig yn hoffi ydym instantiated y strwythur 125 00:06:41,000 --> 00:06:43,000 cyn y gallwn alw y dull hwn arno. 126 00:06:43,000 --> 00:06:46,000 Os ydw i eisiau dechrau ychwanegu dadleuon i fy dulliau 127 00:06:46,000 --> 00:06:48,000 mae'n mynd bananas hyd yn oed mwy. 128 00:06:48,000 --> 00:06:50,000 Dyma fy enw dull. 129 00:06:50,000 --> 00:06:53,000 Wedyn dw i'n mynd i gael colon, ac ar ôl y colon mae'n dweud yma daw rhai dadleuon. 130 00:06:53,000 --> 00:06:56,000 Mae'r dull hwn yn cymryd un ddadl. 131 00:06:56,000 --> 00:06:59,000 Mae'r math o ei ddadl yn int, ac enw y ddadl 132 00:06:59,000 --> 00:07:03,000 neu 'r newidyn fy mod i'n mynd i ddechrau defnyddio tu mewn i'r dull yn cael ei alw i. 133 00:07:03,000 --> 00:07:05,000 Unwaith eto, mae hyn yn ddull. Mae'n cymryd un ddadl. 134 00:07:05,000 --> 00:07:10,000 >> Os ydych chi eisiau dechrau ychwanegu mwy o ddadleuon mae'n mynd bananas mwy o 135 00:07:10,000 --> 00:07:13,000 gan ein bod y colon sy'n dweud yma yn dod fy rhestr o ddadleuon. 136 00:07:13,000 --> 00:07:15,000 Mae'r ddadl gyntaf yn gyfanrif. 137 00:07:15,000 --> 00:07:17,000 Nawr, mae'r ail ddadl yn ddiddorol. 138 00:07:17,000 --> 00:07:20,000 Y newidyn sy'n dwi'n mynd i gael eu defnyddio y tu mewn o fy swyddogaeth 139 00:07:20,000 --> 00:07:23,000 Gelwir f, felly tu mewn fy swyddogaeth gallwn ddweud 140 00:07:23,000 --> 00:07:25,000 f + = 1 neu rywbeth. 141 00:07:25,000 --> 00:07:30,000 Mae hyn yn peth yma yn y bôn yn allweddol ar gyfer y ddadl honno neu paramedr. 142 00:07:30,000 --> 00:07:34,000 Yn union fel yr oedd gennym parau gwerth allweddol a rhywbeth fel JSON neu araeau cysylltiadol 143 00:07:34,000 --> 00:07:37,000 Gwneud Amcan-C y penderfyniad i ddweud, iawn, yn union fel ei bod yn wir yn glir 144 00:07:37,000 --> 00:07:39,000 pan fyddwch yn ffonio dull beth yw'r holl paramedrau hyn yn 145 00:07:39,000 --> 00:07:41,000 Im 'mewn gwirionedd yn mynd i'w henwi i gyd. 146 00:07:41,000 --> 00:07:45,000 Pan fyddwch yn ffonio dull, byddwch mewn gwirionedd yn dweud andFloat, 147 00:07:45,000 --> 00:07:47,000 ac yna byddwch yn ei basio i mewn 148 00:07:47,000 --> 00:07:50,000 >> Yn ddiddorol, nid yw'r un yn cael ei enwi, ond mae pob un o'r paramedrau eraill, 149 00:07:50,000 --> 00:07:53,000 felly os oedd gennym ddadl 3 gallwn ddweud andFloat 150 00:07:53,000 --> 00:07:56,000 ac un arall arnofio ac yn y blaen. 151 00:07:56,000 --> 00:08:01,000 Pan fyddaf yn galw dulliau hyn ei fod o bananas wrth gwrs, 152 00:08:01,000 --> 00:08:04,000 felly os oes gennyf gwrthrych, ac yr wyf yn diffinio dull o'r enw foo, 153 00:08:04,000 --> 00:08:09,000 ac yr wyf am ei alw, yn hytrach na dweud foo agored / parens agos 154 00:08:09,000 --> 00:08:11,000 Rydw i'n mynd i agor braced. 155 00:08:11,000 --> 00:08:13,000 Dyma enw fy dull. 156 00:08:13,000 --> 00:08:17,000 Rydw i'n mynd i gau'r braced, a dyma'r gwrthrych rwy'n galw ar. 157 00:08:17,000 --> 00:08:20,000 Cofiwch, mae pob un o'r dulliau hyn yn bodoli o fewn dosbarthiadau 158 00:08:20,000 --> 00:08:23,000 oherwydd gall dosbarthiadau dulliau a ddiffinnir tu mewn iddynt. 159 00:08:23,000 --> 00:08:26,000 >> Yma, Rydw i wedi creu fympwyol gwrthrych o ryw ddosbarth, 160 00:08:26,000 --> 00:08:28,000 ac mae hyn yn y gystrawen ar gyfer gwneud hynny. 161 00:08:28,000 --> 00:08:31,000 Mae 2 camau i greu gwrthrych. 162 00:08:31,000 --> 00:08:34,000 Y cam cyntaf yw dweud fy mod am i neilltuo lle. 163 00:08:34,000 --> 00:08:37,000 Mae hyn yn cyfateb i malloc. Nid ydym yn rhaid i mi ddweud malloc anymore. 164 00:08:37,000 --> 00:08:42,000 Rydym yn gollwng y m, ei gwneud yn Dyraniad, ac mae'n disodli'r c. Gyda. M. 165 00:08:42,000 --> 00:08:47,000 Ar ôl rhywbeth Dyraniad ni angen i ni wedyn ymgychwyn hynny. 166 00:08:47,000 --> 00:08:49,000 Yn y bôn pan fyddwch yn creu gwrthrychau efallai y byddwch am gael rhywfaint o resymeg 167 00:08:49,000 --> 00:08:53,000 bod yn gweithredu pan fyddant yn creu, er mwyn i chi basio mewn rhai gwerthoedd diofyn 168 00:08:53,000 --> 00:08:57,000 neu rywbeth fel 'na, ac felly mae'r dull init yw'r hyn mewn gwirionedd yn creu y gwrthrych. 169 00:08:57,000 --> 00:08:59,000 Rydym yn gyntaf neilltuo lle, yn union fel y gwnaethom yn y C, 170 00:08:59,000 --> 00:09:04,000 ac yna rydym yn ei ymgychwyn, a allai neu na allai wneud llawer gyfan. 171 00:09:04,000 --> 00:09:07,000 Yna, rydym yn dychwelyd y peth hyn i mewn i wrthrych o. 172 00:09:07,000 --> 00:09:09,000 Mae seren yma oherwydd mae hyn yn dechnegol pwyntydd, 173 00:09:09,000 --> 00:09:12,000 ond peidiwch â phoeni, nid arwyddion yw bod mawr llawer yn Amcan-C anymore. 174 00:09:12,000 --> 00:09:15,000 >> Nawr rydym wedi instantiated y dosbarth hwn o'r enw NSObject, 175 00:09:15,000 --> 00:09:19,000 ac mae hyn yn unig yw dosbarth ar hap bod Apple wedi. 176 00:09:19,000 --> 00:09:22,000 Rydym wedi instantiated hyn, ac yn awr yr wyf wedi yn enghraifft o'r dosbarth hwn 177 00:09:22,000 --> 00:09:25,000 yn hyn o wrthrych, felly mae hynny'n golygu bod os byddaf yn diffinio 178 00:09:25,000 --> 00:09:29,000 dulliau hyn y gallwn ei alw'n nhw fel hyn. 179 00:09:29,000 --> 00:09:31,000 Yn yr un modd, os oeddwn i eisiau i alw dull gydag un ddadl, 180 00:09:31,000 --> 00:09:34,000 felly dyma'r dull bar, sy'n cymryd un ddadl, 181 00:09:34,000 --> 00:09:38,000 a dyma'r Baz: qux dull, felly mae hyn yn cymryd 2 dadleuon. 182 00:09:38,000 --> 00:09:44,000 Mae hyn yn galw un swyddogaeth ar hyn o wrthrych. 183 00:09:44,000 --> 00:09:46,000 Gwneud synnwyr? 184 00:09:46,000 --> 00:09:50,000 Dylai'r cystrawen gwneud synnwyr, ond rydych fath o ddod i arfer ag ef. 185 00:09:50,000 --> 00:09:54,000 >> Iawn, gadewch i ni siarad am ychydig o bethau sy'n cael eu hadeiladu i mewn i Amcan-C 186 00:09:54,000 --> 00:09:56,000 na chawsant eu hadeiladu o reidrwydd i mewn i C. 187 00:09:56,000 --> 00:09:59,000 Yn C rydym yn fath o gorfod delio gyda llinynnau gan fod y rhain araeau cymeriad dwp, 188 00:09:59,000 --> 00:10:01,000 ac mae'n cael andros o niwsans. 189 00:10:01,000 --> 00:10:04,000 Amcan-C yn rhai a adeiladwyd i gyd yn i ni, ac iddi gael ei hadeiladu yn y 190 00:10:04,000 --> 00:10:06,000 defnyddio'r dosbarth hwn o'r enw NSString. 191 00:10:06,000 --> 00:10:10,000 Pan fyddaf yn awyddus i greu NSString gennym cystrawen yn fwy dirgel. 192 00:10:10,000 --> 00:10:15,000 Yn hytrach na dweud "cs50" rydym yn dweud @ "cs50" 193 00:10:15,000 --> 00:10:17,000 ac mae hyn yn unig y gystrawen ar gyfer datgan llinynnau yn Amcan-C. 194 00:10:17,000 --> 00:10:21,000 Mae hyn yn hynod o hawdd i'w anghofio, felly peidiwch â. 195 00:10:21,000 --> 00:10:24,000 Nawr, ar ôl imi gael hyn, mae hyn yn llinyn, ond sylwi 196 00:10:24,000 --> 00:10:26,000 mae'n wirioneddol yn unig wrthrych. 197 00:10:26,000 --> 00:10:30,000 Dywedais NSString, sy'n golygu fy mod instantiated y dosbarth 198 00:10:30,000 --> 00:10:32,000 enw NSString, y mae rhywun arall ysgrifennodd i mi, 199 00:10:32,000 --> 00:10:35,000 ac roedden nhw'n caredig iawn am y peth, ac felly nawr 200 00:10:35,000 --> 00:10:37,000 Gallaf ddechrau galw dulliau arno. 201 00:10:37,000 --> 00:10:40,000 Os byddaf yn galw hyd ar y dull s gwrthrych 202 00:10:40,000 --> 00:10:43,000 mae'n mynd i ddychwelyd i mi hyd y llinyn. 203 00:10:43,000 --> 00:10:45,000 Mae hyn yn union fel strlen yn C. 204 00:10:45,000 --> 00:10:47,000 Byddai hyn yn dychwelyd 4. 205 00:10:47,000 --> 00:10:51,000 >> Yn yr un modd, dull arall efallai y byddwn yn dymuno gofalu amdano yw hwn characterAtIndex. 206 00:10:51,000 --> 00:10:54,000 Mae hwn yn ddull sy'n dweud ar hyn s llinyn 207 00:10:54,000 --> 00:10:57,000 Rwyf am i chi i gael y cymeriad 0, 208 00:10:57,000 --> 00:10:59,000 ac felly byddai hyn yn dychwelyd i mi y c cymeriad, 209 00:10:59,000 --> 00:11:02,000 ac mae criw cyfan ragor o'r dulliau hyn y gallwch Google 'n sylweddol yn hawdd. 210 00:11:02,000 --> 00:11:07,000 Afalau 'ddogfennaeth yn wych, a byddwn yn edrych ar hynny mewn ychydig. 211 00:11:07,000 --> 00:11:09,000 Mae'r rheini'n llinynnau. 212 00:11:09,000 --> 00:11:11,000 Rydym hefyd wedi araeau faint amrywiol hadeiladu i mewn 213 00:11:11,000 --> 00:11:13,000 Cofiwch yn C pan fyddwn yn datgan amrywiaeth 214 00:11:13,000 --> 00:11:16,000 roedd rhaid i ni ddweud eich bod wedi 5 elfen, diwedd y stori. 215 00:11:16,000 --> 00:11:18,000 Pan fyddwn yn rhaid i JavaScript a PHP gallem ddechrau 216 00:11:18,000 --> 00:11:20,000 gwneud pethau fel ychwanegu elfennau neu symud elfennau. 217 00:11:20,000 --> 00:11:22,000 Gallwn wneud yr un peth yn Amcan-C. 218 00:11:22,000 --> 00:11:26,000 Yn hytrach na chreu amrywiaeth yn y ffordd arferol C 219 00:11:26,000 --> 00:11:30,000 gennym eto dosbarth arall o'r enw NSMutableArray. 220 00:11:30,000 --> 00:11:33,000 Mae hefyd yn NSArray, 221 00:11:33,000 --> 00:11:35,000 ac mae hyn yn mynd i yn y bôn crynhoi rhywfaint o amrywiaeth. 222 00:11:35,000 --> 00:11:38,000 Mae hyn yn dweud y peth cyntaf i mi am ei wneud yw fy mod yn dymuno dyrannu 223 00:11:38,000 --> 00:11:41,000 gofod ar gyfer amrywiaeth newydd, ac ar ôl yr wyf yn dyrannu ei 224 00:11:41,000 --> 00:11:43,000 Yna mae angen i ymgychwyn hynny. 225 00:11:43,000 --> 00:11:45,000 Unwaith eto, dim ond galw y 2 ddull. 226 00:11:45,000 --> 00:11:48,000 Nawr mae hyn yn golygu bod tu mewn y gwrthrych a 227 00:11:48,000 --> 00:11:50,000 Rwyf wedi amrywiaeth gwag yn eistedd yno. 228 00:11:50,000 --> 00:11:54,000 Os ydw i eisiau ychwanegu rhywbeth at y array, gallaf alw y dull addObject. 229 00:11:54,000 --> 00:11:59,000 Hoffwn ychwanegu gwrthrych at y casgliad a, ac rwyf eisiau ychwanegu y llinyn CS50. 230 00:11:59,000 --> 00:12:02,000 Os byddaf yn awyddus i gael gwared ar y llaw arall gallaf ddweud fy mod eisiau 231 00:12:02,000 --> 00:12:09,000 gael gwared ar y gwrthrych yn y lle cyntaf ar y casgliad neu wrthwynebu a. 232 00:12:09,000 --> 00:12:11,000 >> Gwneud synnwyr? 233 00:12:11,000 --> 00:12:14,000 Iawn, rydych fath o ddod i arfer y peth hyn braced sgwâr. 234 00:12:14,000 --> 00:12:18,000 Gyda llaw, y tu mewn o lawer o Afalau 'lyfrgelloedd byddwch yn gweld hyn NS. 235 00:12:18,000 --> 00:12:21,000 Mae'r NS mewn gwirionedd yn sefyll ar gyfer cam nesaf, a oedd yn un o Steve Jobs cwmnïau cyntaf, 236 00:12:21,000 --> 00:12:24,000 a dyna lle ei fod mewn gwirionedd dechreuodd ysgrifennu llawer o'r cod 237 00:12:24,000 --> 00:12:27,000 fel math o sail ar gyfer Mac OS X a'r holl bethau eraill, 238 00:12:27,000 --> 00:12:32,000 ac felly mae'r NS yn fath o etifeddiaeth hon 'n glws gweiddi allan i un o'r cwmnïau cynharach 239 00:12:32,000 --> 00:12:34,000 yn ôl pan oedd Apple cyntaf yn dechrau allan. 240 00:12:34,000 --> 00:12:36,000 Mae'n ym mhob man. 241 00:12:36,000 --> 00:12:41,000 Gadewch i ni edrych ar enghraifft mwy cyfannol Amcan-C. 242 00:12:41,000 --> 00:12:44,000 Dyma fi tu mewn XCode. 243 00:12:44,000 --> 00:12:47,000 I gael yma, tro cyntaf i mi llwytho i lawr XCode o'r Store App, 244 00:12:47,000 --> 00:12:50,000 agor i fyny, ac yna fe es i fyny yma i ffeil, 245 00:12:50,000 --> 00:12:54,000 dros yma i brosiect newydd, ac yna. 246 00:12:54,000 --> 00:12:57,000 Ar ôl i mi wneud hynny gennyf yr holl opsiynau hyn o'r hyn rwyf am i greu, 247 00:12:57,000 --> 00:12:59,000 ac felly byddwn yn edrych ar yr opsiynau hyn yn ddiweddarach, 248 00:12:59,000 --> 00:13:03,000 ond dim ond ar gyfer yr enghraifft hon, oherwydd nid ydym yn wir yn mynd i gael app eto, 249 00:13:03,000 --> 00:13:06,000 Fe ddes i lawr yma, a dywedais Offeryn Archa Bannod, 250 00:13:06,000 --> 00:13:09,000 ac mae hwn yn app y gallwn redeg ar y llinell orchymyn 251 00:13:09,000 --> 00:13:12,000 yn union fel rydym wedi bod yn rhedeg o C. 252 00:13:12,000 --> 00:13:16,000 Dyna sut yr wyf yn creu y prosiect hwn, ac felly nawr dwi yma, 253 00:13:16,000 --> 00:13:20,000 felly gadewch i ni edrych yn gyntaf ar y ffeil hon, a dylai hyn edrych yn bert cyfarwydd. 254 00:13:20,000 --> 00:13:24,000 Mae gen i enw int. Mae fy ffrind fy argc eraill buddy argv. 255 00:13:24,000 --> 00:13:30,000 Ac fel y gallwn weld mai dyma'r man cychwyn ar gyfer fy cyntaf Amcan-C cais. 256 00:13:30,000 --> 00:13:32,000 Yma, gallwn anwybyddu hyn am y tro. 257 00:13:32,000 --> 00:13:35,000 Mae hyn yn y bôn peth cof pethau rheoli y byddwch yn ddim wir 258 00:13:35,000 --> 00:13:37,000 erioed wedi i boeni amdano. 259 00:13:37,000 --> 00:13:39,000 >> Gadewch i ni edrych ar y bloc cyntaf yma. 260 00:13:39,000 --> 00:13:46,000 Mae'r llinell gyntaf, os caf ddweud Myfyrwyr * Alice = [Dyraniad Myfyrwyr [] init] beth sy'n bod yn ei wneud? 261 00:13:46,000 --> 00:13:50,000 Mae'r myfyriwr cyntaf yma, mae'n debyg mai dosbarth. 262 00:13:50,000 --> 00:13:54,000 Nid yw hyn yn ddosbarth bod Apple ysgrifennodd, ond mae'n dosbarth a ysgrifennais. 263 00:13:54,000 --> 00:13:57,000 Y peth cyntaf i mi am ei wneud yw fy mod am i neilltuo lle i fyfyriwr newydd, 264 00:13:57,000 --> 00:14:00,000 ac yna yr wyf am ei ymgychwyn, felly mae hyn yn rhoi i mi yn ôl 265 00:14:00,000 --> 00:14:05,000 gwrthrych hwn i fyfyrwyr newydd, ac rwy'n storio hyn mewn amrywiol o'r enw Alice. 266 00:14:05,000 --> 00:14:07,000 Ble oedd y dosbarth hwnnw yn dod? 267 00:14:07,000 --> 00:14:12,000 Wel, dros yma ar yr ochr chwith mae'r rhain i gyd o'r ffeiliau gwahanol tu mewn fy mhrosiect. 268 00:14:12,000 --> 00:14:16,000 Gallwn weld yma gen i Student.h a Student.m. 269 00:14:16,000 --> 00:14:20,000 Mae'r. Ffeil h, cofiwch, yn lle yr wyf yn datgan yr holl bethau 270 00:14:20,000 --> 00:14:22,000 a fydd yn bodoli o fewn y dosbarth. 271 00:14:22,000 --> 00:14:25,000 >> Gadewch i ni edrych ar hynny. 272 00:14:25,000 --> 00:14:29,000 Mae pob hawl, yma rydym yn cael y rhyngwyneb @, ac mae hyn yn dweud bod yma yn dod 273 00:14:29,000 --> 00:14:33,000 y datganiadau o bopeth fydd yn bodoli o fewn fy nosbarth. 274 00:14:33,000 --> 00:14:36,000 Yna gen i colon. Yna mi gael y peth NSObject. 275 00:14:36,000 --> 00:14:40,000 Mae hyn yn colon yn nodi bod ychydig yn etifeddiaeth yr oeddem yn trafod ychydig yn gynt. 276 00:14:40,000 --> 00:14:43,000 Mae hyn yn dweud popeth y gall ei wneud NSObject 277 00:14:43,000 --> 00:14:46,000 lle mae NSObject yn y dosbarth hwn ei ysgrifennu gan rywun arall, 278 00:14:46,000 --> 00:14:50,000 popeth y gall hyn ei wneud NSObject wyf am fod yn gallu gwneud hynny. 279 00:14:50,000 --> 00:14:54,000 Drwy ddweud: NSObject hynny'n golygu fy mod yn y bôn 280 00:14:54,000 --> 00:14:58,000 Etifeddodd yr holl ymarferoldeb o ddosbarth arall. 281 00:14:58,000 --> 00:15:02,000 Mae hynny'n wir yn cefais criw cyfan o ddulliau gwahanol ac eiddo y gallaf eu defnyddio. 282 00:15:02,000 --> 00:15:05,000 Down yma rwy'n creu 2 eiddo. 283 00:15:05,000 --> 00:15:08,000 Mae hynny'n golygu fy myfyrwyr, pe bai hwn yn strwythur, byddai'r rhain yn y 2 beth 284 00:15:08,000 --> 00:15:11,000 tu mewn fy strwythur, felly mae pob myfyriwr yn cael enw 285 00:15:11,000 --> 00:15:14,000 bod yn llinyn, a myfyriwr hefyd gradd, 286 00:15:14,000 --> 00:15:17,000 sydd yn int. 287 00:15:17,000 --> 00:15:23,000 >> Yn olaf, i lawr yma yr wyf i'n mynd i greu dull ar gyfer fy myfyrwyr. 288 00:15:23,000 --> 00:15:26,000 Gelwais fy dull, initWithName, ac mae'n cymryd un ddadl, 289 00:15:26,000 --> 00:15:31,000 a bod y ddadl yn llinyn, a gelwais ei enwi. 290 00:15:31,000 --> 00:15:35,000 Nawr gadewch i ni edrych ar sut rydym yn gweithredu mewn gwirionedd y dosbarth hwn. 291 00:15:35,000 --> 00:15:38,000 Yma, erbyn hyn rwy'n tu mewn fy. Ffeil m, 292 00:15:38,000 --> 00:15:40,000 m ar gyfer gweithredu, yr wyf yn dyfalu. 293 00:15:40,000 --> 00:15:44,000 Mae gen i fy gweithredu, fy diwedd, a dyma lle dwi'n mewn gwirionedd yn diffinio 294 00:15:44,000 --> 00:15:47,000 pa initWithName yn ei wneud. 295 00:15:47,000 --> 00:15:50,000 Mae gen i initWithName, enw fy paramedr, ac yna mae hyn 296 00:15:50,000 --> 00:15:53,000 lle mewn gwirionedd rwy'n creu myfyriwr, 297 00:15:53,000 --> 00:15:56,000 ac felly mae hwn yn ychydig yn cryptic, ond mae hyn yn fath o boilerplate 298 00:15:56,000 --> 00:15:58,000 eich bod am eu cynnwys yn eich adeiladwyr. 299 00:15:58,000 --> 00:16:02,000 Mae'r swyddogaeth hon yn initialization yma, initWithName, yn fath o Constructor. 300 00:16:02,000 --> 00:16:05,000 Rydych yn y bôn adeiladu gwrthrych myfyrwyr newydd 301 00:16:05,000 --> 00:16:07,000 ac efallai anfon peth data y tu mewn ohono. 302 00:16:07,000 --> 00:16:11,000 Y peth cyntaf i mi am ei wneud yw fy mod am alw init ar y peth super. 303 00:16:11,000 --> 00:16:15,000 >> Cofiwch, pan ddywedais yn ôl yma yn y. Ffeil h 304 00:16:15,000 --> 00:16:21,000 bod popeth yn NSObject Mae gan fyfyriwr hefyd. 305 00:16:21,000 --> 00:16:24,000 Mae hynny'n golygu pan fyddaf yn creu fyfyriwr hyn yr wyf hefyd angen i chi ei wneud yw 306 00:16:24,000 --> 00:16:28,000 gwneud yn siŵr bod y NSObject fy mod i'n etifeddu yr holl o'r data hwnnw o 307 00:16:28,000 --> 00:16:32,000 yn cael ei ymgychwyn yn iawn hefyd. 308 00:16:32,000 --> 00:16:36,000 Beth sydd angen imi ei ddweud yw hyn super mewn gwirionedd yn mynd i gyfeirio at y dosbarth rhiant 309 00:16:36,000 --> 00:16:39,000 fy mod yn etifeddu o, felly yr wyf am wneud yn siwr fy mod ymgychwyn 310 00:16:39,000 --> 00:16:43,000 popeth fy mod yn dibynnu ar cyn i mi ddechrau ceisio ei ddefnyddio. 311 00:16:43,000 --> 00:16:46,000 Yna, os yw'r ymgychwyn yn gywir yn unig yw hwn fel dweud os malloc 312 00:16:46,000 --> 00:16:50,000 ni ddychwelodd null yna gallaf ddechrau gosod rhai eiddo. 313 00:16:50,000 --> 00:16:54,000 >> Yn JavaScript a PHP rydym wedi hyn a elwir yn keyword hyn, 314 00:16:54,000 --> 00:16:58,000 ac mae hyn yn cyfeirio at y lle presennol o ddosbarth. 315 00:16:58,000 --> 00:17:00,000 Yn Amcan-C rydym yn galw hyn hunan. 316 00:17:00,000 --> 00:17:04,000 Pan fyddaf yn dweud self.name, sy'n golygu bod y gwrthrych 317 00:17:04,000 --> 00:17:07,000 Fi jyst ei greu pan ddywedais Dyraniad myfyrwyr init, 318 00:17:07,000 --> 00:17:09,000 mae hynny'n mynd i roi i mi yn ôl gwrthrych. 319 00:17:09,000 --> 00:17:12,000 Mae hynny'n golygu fy mod am i osod enw'r gwrthrych 320 00:17:12,000 --> 00:17:15,000 i beth bynnag Fi jyst pasio i mewn 321 00:17:15,000 --> 00:17:18,000 Yn union fel yn C, rydym yn cael mynediad aelodau gyda'r dot, 322 00:17:18,000 --> 00:17:21,000 felly self.name yn dweud enw'r gwrthrych myfyrwyr 323 00:17:21,000 --> 00:17:24,000 yn awr yn mynd i fod yn beth bynnag yr ydych newydd basio i mewn 324 00:17:24,000 --> 00:17:28,000 Ac felly yn olaf, gallaf ddychwelyd ef felly mi mewn gwirionedd yn cael rhywbeth yn ôl. 325 00:17:28,000 --> 00:17:30,000 >> Cwestiynau? 326 00:17:30,000 --> 00:17:34,000 Iawn, felly mae hyn yn hunan = super init, 327 00:17:34,000 --> 00:17:37,000 Nid yw os nad ydych yn llwyr ddeall y pethau etifeddiaeth peidiwch â phoeni. 328 00:17:37,000 --> 00:17:40,000 Dim ond yn gwybod os ydych erioed wedi eisiau i wneud eich dull eich hun yn unig init 329 00:17:40,000 --> 00:17:42,000 gwneud hynny, a byddwch yn dda i fynd. 330 00:17:42,000 --> 00:17:44,000 Yeah. >> [Myfyrwyr] Beth yw ystyr hunan os? 331 00:17:44,000 --> 00:17:49,000 Mae hyn yn golygu pan fyddwn yn malloc rhywbeth yr ydym bob amser yn gwirio os oedd cyfartal i null, 332 00:17:49,000 --> 00:17:51,000 ac os oedd yn null, yna rydym yn gadael. 333 00:17:51,000 --> 00:17:55,000 Mae hyn yr un peth, oherwydd os yw hyn yn null ffurflenni, yna rydym yn fwy na thebyg yn mynd i fai seg 334 00:17:55,000 --> 00:17:57,000 os ydym yn dechrau ceisio camddefnyddio'r dewis hwnnw. 335 00:17:57,000 --> 00:18:01,000 Dyna ein dosbarth myfyrwyr. 336 00:18:01,000 --> 00:18:03,000 Mae hynny'n golygu y gallwn ymgychwyn ein myfyrwyr mewn un o ddwy ffordd. 337 00:18:03,000 --> 00:18:08,000 Os wyf yn dweud Dyraniad myfyrwyr init Dydw i ddim yn defnyddio'r dull yr wyf newydd ei ysgrifennu, 338 00:18:08,000 --> 00:18:11,000 ac yn lle y gallaf ddweud yn syml alice.name, 339 00:18:11,000 --> 00:18:14,000 ac yn awr yr wyf i'n mynd i osod yr enw eiddo. 340 00:18:14,000 --> 00:18:17,000 >> Yn yr un modd, os ydw i eisiau defnyddio'r dull initWithName 341 00:18:17,000 --> 00:18:20,000 Gallaf ddweud yn syml Dyraniad, ac yna yn hytrach na dweud init 342 00:18:20,000 --> 00:18:24,000 Rydw i'n mynd i alw y dull yr wyf newydd ei greu, ac yr wyf i'n mynd i basio yn Bob. 343 00:18:24,000 --> 00:18:30,000 Ar y pwynt hwn, mae'r Bob gwrthrych enw cyfartal i Bob. 344 00:18:30,000 --> 00:18:35,000 Iawn, i lawr yma Im 'yn arfer bod NSMutableArray ein bod yn edrych ar gynharach. 345 00:18:35,000 --> 00:18:38,000 Rwy'n dyrannu space.Then rwy'n ymgychwyn amrywiaeth newydd. 346 00:18:38,000 --> 00:18:40,000 Rydw i'n mynd i ychwanegu 2 beth ato. 347 00:18:40,000 --> 00:18:43,000 Mae'r amrywiaeth bellach yn cynnal gwrthrychau myfyrwyr. 348 00:18:43,000 --> 00:18:46,000 Hysbysiad bod unman oedd rhaid i mi ddweud hyn llu o fyfyrwyr. 349 00:18:46,000 --> 00:18:48,000 Dywedais ei fod yn array, cyfnod. 350 00:18:48,000 --> 00:18:50,000 Yna gall yr wyf yn rhoi pa bynnag tu mewn y peth fy mod eisiau. 351 00:18:50,000 --> 00:18:52,000 Mae gen i 2 wrthrych. 352 00:18:52,000 --> 00:18:56,000 >> Yn olaf, mae gennyf wrthrych arall yma, mae hyn TF. 353 00:18:56,000 --> 00:18:59,000 Mae dros yma yn TF.h y bôn yr un peth. 354 00:18:59,000 --> 00:19:01,000 Rwy'n etifeddu o NSObject, a gan y ffordd, 355 00:19:01,000 --> 00:19:03,000 pan fyddwch yn creu dosbarthiadau hyn yn cael ei wneud i gyd i chi, 356 00:19:03,000 --> 00:19:06,000 y math hwn o boilerplate rhyngwyneb. 357 00:19:06,000 --> 00:19:08,000 Mae ganddo eiddo o fyfyrwyr. 358 00:19:08,000 --> 00:19:15,000 Mae gen i gwpl dulliau yma nad ydynt yn wir yn gwneud llawer gyfan, 359 00:19:15,000 --> 00:19:18,000 ac felly mae hynny'n golygu ar ôl i mi greu y gwrthrych TF 360 00:19:18,000 --> 00:19:23,000 Gallaf alw radd hon dull arno fel hyn. 361 00:19:23,000 --> 00:19:26,000 Unrhyw gwestiynau am Amcan-C cystrawen cyn i ni ddechrau symud i mewn i rai mwy 362 00:19:26,000 --> 00:19:30,000 stwff diddorol datblygu apps? 363 00:19:30,000 --> 00:19:34,000 >> Iawn, felly gadewch i ni mewn gwirionedd yn gwneud app iPhone. 364 00:19:34,000 --> 00:19:39,000 Mae'r dosbarthiadau craidd y byddwch yn eu defnyddio tu mewn i'ch app iPhone yn cael eu galw'n rheolwyr barn, 365 00:19:39,000 --> 00:19:42,000 a rheolwr barn yn y bôn yn cynrychioli un sgrin 366 00:19:42,000 --> 00:19:46,000 tu mewn i'ch app, felly os dwi ar y app cerddoriaeth, er enghraifft, 367 00:19:46,000 --> 00:19:50,000 gallai un rheolwr barn cynrychioli barn yr wyf yn gweld yr holl ganeuon ar fy iPhone. 368 00:19:50,000 --> 00:19:53,000 Gallai arall rheolwr farn fod pan fyddaf yn clicio cân a dechrau chwarae ei 369 00:19:53,000 --> 00:19:55,000 neu gan fy mod yn drilio i lawr i artistiaid. 370 00:19:55,000 --> 00:19:59,000 Gallai pob un o'r sgriniau gwahanol yn cael ei gynrychioli fel rheolwr safbwynt gwahanol, 371 00:19:59,000 --> 00:20:04,000 a rheolwr barn mewn gwirionedd yn unig ddosbarth sy'n dweud sut y sgrin yn gweithio. 372 00:20:04,000 --> 00:20:07,000 Pethau tu mewn i reolwr barn, rydym yn mynd i gael eiddo, 373 00:20:07,000 --> 00:20:10,000 felly pethau fel botwm yn mynd i fod yn eiddo ein rheolwr barn. 374 00:20:10,000 --> 00:20:13,000 >> Rydym ni hefyd yn mynd i gael dulliau, ac mae'r rhain yn y bôn sy'n trin digwyddiad. 375 00:20:13,000 --> 00:20:16,000 Mae'r dull hwn yn dweud pan fyddwch yn gwasgu'r botwm hwn 376 00:20:16,000 --> 00:20:19,000 Rwyf am wneud rhywbeth, ac yn olaf, unwaith eto, 377 00:20:19,000 --> 00:20:24,000 rydym yn mynd i fod yn defnyddio'r gair allweddol hunan i gael mynediad at y lle ar hyn o bryd. 378 00:20:24,000 --> 00:20:29,000 Er mwyn adeiladu rhyngwynebau yn iOS mewn gwirionedd yn iawn, iawn hawdd. 379 00:20:29,000 --> 00:20:32,000 Maent yn cael y drag 'n glws a rhyngwyneb gollwng o'r enw Rhyngwyneb Adeiladwr, 380 00:20:32,000 --> 00:20:37,000 a'r 2 cysyniadau craidd y wifren i fyny 'ch Amcan-C i Rhyngwyneb Builder 381 00:20:37,000 --> 00:20:40,000 yn IBOutlet a IBAction. 382 00:20:40,000 --> 00:20:44,000 Mae IBOutlet yn syml yn dweud, os ydych yn datgan eiddo sy'n botwm, 383 00:20:44,000 --> 00:20:47,000 ac rydych am i bachyn i fyny i rywbeth yn eich UI gwirioneddol, 384 00:20:47,000 --> 00:20:49,000 ydych chi'n mynd i ddweud ei fod yn allfa. 385 00:20:49,000 --> 00:20:51,000 Yn yr un modd, os ydych am i gynrychioli driniwr digwyddiad 386 00:20:51,000 --> 00:20:54,000 yna rydych chi'n mynd i ddweud ei fod yn gweithredu. 387 00:20:54,000 --> 00:20:57,000 >> I mewn gwirionedd gwifren i fyny y gynrychiolaeth graffigol 388 00:20:57,000 --> 00:21:00,000 a bod eich cod mae'n wirioneddol, syml iawn. 389 00:21:00,000 --> 00:21:03,000 Os ydych am i atodi IBOutlet, y cyfan mae'n rhaid i chi ei wneud yw i chi reoli clic, 390 00:21:03,000 --> 00:21:05,000 a byddwn yn gweld enghraifft o hyn yn wir yn gyflym. 391 00:21:05,000 --> 00:21:07,000 Chi sy'n rheoli cliciwch lle mae'n dweud Rheolwr View. 392 00:21:07,000 --> 00:21:09,000 Rydych chi'n mynd i lusgo i mewn i'r rhyngwyneb, neu i'r gwrthwyneb, 393 00:21:09,000 --> 00:21:13,000 os ydych am i bachyn i fyny yn trin y digwyddiad yr ydych yn mynd i lusgo oddi wrth y rhyngwyneb 394 00:21:13,000 --> 00:21:15,000 yn y cyfeiriad arall. 395 00:21:15,000 --> 00:21:20,000 Gadewch i ni edrych ar enghraifft iOS syml iawn. 396 00:21:20,000 --> 00:21:23,000 >> Gadewch i ni greu prosiect newydd. 397 00:21:23,000 --> 00:21:25,000 Rydw i'n mynd i ddod i fyny yma i Cais, 398 00:21:25,000 --> 00:21:28,000 ac rydw i'n mynd i glicio Cais View Sengl. 399 00:21:28,000 --> 00:21:31,000 Rydw i'n mynd i glicio nesaf. Byddaf yn rhoi fy mhrosiect enw. 400 00:21:31,000 --> 00:21:33,000 'N annhymerus' galw Helo. 401 00:21:33,000 --> 00:21:36,000 Yn ddiddorol, Apple yn cymryd yn ganiataol eich bod yn creu cynnyrch 402 00:21:36,000 --> 00:21:38,000 fel y gallwch ei werthu a gallant wneud arian. 403 00:21:38,000 --> 00:21:41,000 Down dyma dw i'n mynd i ddweud bod hwn yn app iPhone. 404 00:21:41,000 --> 00:21:44,000 Gallwch greu app iPad, neu os ydych am i greu un o'r rhai apps 405 00:21:44,000 --> 00:21:47,000 sy'n cefnogi dyfeisiau gallwch wneud hynny hefyd. 406 00:21:47,000 --> 00:21:49,000 Mae'r rhain yn yr hyn yr ydych am i'ch checkmarks i edrych fel. 407 00:21:49,000 --> 00:21:51,000 >> Byddwch am ddefnyddio byrddau stori, y byddwn yn gweld yn nes ymlaen, 408 00:21:51,000 --> 00:21:54,000 ac yn bendant am ddefnyddio cyfrif cyfeirnod awtomatig, 409 00:21:54,000 --> 00:21:58,000 sy'n nodwedd braf sy'n eich atal rhag gorfod dweud malloc ac am ddim. 410 00:21:58,000 --> 00:22:03,000 Oni bai eich bod am alw malloc ac am ddim, byddwn gadewch hwn wedi'i fritho. 411 00:22:03,000 --> 00:22:07,000 'N annhymerus' cliciwch nesaf, ac yn olaf, mae hyn yn mynd i ofyn i mi lle'r wyf am achub. 412 00:22:07,000 --> 00:22:14,000 'N annhymerus' daro greu, ac yma yr ydym yn mynd. 413 00:22:14,000 --> 00:22:16,000 Yr wyf yn creu prosiect newydd. 414 00:22:16,000 --> 00:22:19,000 Dros yma ar y chwith yw'r holl ffeiliau sydd tu mewn fy mhrosiect, 415 00:22:19,000 --> 00:22:22,000 ac yn sylwi fy mod wedi cael criw cyfan, a doeddwn i ddim hyd yn oed yn gwneud unrhyw beth. 416 00:22:22,000 --> 00:22:24,000 IOS yn wych. 417 00:22:24,000 --> 00:22:27,000 >> Er enghraifft, yma y ViewController.h, 418 00:22:27,000 --> 00:22:30,000 hyn yn mynd i gynrychioli fy rheolwr olwg gyntaf, 419 00:22:30,000 --> 00:22:32,000 felly y sgrin gyntaf y tu mewn fy app. 420 00:22:32,000 --> 00:22:34,000 Nawr rydym yn gwybod beth mae hyn yn ei ddweud. 421 00:22:34,000 --> 00:22:36,000 Rydym yn dweud mod i'n galw hyn ViewController dosbarth, 422 00:22:36,000 --> 00:22:40,000 a ViewController yn gwneud popeth y mae UIViewController yn ei wneud, 423 00:22:40,000 --> 00:22:43,000 ac mae hyn, unwaith eto, tua dosbarth sy'n Apple ysgrifennodd y mae llawer o bethau defnyddiol i ni 424 00:22:43,000 --> 00:22:46,000 yn hoffi arddangos y sgrin. 425 00:22:46,000 --> 00:22:50,000 Dyma lle gall Fi 'n weithredol ddechrau diffinio beth yw fy marn rheolwr ei wneud, 426 00:22:50,000 --> 00:22:52,000 ac mae'n troi allan yr wyf yn wir nid oes angen unrhyw un o'r hyn. 427 00:22:52,000 --> 00:22:55,000 Mae hyn yn cod boilerplate bod Apple yn rhoi i mi ar gyfer rhad ac am ddim. 428 00:22:55,000 --> 00:22:59,000 Fe wnes angen y llinell gyntaf, neu os nad oes gennyf ddosbarth, 429 00:22:59,000 --> 00:23:02,000 er mwyn i ni gael gwared o hynny a chael gwared o hyn. 430 00:23:02,000 --> 00:23:05,000 Iawn, felly dyma fy sgrin wag. 431 00:23:05,000 --> 00:23:08,000 >> Nawr gadewch i ni cliciwch ar y MainStoryboard.storyboard, 432 00:23:08,000 --> 00:23:11,000 a dyma lle y bydd yn dechrau i gael diddorol. 433 00:23:11,000 --> 00:23:14,000 Mae hyn yn cynrychioli y sgrin gyntaf ar fy app. 434 00:23:14,000 --> 00:23:17,000 Os ydw i eisiau ychwanegu botwm, yn HTML bu'n rhaid i mi greu tag botwm. 435 00:23:17,000 --> 00:23:20,000 Yn Android rhaid i chi greu tag botwm, 436 00:23:20,000 --> 00:23:23,000 ond yn iOS os Fi jyst dod i lawr yma i'r dde ar y gwaelod 437 00:23:23,000 --> 00:23:27,000 ac os fyddaf yn clicio ar yr un 3 yma lle mae'n dweud Gwrthrychau, 438 00:23:27,000 --> 00:23:31,000 a gallaf sgrolio i lawr, neu gallaf ddechrau chwilio am botwm. 439 00:23:31,000 --> 00:23:35,000 Ac edrychwch, botwm, felly os wyf mewn gwirionedd yn llusgo a gollwng yr hawl hwn yno, 440 00:23:35,000 --> 00:23:38,000 Rwyf wedi ychwanegu dim ond botwm i'r sgrin hon ar fy app. 441 00:23:38,000 --> 00:23:41,000 Os wyf am newid y testun, gallaf dwbl cliciwch arno, 442 00:23:41,000 --> 00:23:47,000 dweud rhywbeth ddenu fel "Gwasgwch Me." 443 00:23:47,000 --> 00:23:51,000 Iawn, yn awr os byddaf yn rhedeg y app, felly rydym yn llunio ei, 444 00:23:51,000 --> 00:23:54,000 felly er mwyn rhedeg fyddaf yn clicio ar y botwm chwarae yn yr ochr chwith uchaf, ac mae fy app. 445 00:23:54,000 --> 00:23:58,000 Doeddwn i ddim yn gwneud unrhyw beth, ac fe ges i app iPhone melys yn edrych. 446 00:23:58,000 --> 00:24:01,000 Os wyf i am ei atal, gallwch glicio ar y botwm stop 447 00:24:01,000 --> 00:24:03,000 oherwydd ei fod yn fwy o hwyl. 448 00:24:03,000 --> 00:24:07,000 >> Gadewch i ni ddweud fy mod mewn gwirionedd, am i rywbeth ddigwydd pan fyddaf yn gwasgu'r botwm hwn. 449 00:24:07,000 --> 00:24:09,000 I wneud hynny beth mae angen imi ei wneud yw fy mod angen i greu 450 00:24:09,000 --> 00:24:13,000 yn trin digwyddiad newydd neu weithredu. 451 00:24:13,000 --> 00:24:16,000 Mae hynny'n golygu bod angen i mi greu rhai ddull yr wyf am ei gael ei alw 452 00:24:16,000 --> 00:24:18,000 pan fyddaf yn pwyswch y botwm, felly gadewch i ni greu dull newydd. 453 00:24:18,000 --> 00:24:20,000 Rwy'n tu mewn ViewController.h. 454 00:24:20,000 --> 00:24:22,000 Angen i mi ddweud bod dull yn bodoli. 455 00:24:22,000 --> 00:24:26,000 Mae arnaf angen cysylltnod cyntaf oherwydd yr wyf i'n mynd i gael eu galw hyn ar y rheolwr barn. 456 00:24:26,000 --> 00:24:28,000 Angen i mi roi hyn math. 457 00:24:28,000 --> 00:24:31,000 Mae'r math o hyn yn mynd i fod peth IBAction a welsom yn gynharach. 458 00:24:31,000 --> 00:24:35,000 Mae hwn yn trin digwyddiad, felly mae'n mynd i ddychwelyd IBAction, 459 00:24:35,000 --> 00:24:38,000 ac mae hyn yn awgrym i XCode i ddweud bod 460 00:24:38,000 --> 00:24:40,000 mae hyn yn rhywbeth rwyf am ei gwifren rhywbeth i. 461 00:24:40,000 --> 00:24:45,000 Gallaf roi enw iddo, fel buttonPressed, hanner colon. 462 00:24:45,000 --> 00:24:48,000 >> Nawr rwyf wedi datgan yn ddull newydd y tu mewn o fy nosbarth. 463 00:24:48,000 --> 00:24:50,000 Rwyf wedi dweud y dull hwn i fodoli. 464 00:24:50,000 --> 00:24:53,000 Nawr gadewch i ni ddod i ViewController.m, 465 00:24:53,000 --> 00:24:56,000 a gadewch i ni ddweud yr hyn y gall y dull hwn ei wneud. 466 00:24:56,000 --> 00:25:03,000 Os byddaf yn dechrau teipio, er enghraifft, (gwag) buttonPressed 467 00:25:03,000 --> 00:25:06,000 rhybudd XCode yn neis iawn ac awtolenwi i mi. 468 00:25:06,000 --> 00:25:09,000 Mae hynny'n wirioneddol wych. 469 00:25:09,000 --> 00:25:12,000 Hysbysiad yma bod tu mewn i'r ffeil. M Gallaf hefyd ddweud ddi-rym, 470 00:25:12,000 --> 00:25:15,000 ac mae hyn oherwydd nad yw IBAction mewn gwirionedd yn fath. 471 00:25:15,000 --> 00:25:19,000 Mae'n mewn gwirionedd yn hashtag diffinio rhywle i fod yn ddi-rym, 472 00:25:19,000 --> 00:25:22,000 ac unwaith eto, mae hyn yn awgrym i XCode sy'n dweud 473 00:25:22,000 --> 00:25:25,000 Wyf am i hyn fod yn driniwr digwyddiad, a byddwn yn gweld pam mewn dim ond eiliad. 474 00:25:25,000 --> 00:25:28,000 Pan fydd y botwm ei wasgu Dw i'n mynd i wneud rhywbeth yn blino 475 00:25:28,000 --> 00:25:30,000 yn hoffi arddangos pop-up. 476 00:25:30,000 --> 00:25:35,000 >> Er mwyn gwneud y gallaf greu achos newydd o'r dosbarth a elwir yn UIAlertView, 477 00:25:35,000 --> 00:25:39,000 ac mae hwn yn ddosbarth bod Apple ysgrifennodd mae hynny'n mynd i ddangos ffenestri popup blino. 478 00:25:39,000 --> 00:25:43,000 Byddwn yn galw hyn yn effro popup, ac yr wyf wedi 2 gam, cofiwch, i greu y gwrthrych. 479 00:25:43,000 --> 00:25:46,000 Y peth cyntaf i mi angen i chi ei wneud yw neilltuo lle. 480 00:25:46,000 --> 00:25:48,000 Dw i eisiau UIAlertView. 481 00:25:48,000 --> 00:25:51,000 Rwyf am i neilltuo lle. Dyna fy dull cyntaf. 482 00:25:51,000 --> 00:25:53,000 Fy dull nesaf yw fy mod am ei ymgychwyn hynny, 483 00:25:53,000 --> 00:25:58,000 ac felly mae gen i hyn fawr, dull hir a elwir yn initWithTitle. 484 00:25:58,000 --> 00:26:01,000 Mae hynny'n bôn yn mynd i reoli yr hyn y mae'r naid yn ei ddweud. 485 00:26:01,000 --> 00:26:04,000 Gall y teitl fy popup fod helo. 486 00:26:04,000 --> 00:26:08,000 Gall y neges hon popup fod yn "Mae hyn yn iOS." 487 00:26:08,000 --> 00:26:10,000 Beth Cynrychiolydd, nid wyf yn gwybod beth yw hynny. 488 00:26:10,000 --> 00:26:13,000 Lets 'ddeud ei fod yn ddim byd. 489 00:26:13,000 --> 00:26:18,000 Nawr gall y botwm sy'n mynd i ymddangos yn dweud rhywbeth fel "Mae'n siŵr yw," 490 00:26:18,000 --> 00:26:24,000 ac nid wyf ddim wir eisiau unrhyw botymau eraill, felly gadewch i ni dileu hynny a chau'r braced. 491 00:26:24,000 --> 00:26:27,000 >> Iawn, yr wyf yn creu un ychwanegol. Dyna ni. 492 00:26:27,000 --> 00:26:30,000 Dyma sut y gallaf greu popup newydd. 493 00:26:30,000 --> 00:26:35,000 Os ydw i eisiau mewn gwirionedd yn dangos y popup rwyf am i alw y dull sioe. 494 00:26:35,000 --> 00:26:38,000 Er mwyn gwneud y gallaf ddweud yn effro ac yn dangos, 495 00:26:38,000 --> 00:26:40,000 ac unwaith eto, roedd gwblhau yn awtomatig super 'n glws. 496 00:26:40,000 --> 00:26:42,000 Os wyf yn anghofio beth oedd hynny, os byddaf yn teipio yn unig yn s, 497 00:26:42,000 --> 00:26:45,000 Gallaf sgrolio drwy yma at chyfrif i maes beth oedd yno, 498 00:26:45,000 --> 00:26:48,000 ac mae'n hidlo 'n glws. 499 00:26:48,000 --> 00:26:52,000 Nawr yr wyf yn creu y naid newydd. 500 00:26:52,000 --> 00:26:55,000 Byddwn yn dod yn ôl at yr hyn cynrychiolydd olygu yn ddiweddarach, 501 00:26:55,000 --> 00:26:58,000 ac yn awr yr wyf am ddweud fy mod am i'r dull hwn gael tanio 502 00:26:58,000 --> 00:27:01,000 pan fyddaf yn pwyswch y botwm, felly dwi'n mynd i ddod yn ôl at fy bwrdd stori, 503 00:27:01,000 --> 00:27:04,000 ac rwyf am nawr atodi hon IBAction. 504 00:27:04,000 --> 00:27:06,000 Y peth cyntaf rydych am ei wneud yw clicio ar y botwm. 505 00:27:06,000 --> 00:27:08,000 Pan fyddaf yn pwyso y botwm hwn rwyf am i rywbeth ddigwydd. 506 00:27:08,000 --> 00:27:10,000 Nid wyf yn mynd i ddal i lawr rheolaeth. 507 00:27:10,000 --> 00:27:13,000 Rydw i'n mynd i glicio a llusgo oddi wrth y botwm 508 00:27:13,000 --> 00:27:15,000 i dros dyma lle mae'n dweud Rheolwr View. 509 00:27:15,000 --> 00:27:17,000 Gallwn weld bod yn gwrtais goleuo i fyny. 510 00:27:17,000 --> 00:27:22,000 >> Os byddaf yn gadael i fynd gyda fy llygoden wyf yn awr yn cael y popup dros yma lle mae gennyf rhai opsiynau. 511 00:27:22,000 --> 00:27:24,000 Un o'r rhain yw'r digwyddiadau y gallaf gofrestru. 512 00:27:24,000 --> 00:27:28,000 Mae'r rhain i gyd o'r dulliau hynny mod i wedi datgan yn fy h ffeil fel IBActions. 513 00:27:28,000 --> 00:27:31,000 Dyma sut y XCode yn gwybod beth ddylai ymddangos yn y rhestr bach, 514 00:27:31,000 --> 00:27:33,000 fel bod dim ond awgrym. 515 00:27:33,000 --> 00:27:37,000 Os byddaf yn cliciwch ar y botwm pwyso, rwyf wedi cofrestru bellach y person sy'n trin digwyddiad. 516 00:27:37,000 --> 00:27:41,000 Yn JavaScript roedd rhaid i ni ddweud fy mod yn cael rhywfaint o cod a gofrestrodd y person sy'n trin digwyddiad. 517 00:27:41,000 --> 00:27:43,000 Yn Amcan-C oedd yn iawn bod yn hawdd. 518 00:27:43,000 --> 00:27:46,000 Os byddaf yn rhedeg hyn eto 519 00:27:46,000 --> 00:27:49,000 nawr pan fyddaf yn pwyswch y botwm fy trafodwr digwyddiad yn mynd i danio, 520 00:27:49,000 --> 00:27:51,000 ac yr wyf i'n mynd i gael y pop-up. 521 00:27:51,000 --> 00:27:54,000 Super, super syml yno. 522 00:27:54,000 --> 00:27:57,000 >> Os ydych chi erioed wedi eisiau gweld yr holl ddigwyddiadau sy'n digwydd i gael ei gofrestru 523 00:27:57,000 --> 00:28:00,000 ar elfen os byddaf yn cliciwch ar y botwm hwn 524 00:28:00,000 --> 00:28:02,000 ac yn dod draw yma ar yr ochr dde 525 00:28:02,000 --> 00:28:05,000 cyntaf gallwch weld dros yma gallaf wneud pethau fel y math o y botwm, 526 00:28:05,000 --> 00:28:08,000 felly os ydych eisiau un o'r rhai yr wyf neu'r botwm cyswllt ychwanegu 527 00:28:08,000 --> 00:28:10,000 neu beth bynnag. 528 00:28:10,000 --> 00:28:13,000 Os ydw i eisiau gweld yr holl ddigwyddiadau sydd ar y botwm 529 00:28:13,000 --> 00:28:16,000 os byddaf yn dod yr holl ffordd dros yma ar yr ochr dde 530 00:28:16,000 --> 00:28:19,000 gallwn weld yma yn y digwyddiadau gen i bob un o'r digwyddiadau gwahanol. 531 00:28:19,000 --> 00:28:23,000 Gallaf pwyswch y botwm, pan fyddaf yn gadael i fynd o'r botwm, pan fyddaf yn dyblu tap neu beth bynnag, 532 00:28:23,000 --> 00:28:26,000 a'r un yr wyf newydd gofrestru yn y digwyddiad hwn a elwir Touch Up Y tu mewn, 533 00:28:26,000 --> 00:28:29,000 ac mae hyn yn dweud bod cyn gynted ag y fy mys yn dod oddi ar y botwm 534 00:28:29,000 --> 00:28:32,000 digwyddiad hwnnw yn mynd i dân, a dyna'n union beth ddigwyddodd. 535 00:28:32,000 --> 00:28:36,000 Mae hyn yn fath o botwm diofyn digwyddiad wasgu. 536 00:28:36,000 --> 00:28:39,000 >> Unrhyw gwestiynau hyd yn hyn? 537 00:28:39,000 --> 00:28:43,000 Iawn, dyna sut y gallwn ddechrau i gwifren i fyny pethau yn ein cod 538 00:28:43,000 --> 00:28:46,000 i mewn i bethau y tu mewn ein rhyngwyneb. 539 00:28:46,000 --> 00:28:49,000 Cofiwch y peth cyntaf yn rhaid inni wneud oedd dod o hyd i'r cod, 540 00:28:49,000 --> 00:28:54,000 ac yna rydym yn gwifrau i fyny 'r rhyngwyneb i'r cod, 541 00:28:54,000 --> 00:28:57,000 ac mae ein app cyntaf. 542 00:28:57,000 --> 00:29:00,000 Iawn, a oedd yn 'n sylweddol oera, ac rydym yn creu botwm yma. 543 00:29:00,000 --> 00:29:03,000 Beth os ydym yn dymuno rhaid i chi greu criw o eiddo 544 00:29:03,000 --> 00:29:05,000 cynrychioli'r botymau hyn? 545 00:29:05,000 --> 00:29:08,000 Er enghraifft, mewn Toe Tic Tac I gennym 9 botymau, 546 00:29:08,000 --> 00:29:11,000 a byddai'n ei fod yn super, super blino gorfod llusgo a gollwng 9 gwaith 547 00:29:11,000 --> 00:29:14,000 neu os bu'n rhaid i mi wneud Tic Tac Toe gydag 81 lle 9 548 00:29:14,000 --> 00:29:17,000 ac roedd rhaid i mi lusgo a gollwng 81 gwaith, ac mae hynny'n cloff. 549 00:29:17,000 --> 00:29:20,000 Yr hyn y gallwn ei wneud yn lle hynny yn llawer fel HTML 550 00:29:20,000 --> 00:29:23,000 pan oedd gennym bethau fel IDs ac enwau a gallwn chwilio am bethau 551 00:29:23,000 --> 00:29:27,000 gan eu ID, mae 'na syniad tebyg yn iOS a elwir yn tagiau. 552 00:29:27,000 --> 00:29:31,000 >> Mae tag yn unig yw dynodwr rhifiadol unigryw ar gyfer elfen. 553 00:29:31,000 --> 00:29:34,000 Os wyf yn dweud hyn yn cael tag o 0, er enghraifft, 554 00:29:34,000 --> 00:29:38,000 os wyf yn creu botwm a rhoi cynnig tag o 0, a byddwn yn gweld sut i wneud hynny mewn dim ond ail, 555 00:29:38,000 --> 00:29:41,000 os wyf am gael y botwm gallaf ddweud fy mod yn syml am alw 556 00:29:41,000 --> 00:29:45,000 y, viewWithTag dull ar y gwrthrych dros yma 557 00:29:45,000 --> 00:29:48,000 y self.view, sy'n cynrychioli y sgrin ar hyn o bryd, er enghraifft. 558 00:29:48,000 --> 00:29:53,000 Os byddaf yn galw y dull viewWithTag, dw i'n mynd i dynnu yn ôl y botwm gyda tag 0. 559 00:29:53,000 --> 00:29:58,000 Gadewch i ni edrych ar hyn drwy adeiladu Toe Tac Tic. 560 00:29:58,000 --> 00:30:01,000 Yn gyntaf, mae hyn yn fy bwrdd stori. 561 00:30:01,000 --> 00:30:05,000 Rydw i wedi creu y 10 botymau UI. 562 00:30:05,000 --> 00:30:07,000 Hysbysiad maen nhw i gyd yr un maint. 563 00:30:07,000 --> 00:30:11,000 Os byddaf yn cliciwch ar un o'r rhain ac yn dod yn ôl dros yma ar y ochr dde 564 00:30:11,000 --> 00:30:15,000 byddwch yn gweld I addasu y ffont i'r dde yma, felly yr wyf yn gwneud y ffont ychydig yn fwy, 565 00:30:15,000 --> 00:30:19,000 ond yr hyn yr oedd hefyd yn gwneud I osod y tag. 566 00:30:19,000 --> 00:30:23,000 Dywedais fod hyn yn cael tag o 1, a dyna yr ochr chwith uchaf. 567 00:30:23,000 --> 00:30:26,000 >> Yn awr, os wyf cliciwch botwm arall, fel hyn ail un yma, 568 00:30:26,000 --> 00:30:29,000 nawr byddwch yn gweld bod fy tag yw 2. 569 00:30:29,000 --> 00:30:32,000 Mae pob un o'r botymau hyn yn unig yn cael tag unigryw, 570 00:30:32,000 --> 00:30:35,000 ac felly mae hyn yn ddiweddarach sut yr wyf i'n mynd i ddechrau rhyngweithio 571 00:30:35,000 --> 00:30:38,000 gyda fy app. 572 00:30:38,000 --> 00:30:40,000 Mae hyn i gyd y tu mewn o un rheolwr farn, 573 00:30:40,000 --> 00:30:42,000 ond dyma beth sydd gennym. 574 00:30:42,000 --> 00:30:44,000 Mae gennym 3 eiddo yma. 575 00:30:44,000 --> 00:30:49,000 Mae'r un cyntaf ac un olaf yn mynd i gynrychioli cyflwr fy mwrdd. 576 00:30:49,000 --> 00:30:53,000 Yn y bôn mae hyn yn un cyntaf yn cynrychioli amrywiaeth lle mae XS a NO cael eu. 577 00:30:53,000 --> 00:30:57,000 Mae hyn yn un arall yma yn dweud wrthym tro pwy ydyw. 578 00:30:57,000 --> 00:31:01,000 Byddwch yn sylwi fy mod hefyd yn cael y pethau hyn yma. 579 00:31:01,000 --> 00:31:05,000 Cyn pan fyddwn yn datgan eiddo rydym yn rhoi iddynt enw a math. 580 00:31:05,000 --> 00:31:08,000 Gallwn hefyd rhoi rhywfaint o wybodaeth ychwanegol yma. 581 00:31:08,000 --> 00:31:11,000 Mae hyn yn gyntaf yn dweud nonatomic, a beth mae hyn yn dweud 582 00:31:11,000 --> 00:31:16,000 yn y bôn dim ond un peth byth yn ceisio gael gafael ar y newidyn ar y tro. 583 00:31:16,000 --> 00:31:19,000 Gallech wneud ceisiadau mwy cymhleth sydd yn aml-threaded, 584 00:31:19,000 --> 00:31:22,000 ac felly yn ôl yn Scratch roedd gennym edafedd gwahanol, 585 00:31:22,000 --> 00:31:25,000 a gallai sprites gwahanol fod yn gwneud pethau gwahanol ar yr un pryd. 586 00:31:25,000 --> 00:31:29,000 >> Os nad yw hynny'n wir, ac nid yw mewn unrhyw beth y byddwn yn edrych ar, 587 00:31:29,000 --> 00:31:33,000 os ydym yn dweud nonatomic ei fod yn wir yn mynd i wneud pethau ychydig yn gyflymach. 588 00:31:33,000 --> 00:31:37,000 Mae gennym hefyd y peth hyn a elwir yn aseinio, cryf, neu wan. 589 00:31:37,000 --> 00:31:40,000 Mae hyn yn neilltuo dim ond yn dweud bod hyn yn fath safonol. 590 00:31:40,000 --> 00:31:43,000 Nid yw hyn yn wrthrych neu pwyntydd oherwydd mae hyn yn unig yw bool, 591 00:31:43,000 --> 00:31:46,000 felly bool ei adeiladu i mewn i Amcan-C. 592 00:31:46,000 --> 00:31:49,000 Mae hyn yn dweud peidiwch â cheisio gwneud unrhyw beth ffansi gyda awgrymiadau yma. 593 00:31:49,000 --> 00:31:51,000 Mae'n scaler rheolaidd oed. 594 00:31:51,000 --> 00:31:54,000 Cryf a gwan, mae hyn yn dweud gwan sydd mewn gwirionedd yn 595 00:31:54,000 --> 00:31:57,000 Wyf am i hyn fod yn pwyntio at rywbeth yn y rheolwr barn. 596 00:31:57,000 --> 00:32:00,000 Dydw i ddim yn mynd i mewn gwirionedd yn dyrannu neu init hyn fy hun. 597 00:32:00,000 --> 00:32:04,000 Mae'r adeiladwr rhyngwyneb, pan fyddaf yn rhedeg y app, yn mynd i ymdrin â phob y initialization. 598 00:32:04,000 --> 00:32:07,000 Os wyf yn dweud gwan, sy'n dweud bod rhywun arall yn mynd i gael ei greu hyn. 599 00:32:07,000 --> 00:32:09,000 Os wyf yn dweud cryf, mae hyn yn dweud fy mod i'n mynd i fod yr un 600 00:32:09,000 --> 00:32:12,000 sydd wedi creu'r gwrthrych bwrdd, 601 00:32:12,000 --> 00:32:14,000 ac felly dyma gen i ddulliau rhai mwy yma, 602 00:32:14,000 --> 00:32:18,000 er enghraifft, gweithredu ar gyfer pan fydd y botwm gêm newydd yn cael ei wasgu, 603 00:32:18,000 --> 00:32:20,000 yn gweithredu ar gyfer pan fydd unrhyw un o'r botymau eraill yn cael eu pwyso, 604 00:32:20,000 --> 00:32:23,000 ac et cetera. 605 00:32:23,000 --> 00:32:26,000 >> Ni fyddwn yn mynd i ormod o rhesymeg Toe Tic Tac, 606 00:32:26,000 --> 00:32:30,000 er ei fod yn gyffrous iawn, ond gadewch i ni edrych ar 607 00:32:30,000 --> 00:32:33,000 rhai o'r pethau y gallwn eu gwneud tu mewn iOS. 608 00:32:33,000 --> 00:32:35,000 Mae'r dull hwn yn gêm newydd yn mynd i fod yn tanio 609 00:32:35,000 --> 00:32:37,000 pryd bynnag y byddaf pwyswch y botwm gêm newydd. 610 00:32:37,000 --> 00:32:41,000 Er mwyn bachyn i fod hyd yn syml ddod draw i fy bwrdd stori. 611 00:32:41,000 --> 00:32:43,000 Wyf yn clicio ar y gêm newydd. 612 00:32:43,000 --> 00:32:47,000 Os byddaf yn dod draw yma ar y dde Gallaf weld bod 613 00:32:47,000 --> 00:32:50,000 Cyffwrdd Up Y tu mewn wedi'i weirio i ddull newGame. 614 00:32:50,000 --> 00:32:53,000 Dyna pam fod hyn yn mynd i gael eu tanio. 615 00:32:53,000 --> 00:32:56,000 Mae'r dull newGame yn mynd i wneud ychydig o set i fyny. 616 00:32:56,000 --> 00:32:59,000 Mae'n mynd i ddweud fy mod am i chi glirio'r cyflwr y bwrdd. 617 00:32:59,000 --> 00:33:01,000 Mae hwn yn ddull braf ar mutable araeau. 618 00:33:01,000 --> 00:33:03,000 Mae hyn yn mynd i ddweud ei fod yn awr X yn ei dro, 619 00:33:03,000 --> 00:33:07,000 ac yn awr yr wyf i'n mynd i fanteisio ar y peth viewWithTag. 620 00:33:07,000 --> 00:33:11,000 >> Gwn fod fy botymau yn cael y tagiau 1-9, 621 00:33:11,000 --> 00:33:13,000 ac mae hynny'n rhywbeth yr wyf yn fympwyol dewis. 622 00:33:13,000 --> 00:33:15,000 Os ydw i eisiau gosod y testun pob botwm i fod yn wag 623 00:33:15,000 --> 00:33:17,000 oherwydd fy mod newydd ddechrau gêm newydd a dydw i ddim eisiau unrhyw 624 00:33:17,000 --> 00:33:20,000 XS neu NO i gael ei adael dros y gallaf wneud hyn. 625 00:33:20,000 --> 00:33:24,000 Allaf ddweud fy mod am i'r farn gyda'r tag, 1, 2, 3, 4 et cetera. 626 00:33:24,000 --> 00:33:27,000 Bydd hyn yn tynnu botwm gwahanol bob tro. 627 00:33:27,000 --> 00:33:30,000 Yma, yr wyf i'n mynd i fwrw i'r UIButton. 628 00:33:30,000 --> 00:33:33,000 Yn union fel y gallem fwrw ints i fflotiau ac i'r gwrthwyneb 629 00:33:33,000 --> 00:33:37,000 hyn yn dweud fy mod yn awyddus i fwrw hyn i UIButton. 630 00:33:37,000 --> 00:33:40,000 Mae hynny'n golygu y bydd y math o hyn fyddai * UIButton 631 00:33:40,000 --> 00:33:43,000 oherwydd awgrymiadau, ond peidiwch â phoeni, nid ydynt yn frawychus anymore. 632 00:33:43,000 --> 00:33:47,000 >> Ar ôl i mi gael y botwm Rydw i'n mynd i alw dull arno. 633 00:33:47,000 --> 00:33:50,000 Mae'r dull hwn yn cael ei alw'n setTitle forState, ac felly mae hyn yn dweud 634 00:33:50,000 --> 00:33:53,000 Rwyf am osod testun y botwm i fod yn llinyn gwag, 635 00:33:53,000 --> 00:33:57,000 ac yr wyf am iddo fod y llinyn wag pan mae'n cael ei bwyso. 636 00:33:57,000 --> 00:34:01,000 Os ydw i'n defnyddio'r dull hwn, gallaf newid testun y botwm 637 00:34:01,000 --> 00:34:04,000 cyn gynted ag y bydd rhywun yn taro, ond rydym eisiau ei ddweud pan fydd y botwm yn unig yw eistedd yno 638 00:34:04,000 --> 00:34:07,000 Rwyf am i'r testun fod yn wag. 639 00:34:07,000 --> 00:34:10,000 Yn olaf, rydym yn mynd i ymgychwyn fy mwrdd, 640 00:34:10,000 --> 00:34:12,000 ac yr wyf i'n mynd i ddweud bod popeth ar hyn o bryd ar 0, 641 00:34:12,000 --> 00:34:15,000 felly mae'r bwrdd aelodau'r ddigyfnewid yn amrywiaeth mutable, 642 00:34:15,000 --> 00:34:21,000 sy'n golygu y gallaf alw y dull addObject a dim ond y tu mewn 0 o hynny. 643 00:34:21,000 --> 00:34:23,000 Dyna beth sy'n digwydd pan fyddaf yn creu gêm newydd. 644 00:34:23,000 --> 00:34:25,000 >> Gadewch i ni edrych ar un arall. 645 00:34:25,000 --> 00:34:28,000 Mae'r dull hwn yma yw'r IBAction sy'n mynd i gael eu pwyso 646 00:34:28,000 --> 00:34:31,000 bob tro yn un o'r sgwariau hynny yn cael ei wasgu. 647 00:34:31,000 --> 00:34:33,000 Nawr mae gennym rywfaint o resymeg Tic Tac Toe yma. 648 00:34:33,000 --> 00:34:36,000 Rydym yn chyfrif i maes tro pwy yw hi, 649 00:34:36,000 --> 00:34:39,000 ac yn seiliedig ar yr ydym yn naill ai gosod X neu O, 650 00:34:39,000 --> 00:34:43,000 ond rydym yn sylwi ein bod yn ailddefnyddio hyn yn trin un digwyddiad 651 00:34:43,000 --> 00:34:45,000 ar gyfer pob un o'r rhai botymau. 652 00:34:45,000 --> 00:34:49,000 Mae hynny'n golygu nad oes gennyf ddull ar gyfer y botwm chwith uchaf, 653 00:34:49,000 --> 00:34:52,000 dull gwahanol ar gyfer y botwm dde ar y gwaelod, er y gallwn fod wedi gwneud hynny. 654 00:34:52,000 --> 00:34:54,000 Ni fyddai hynny'n wir yn dylunio da. 655 00:34:54,000 --> 00:34:57,000 Beth wyf yn ei wneud yma yw fy mod i'n wir yn mynd i bennu 656 00:34:57,000 --> 00:35:00,000 beth yw tag y botwm a wasgu yn. 657 00:35:00,000 --> 00:35:04,000 Byddwch yn sylwi bod y dull hwn chwarae yn cymryd un ddadl. 658 00:35:04,000 --> 00:35:07,000 Mae'n cael ei alw anfonwr, a pha anfonwr yn cael ei anfonwr yn mynd i 659 00:35:07,000 --> 00:35:10,000 cynrychioli yn union beth oedd yn cymryd camau arnynt. 660 00:35:10,000 --> 00:35:15,000 Os byddaf yn pwyso botwm, mae'r anfonwr yn mynd i fod UIButton 661 00:35:15,000 --> 00:35:18,000 fy mod yn pwyso mewn gwirionedd, felly mae hynny'n golygu bod y UIButton 662 00:35:18,000 --> 00:35:20,000 Mae gan tag oherwydd fy mod yn creu tag. 663 00:35:20,000 --> 00:35:23,000 >> Os ydw i eisiau i gyrraedd y tag gallaf ddweud yn syml 664 00:35:23,000 --> 00:35:26,000 Yr wyf am i tag yr anfonwr, 665 00:35:26,000 --> 00:35:28,000 ac unwaith eto, rydw i wedi newydd ei casted i UIButton. 666 00:35:28,000 --> 00:35:32,000 Yr wyf yn digwydd gwybod y bydd yr anfonwr yn UIButton. 667 00:35:32,000 --> 00:35:34,000 Nid yw bob amser yn rhaid iddo fod yn UIButton. 668 00:35:34,000 --> 00:35:36,000 Gallwn, er enghraifft, cofrestru y person sy'n trin un digwyddiad 669 00:35:36,000 --> 00:35:38,000  am un ar gyfer botwm, un ar gyfer llithrydd. 670 00:35:38,000 --> 00:35:40,000 Yn yr achos hwn, rwy'n gwybod eu bod nhw i gyd botymau, felly dwi'n mynd i ddweud 671 00:35:40,000 --> 00:35:43,000 Wyf am i hyn fod yn botwm, ac yna gallaf gael y tag, 672 00:35:43,000 --> 00:35:48,000 ac o'r tag wyf yn awr yn gwybod lle yr wyf tu mewn i'r bwrdd. 673 00:35:48,000 --> 00:35:51,000 Yna gall yr wyf yn syml yn gosod naill ai X neu O, gall chnithia y tro, 674 00:35:51,000 --> 00:35:54,000 gwirio pwy sydd wedi ennill, et cetera. 675 00:35:54,000 --> 00:35:59,000 >> Unrhyw gwestiynau am hyn hyd yma? 676 00:35:59,000 --> 00:36:02,000 Iawn, yr holl cod rydym yn postio ar-lein-nid ydym am fynd i ormod o 677 00:36:02,000 --> 00:36:06,000 y Toe Tic Tac rhesymeg, ond erbyn hyn gallwch weld bod 'n sylweddol 678 00:36:06,000 --> 00:36:09,000 cyfan yr ydym yn ei wneud yw ein bod yn dolennu dros y array, 679 00:36:09,000 --> 00:36:13,000 felly mae gennym ychydig o ar gyfer dolenni yma, ac ni jyst yn cymharu i weld 680 00:36:13,000 --> 00:36:18,000 mae gennym gêm yn yr holl rhesi, gêm mewn colofn neu unrhyw beth fel 'na. 681 00:36:18,000 --> 00:36:21,000 I mewn gwirionedd yn rhedeg y app, os byddaf yn manteisio ar un o'r botymau 682 00:36:21,000 --> 00:36:24,000 y dull chwarae ei danio, felly mae hynny'n golygu Fi jyst yn gosod 683 00:36:24,000 --> 00:36:31,000 y botwm i fod yn X, felly, yn awr y bydd y botwm hwn yn O, ac yn y blaen, 684 00:36:31,000 --> 00:36:35,000 ac felly dyna sut rydym yn dechrau i ryngweithio â hyn app un dudalen. 685 00:36:35,000 --> 00:36:38,000 >> Byddwn yn ôl y cod, felly mae croeso i gael golwg hynny, 686 00:36:38,000 --> 00:36:43,000 ond gadewch i ni yn awr yn siarad am rai apps sy'n fwy na dim ond un dudalen. 687 00:36:43,000 --> 00:36:47,000 Yr un mor gyffrous Toe Tic Tac, mae llawer o apps tu mewn iOS 688 00:36:47,000 --> 00:36:50,000 yn fath o ymarfer y rhain i lawr pethau gyda sgriniau lluosog. 689 00:36:50,000 --> 00:36:54,000 Mae'r cysyniad cyntaf y bydd angen i ni siarad am protocolau, 690 00:36:54,000 --> 00:36:57,000 ac mae protocol yn unig yw set o ddulliau 691 00:36:57,000 --> 00:36:59,000 eich bod yn gallu addo i ddiffinio. 692 00:36:59,000 --> 00:37:02,000 Os byddaf yn creu protocol newydd hwn gyda 2 dulliau, yr un cyntaf, 693 00:37:02,000 --> 00:37:05,000 os yw'r math dychwelyd yn ddi-rym, yr wyf yn ei alw'n foo. 694 00:37:05,000 --> 00:37:07,000 Mae'n cymryd unrhyw ddadleuon. Mae gen i ddull arall. 695 00:37:07,000 --> 00:37:11,000 Mae'n dychwelyd yn int. Gelwais ei wahardd, ac mae'n cymryd un ddadl. 696 00:37:11,000 --> 00:37:14,000 Mae hyn i gyd yw bod protocol a elwir SomeProtocol i fyny yma, 697 00:37:14,000 --> 00:37:19,000 mae hwn yn set o bethau y gall rhywun weithredu. 698 00:37:19,000 --> 00:37:22,000 Nid wyf wedi tu mewn protocol hwn ddweud beth foo yn ei wneud. 699 00:37:22,000 --> 00:37:26,000 Yn hytrach, Im 'jyst yn dweud gallech ddiffinio foo os ydych yn dymuno. 700 00:37:26,000 --> 00:37:30,000 Os ydw i'n creu rheolwr barn neu greu dosbarth 701 00:37:30,000 --> 00:37:33,000 Gallaf y tu mewn addewid hwnnw dosbarth i weithredu 702 00:37:33,000 --> 00:37:40,000 rhai o'r dulliau hyn, felly er enghraifft, os dywedwch 703 00:37:40,000 --> 00:37:43,000 hyn yn awr yn dweud fy mod yn gwneud addewid i chi fod y tu mewn 704 00:37:43,000 --> 00:37:50,000 y rheolwr farn dosbarth byddaf yn cael diffiniadau ar gyfer y ddau foo a bar. 705 00:37:50,000 --> 00:37:52,000 >> Pam yw bod yn ddefnyddiol? 706 00:37:52,000 --> 00:37:55,000 Mae llawer o gydrannau tu mewn iOS yn manteisio ar y 707 00:37:55,000 --> 00:37:58,000 patrwm dylunio a elwir yn dirprwyo, a pha dirprwyo yn dweud 708 00:37:58,000 --> 00:38:01,000 yw bod, er enghraifft, os oes gen i flwch testun 709 00:38:01,000 --> 00:38:04,000 ac mae rhai digwyddiadau y gellid eu cofrestru tu mewn fy blwch testun, 710 00:38:04,000 --> 00:38:07,000 yn hytrach na chreu digwyddiadau ar wahân yr hyn y gallaf ei wneud yw y gallaf ei ddweud 711 00:38:07,000 --> 00:38:10,000 Bydd y cynrychiolydd hwn yn blwch testun fod yn ryw wrthrych. 712 00:38:10,000 --> 00:38:13,000 Pan fyddaf yn dweud bod hyn yn gynrychiolydd nawr yn golygu bod 713 00:38:13,000 --> 00:38:16,000 pryd bynnag y byddai rhai digwyddiad yn cael eu tanio yn y blwch testun 714 00:38:16,000 --> 00:38:18,000 yn hytrach na gorfod ei chofrestru neu unrhyw beth fel 'na 715 00:38:18,000 --> 00:38:21,000 'i' jyst yn mynd i alw dull ar y cynrychiolydd. 716 00:38:21,000 --> 00:38:24,000 Er enghraifft, y tu mewn fy blwch testun gen i ddull ar gyfer pan fyddaf yn pwyso 717 00:38:24,000 --> 00:38:27,000 hyn a wneir botwm ar ochr dde gwaelod, 718 00:38:27,000 --> 00:38:30,000 ac felly yn hytrach na chofrestru trin achos beth y gallaf ei ddweud yn cael ei 719 00:38:30,000 --> 00:38:34,000 blwch testun, dyma wrthrych yr wyf am i chi alw dull ar 720 00:38:34,000 --> 00:38:37,000 gweisg rhywun bob tro y botwm wneud, 721 00:38:37,000 --> 00:38:40,000 ac mae hynny'n golygu bod y gwrthrych yn gweithredu rhai protocol 722 00:38:40,000 --> 00:38:45,000 sy'n dweud yr wyf yn addo i ddiffinio'r camau botwm wneud, 723 00:38:45,000 --> 00:38:47,000 oherwydd os nad yw'n diffinio yn y dull hwnnw ac rydych pwyswch wneud, 724 00:38:47,000 --> 00:38:49,000 yna mae'n mynd i fod yn ddryslyd. 725 00:38:49,000 --> 00:38:55,000 >> Gadewch i ni edrych ar enghraifft. 726 00:38:55,000 --> 00:38:58,000 Yma, yr wyf yn syml yn cael un blwch testun, 727 00:38:58,000 --> 00:39:04,000 ac yn un o nodweddion y blwch testun dros yma ar y ochr dde yw'r cynrychiolydd. 728 00:39:04,000 --> 00:39:06,000 Mae hwn yn eiddo i'r dosbarth. 729 00:39:06,000 --> 00:39:09,000 Beth wnes i yma yw fy mod rheoli glicio, llusgo a wyf o'r fan hon dros yma 730 00:39:09,000 --> 00:39:13,000 at y rheolwr barn ni a barn yn dweud yn awr y cynrychiolydd y blwch testun 731 00:39:13,000 --> 00:39:18,000 yn mynd i fod y rheolydd barn. 732 00:39:18,000 --> 00:39:20,000 Mae hynny'n golygu bod pan fydd rhai camau gweithredu yn digwydd, yn hytrach na chofrestru 733 00:39:20,000 --> 00:39:25,000 sy'n trin digwyddiad ar wahân rwyf am i chi eu hanfon at y cynrychiolydd. 734 00:39:25,000 --> 00:39:28,000 Nawr gadewch i ni gymryd golwg ar fy rheolwr marn. 735 00:39:28,000 --> 00:39:32,000 Y tu mewn i'r. Ffeil h Rydw i wedi gwneud addewid. 736 00:39:32,000 --> 00:39:36,000 Rwyf wedi addo i weithredu rhai dulliau mewnol y protocol 737 00:39:36,000 --> 00:39:38,000 a elwir yn UITextFieldDelegate, ac unwaith eto, 738 00:39:38,000 --> 00:39:42,000 mae hyn yn dim ond rhai restr o rai pethau y gallaf ddewis gweithredu. 739 00:39:42,000 --> 00:39:46,000 >> Os byddaf yn dod yma yn fy. M ffeil, rwyf wedi gweithredu un dull o'r fath. 740 00:39:46,000 --> 00:39:49,000 Rwyf wedi galw ei textFieldShouldReturn 741 00:39:49,000 --> 00:39:52,000 oherwydd dyna beth mae'n ei alw tu mewn i'r protocol. 742 00:39:52,000 --> 00:39:57,000 Ac yn awr pryd bynnag y byddaf pwyswch y botwm y tu mewn ei wneud yn y maes hwnnw destun 743 00:39:57,000 --> 00:40:00,000 mae hyn yn beth sy'n mynd i cael eu galw, felly doeddwn i ddim yn cofrestru trin digwyddiad. 744 00:40:00,000 --> 00:40:03,000 I gysylltu y cynrychiolydd, a phryd bynnag y digwyddiad hwn yn cael ei danio 745 00:40:03,000 --> 00:40:08,000 dyma'r dull a fydd yn cael eu galw, felly os wyf yn dod dros yma i fy bwrdd stori a'i redeg- 746 00:40:08,000 --> 00:40:11,000 tra mae hynny'n llwytho gallwn weld beth mae hyn yn ei wneud. 747 00:40:11,000 --> 00:40:13,000 Ar fy sgrîn Mae gen i 2 pethau. 748 00:40:13,000 --> 00:40:16,000 Yr wyf wedi hyn maes testun, ac yr wyf wedi y label. 749 00:40:16,000 --> 00:40:19,000 Rwy'n dim ond dweud yr wyf am i'r testun y label 750 00:40:19,000 --> 00:40:23,000 i fod yn hafal i beth bynnag y defnyddiwr deipio tu mewn i'r maes testun. 751 00:40:23,000 --> 00:40:26,000 Mae'r llinell nesaf yma yn unig yw dull yr wyf i'n galw 752 00:40:26,000 --> 00:40:29,000 ar y maes testun sy'n dweud yr wyf am i chi i guddio y bysellfwrdd. 753 00:40:29,000 --> 00:40:33,000 Mae hyn yn unig y dull mympwyol a fyddai'n Apple dewis. 754 00:40:33,000 --> 00:40:38,000 >> Unwaith eto, cyn i mi wneud unrhyw beth yr wyf wedi i gwifren popeth i fyny, felly tro cyntaf i mi ddod dros yma. 755 00:40:38,000 --> 00:40:42,000 O safbwynt rheolwr rwyf llusgo draw i'r blwch testun. 756 00:40:42,000 --> 00:40:46,000 Wyf yn gadael i fynd, a gallaf weld yma y gallaf wneud hyn yn eiddo testun y maes 757 00:40:46,000 --> 00:40:49,000 ers dros yma yn y rheolwr marn rwyf i wedi diffinio eiddo 758 00:40:49,000 --> 00:40:52,000 bod yn IBOutlet o faes testun. 759 00:40:52,000 --> 00:40:55,000 Mae hwn yn dweud fy mod yn gallu gwifren eiddo hwn i fyny 760 00:40:55,000 --> 00:40:59,000 i faes testun yn fy UI. 761 00:40:59,000 --> 00:41:03,000 Nawr pan fyddaf yn cliciwch y gallaf ddechrau teipio. 762 00:41:03,000 --> 00:41:06,000 Nawr, os wyf cliciwch y botwm gwneud hyn yn mynd i danio 763 00:41:06,000 --> 00:41:08,000 yn ddigwyddiad y gall yn awr ymateb iddynt. 764 00:41:08,000 --> 00:41:10,000 Dim trinwyr digwyddiad. 765 00:41:10,000 --> 00:41:13,000 Dyna sut yr wyf yn jyst ymateb i'r botwm wneud. 766 00:41:13,000 --> 00:41:15,000 Gwneud synnwyr? 767 00:41:15,000 --> 00:41:20,000 >> Nid yw hyn yn patrwm dylunio sy'n-chi efallai na fydd byth yn cael eich hun 768 00:41:20,000 --> 00:41:23,000 creu eich protocol hun, ond dim ond yn gwybod bod rhai 769 00:41:23,000 --> 00:41:27,000 cydrannau gwahanol iOS cofrestru digwyddiadau mewn gwahanol ffyrdd. 770 00:41:27,000 --> 00:41:29,000 Botymau, er enghraifft, defnyddio'r IBActions. 771 00:41:29,000 --> 00:41:32,000 Mae meysydd testun, ar y llaw arall, yn mynd i ddefnyddio cynrychiolwyr. 772 00:41:32,000 --> 00:41:36,000 Gallwn weld a allwch chi edrych i gyd y tu mewn i fyny o'r ddogfennaeth. 773 00:41:36,000 --> 00:41:41,000 Gyda llaw, mae mewn gwirionedd tunnell o UI stwff a adeiladwyd i mewn i iOS i chi, 774 00:41:41,000 --> 00:41:46,000 felly, er enghraifft, y ffordd rwy'n gwneud y dweud 'da ar y dde ar y gwaelod 775 00:41:46,000 --> 00:41:48,000 yn Dewisais y maes testun. 776 00:41:48,000 --> 00:41:50,000 I ddod dros yma. 777 00:41:50,000 --> 00:41:53,000 Sgroliais i lawr ychydig i ddychwelyd allweddol, 778 00:41:53,000 --> 00:41:56,000 a gallaf mewn gwirionedd yn gwneud hyn yn criw cyfan o bethau, fel os wyf am i hynny ei ddweud 779 00:41:56,000 --> 00:42:00,000 galwad frys yn hytrach na allaf wneud hynny, sy'n gwbl ar hap, 780 00:42:00,000 --> 00:42:02,000 ac nid wyf yn gwybod pam mae 'na fotwm argyfwng adeiledig-yn galw, 781 00:42:02,000 --> 00:42:06,000 ond, mae'n dweud galwad frys mewn llythrennau bach iawn. 782 00:42:06,000 --> 00:42:08,000 Dyna chi. 783 00:42:08,000 --> 00:42:12,000 >> Yn bendant yn ymchwilio i'r holl opsiynau hyn yn wahanol iOS. 784 00:42:12,000 --> 00:42:14,000 Unrhyw gwestiynau am gynrychiolwyr? 785 00:42:14,000 --> 00:42:18,000 Unwaith eto, dim ond patrwm dylunio diddorol y dylech fod yn ymwybodol ohonynt. 786 00:42:18,000 --> 00:42:22,000 Iawn, gadewch i ni nesaf yn edrych ar farn bwrdd. 787 00:42:22,000 --> 00:42:26,000 Mae barn y tabl yn y bôn y rhestr o eitemau sydd yn yr holl dros y lle yn iOS. 788 00:42:26,000 --> 00:42:29,000 Pan fyddwch chi'n flipping drwy eich holl gysylltiadau, eich bod yn edrych ar 789 00:42:29,000 --> 00:42:34,000 y dudalen gosod, a'r math yna o restr o bethau cael ei alw'n barn tabl. 790 00:42:34,000 --> 00:42:37,000 Gweithredu barn tabl yn iOS yn eithaf syml. 791 00:42:37,000 --> 00:42:41,000 Yn hytrach na gwneud i ddosbarth sy'n disgyn o'r UIViewController 792 00:42:41,000 --> 00:42:44,000 fel yr ydym wedi ei wneud cyn i ni syml, mae angen i ddweud yn hytrach na 793 00:42:44,000 --> 00:42:46,000 popeth y mae UIViewController yw wyf am ei wneud, 794 00:42:46,000 --> 00:42:50,000 Wyf yn dweud popeth y mae UITableViewController yw wyf am ei wneud, 795 00:42:50,000 --> 00:42:54,000 fel bod yn syml yn ychwanegu rhai pethau ychwanegol sy'n cael eu gwneud yn gyfan gwbl i ni. 796 00:42:54,000 --> 00:42:58,000 Mae angen i ni wneud ychydig iawn i yn y bôn llenwch y bylchau tu mewn i'r tabl. 797 00:42:58,000 --> 00:43:02,000 >> Er mwyn dangos tabl angen i mi ateb rhai cwestiynau. 798 00:43:02,000 --> 00:43:06,000 Y cwestiwn cyntaf i mi angen ei ateb yw faint o adrannau yn y tabl? 799 00:43:06,000 --> 00:43:08,000 Pan fyddwch chi'n flipping drwy eich cysylltiadau app byddwch yn sylwi ei fod yn fath o 800 00:43:08,000 --> 00:43:12,000 a drefnwyd gan y Fel, yna mae gennych yr brecwast, ac mae gennych y pennawd is-bach. 801 00:43:12,000 --> 00:43:14,000 Mae pob un o'r rheini'n cael ei alw'n adran. 802 00:43:14,000 --> 00:43:16,000 Efallai y byddwch neu efallai na fydd angen y rhain. 803 00:43:16,000 --> 00:43:19,000 Y peth cyntaf sydd angen i chi ei wneud yw gweithredu dull 804 00:43:19,000 --> 00:43:22,000 a elwir yn tableView: numberOfSectionsInTableView. 805 00:43:22,000 --> 00:43:25,000 Dyna dim ond yn dychwelyd sawl rhan sydd gennych, 806 00:43:25,000 --> 00:43:29,000 felly gallai hyn yn ei ddweud ddychwelyd un os oes gennych un farn tabl mawr. 807 00:43:29,000 --> 00:43:33,000 Y cwestiwn nesaf y iOS angen ei wybod yw faint o resi sydd gennych chi? 808 00:43:33,000 --> 00:43:36,000 Er enghraifft, rydych yn flipping drwy barn tabl. 809 00:43:36,000 --> 00:43:39,000 Mae gennych nifer penodol o ganeuon ydych chi'n edrych ar neu nifer penodedig o gysylltiadau. 810 00:43:39,000 --> 00:43:41,000 Os ydych chi'n mi, wrth gwrs, nid yw llawer, 811 00:43:41,000 --> 00:43:44,000 ac felly dyna sut y iOS yn gwybod faint o gelloedd i'w dangos. 812 00:43:44,000 --> 00:43:46,000 >> Unwaith eto, gallai hyn yn dweud rhywbeth fel dychwelyd 3. 813 00:43:46,000 --> 00:43:49,000 Fy marn tabl 3 rhes. 814 00:43:49,000 --> 00:43:52,000 Yn olaf, iOS angen gwybod beth mae pob cell yn edrych fel, 815 00:43:52,000 --> 00:43:54,000 felly beth mae'n wir yn mynd i'w wneud yw ffonio dull hwn i lawr yma, 816 00:43:54,000 --> 00:43:57,000 y tableView: cellForRowAtIndexPath. 817 00:43:57,000 --> 00:44:01,000 Mae'n mynd i alw y dull hwn ar bob cell unigol y tu mewn eich tabl. 818 00:44:01,000 --> 00:44:03,000 Sut mae'n gwybod faint o weithiau ei alw? 819 00:44:03,000 --> 00:44:06,000 Wel, dywedasoch y tu mewn o nifer o resi yn adran. 820 00:44:06,000 --> 00:44:08,000 Rydym yn mynd i alw hyn ar bob un o'n celloedd, 821 00:44:08,000 --> 00:44:11,000 ac y tu mewn o hyn yw lle y gallwch chi mewn gwirionedd yn gwneud pethau fel 822 00:44:11,000 --> 00:44:16,000 gosod y testun neu yn dweud wrthych beth y botwm bach glas ar yr ochr dde yn ei wneud. 823 00:44:16,000 --> 00:44:19,000 Mae'r patrwm ar gyfer cael y celloedd hyn, rydym yn mynd i ddefnyddio'r dull hwn 824 00:44:19,000 --> 00:44:22,000 a elwir yn dequeueReusableCellWithIdentifier. 825 00:44:22,000 --> 00:44:29,000 >> Amcan-C mewn gwirionedd yn adnabyddus iawn am hyd chwerthinllyd o eu henwau dull, 826 00:44:29,000 --> 00:44:32,000 ac mae hyn yn wir yn achos 'n glws yn enghraifft pwynt. 827 00:44:32,000 --> 00:44:37,000 Beth y dull hwn ei wneud yw hyn yn unig yn dweud fy mod am i chi roi i mi cell. 828 00:44:37,000 --> 00:44:39,000 Dim ond yn beth iOS. 829 00:44:39,000 --> 00:44:41,000 Os oes gennych chi rhywbeth fel 100,000 ganeuon ar eich iPod 830 00:44:41,000 --> 00:44:45,000 yr hyn nad iOS ddim eisiau ei wneud yw dyrannu 100.000 celloedd, 831 00:44:45,000 --> 00:44:48,000 oherwydd os ydych ar ben eich rhestr, ydych chi wir angen i ddyrannu cof 832 00:44:48,000 --> 00:44:51,000 ar gyfer y gell sy'n 99,000 resi i lawr? 833 00:44:51,000 --> 00:44:55,000 Na, oherwydd wrth i chi sgrolio gallwch fath o ddyrannu wrth i chi fynd ymlaen. 834 00:44:55,000 --> 00:44:57,000 Mae hyn yn ei wneud i chi. 835 00:44:57,000 --> 00:44:59,000 Nid oes yn rhaid i chi boeni am yr holl bethau perfformiad dwp. 836 00:44:59,000 --> 00:45:02,000 Y cyfan sydd ei ddweud yn eich galw hyn yn dequeueReusableCellWithIdentifier dull, 837 00:45:02,000 --> 00:45:06,000 ac mae hyn yn dweud, iawn, os bydd angen i chi Rydw i'n mynd i greu cell newydd i chi. 838 00:45:06,000 --> 00:45:09,000 >> Ond os ydych chi yn y waelod y tabl ac rydych wedi ddyrannwyd eisoes rhai celloedd 839 00:45:09,000 --> 00:45:12,000 ar frig y tabl nad ydych chi'n wir yn mynd i angen unrhyw adeg cyn bo hir 840 00:45:12,000 --> 00:45:15,000 Rydw i'n mynd i roi i chi yn un o'r rhai yn ôl yn hytrach na dyrannu un newydd, 841 00:45:15,000 --> 00:45:17,000 ac felly mae hyn yn peri pryder perfformiad 'n glws. 842 00:45:17,000 --> 00:45:21,000 Nid oes rhaid i chi dyrannu'r celloedd eich hun. 843 00:45:21,000 --> 00:45:23,000 Mae hynny'n mynd i roi i chi yn ôl cell. 844 00:45:23,000 --> 00:45:25,000 Mae'n mynd i ddychwelyd i chi gwrthrych cell. 845 00:45:25,000 --> 00:45:28,000 Unwaith y byddwch yn cael y gwrthrych cell gallwch wneud pethau iddo. 846 00:45:28,000 --> 00:45:32,000 Gallwch osod testun y gell â'r eiddo hwn o'r enw label testun. 847 00:45:32,000 --> 00:45:36,000 Gallwch ychwanegu hwnnw saeth ar y dde neu rhai pethau ar hap eraill 848 00:45:36,000 --> 00:45:41,000 gyda'r eiddo arall a elwir yn accessoryType, ac yn y blaen ac yn y blaen. 849 00:45:41,000 --> 00:45:46,000 >> Gadewch i ni edrych ar mewn gwirionedd yn gweithredu barn tabl yn awr. 850 00:45:46,000 --> 00:45:49,000 Pan wyf yn creu y prosiect hwn 851 00:45:49,000 --> 00:45:53,000 yn hytrach na dweud gais un golwg i mi ddod dros yma 852 00:45:53,000 --> 00:45:57,000 i feistr-manylion cais, ac felly yn y bôn mae hyn yn cyfateb i'r app post 853 00:45:57,000 --> 00:46:01,000 ar y iPad â barn tabl ar y chwith ac yna y cynnwys ar y dde. 854 00:46:01,000 --> 00:46:07,000 Ar y iPod neu iPhone hyn yn mynd i gyfateb i farn tabl sengl. 855 00:46:07,000 --> 00:46:10,000 Dyna lle cefais fy cod cychwynnol. 856 00:46:10,000 --> 00:46:13,000 >> Gadewch i ni gyntaf yn edrych ar y bwrdd stori. 857 00:46:13,000 --> 00:46:15,000 Mae hyn i gyd ei wneud i mi, a grëwyd yn y bôn. 858 00:46:15,000 --> 00:46:18,000 Mae'r bar llywio yn dangos i mi beth allai cell enghraifft yn edrych fel, 859 00:46:18,000 --> 00:46:22,000 a gallaf blygu chlecia 'hyn, newid y teitl. 860 00:46:22,000 --> 00:46:25,000 Unrhyw bryderon UI arall y gallaf drin yno. 861 00:46:25,000 --> 00:46:27,000 Mae'r ffeil pennawd yn edrych yn syml iawn. 862 00:46:27,000 --> 00:46:30,000 Yn hytrach na dweud hyn yn UIViewController rydym yn awr yn dweud hyn yn 863 00:46:30,000 --> 00:46:35,000 TableViewController, felly rydym yn gwybod ein bod yn dymuno galw ar holl dulliau hynny bwrdd. 864 00:46:35,000 --> 00:46:38,000 Nesaf rwyf am greu eiddo sy'n mynd i gynrychioli 865 00:46:38,000 --> 00:46:40,000 y pethau y tu mewn fy tabl. 866 00:46:40,000 --> 00:46:43,000 Mae'r tabl hwn yn mynd i fympwyol arddangos 867 00:46:43,000 --> 00:46:46,000 rhestr o ffrwythau, ac felly mae angen i mi greu rhai amrywiaeth 868 00:46:46,000 --> 00:46:49,000 y gallaf osod ffrwythau. 869 00:46:49,000 --> 00:46:52,000 Y tu mewn fy ffeil gweithredu y peth cyntaf i mi am ei wneud 870 00:46:52,000 --> 00:46:55,000 yw fy mod eisiau gwneud yn siŵr fy mod yn ymgychwyn y casgliad. 871 00:46:55,000 --> 00:46:58,000 >> Dywedais Dyraniad init, creu fy array ffrwythau, 872 00:46:58,000 --> 00:47:03,000 ac rwy'n ychwanegu 4 o bethau iddo, un ohonynt yn llawer mwy dadleuol na'r 3 arall. 873 00:47:03,000 --> 00:47:06,000 Ac yn awr yr wyf yn cael amrywiaeth o ran maint 4. 874 00:47:06,000 --> 00:47:08,000 Rydym yn ysgwyd i fyny yn CS50. 875 00:47:08,000 --> 00:47:11,000 Yr wyf yn awr yn cael amrywiaeth o ran maint 4. 876 00:47:11,000 --> 00:47:13,000 Nawr rwy'n mynd i ddechrau ateb y cwestiynau hyn, ac mewn gwirionedd, 877 00:47:13,000 --> 00:47:16,000 pan fyddaf yn creu y app cyfan o hwn wedi'i wneud eisoes i mi. 878 00:47:16,000 --> 00:47:19,000 Nid oedd rhaid i mi deipio y nifer o adrannau o ystyried tabl. 879 00:47:19,000 --> 00:47:22,000 Roedd yno eisoes, ac rwy'n llenwi'r bylchau. 880 00:47:22,000 --> 00:47:24,000 Faint o adrannau sydd gennyf? 881 00:47:24,000 --> 00:47:26,000 Un. I gyd ei wneud. 882 00:47:26,000 --> 00:47:28,000 Faint o resi sydd gennyf? 883 00:47:28,000 --> 00:47:31,000 Wel, mae gennyf un rhes ar gyfer pob ffrwyth, felly mae hyn yn cyfrif 884 00:47:31,000 --> 00:47:34,000 yn eiddo o unrhyw amrywiaeth sy'n dweud pa mor fawr yw e? 885 00:47:34,000 --> 00:47:36,000 Dyna faint o resi sydd gennyf. 886 00:47:36,000 --> 00:47:42,000 Yn olaf, mae angen i mi ddweud beth y mae pob cell yn edrych? 887 00:47:42,000 --> 00:47:46,000 Rydw i'n mynd i ddweud dequeueReusableCellWithIdentifier. 888 00:47:46,000 --> 00:47:48,000 >> Unwaith eto, mae hyn yn cael ei ysgrifennu yn barod i mi. 889 00:47:48,000 --> 00:47:51,000 Nid oedd rhaid i mi wneud hyn fy hun, ac rydw i eisiau mynd yn ôl 890 00:47:51,000 --> 00:47:54,000 y gell hon yn y lleoliad hwn. 891 00:47:54,000 --> 00:47:57,000 Cofiwch ein bod yn galw hwn yn un dull ar bob cell sengl, 892 00:47:57,000 --> 00:48:01,000 ac mae hyn yn ddadl yma, mae'r ddadl hon indexPath, 893 00:48:01,000 --> 00:48:03,000 yn dweud beth rhes rwy'n ynddo 894 00:48:03,000 --> 00:48:05,000 Os wyf yn dweud indexPath.row i lawr yma 895 00:48:05,000 --> 00:48:09,000 bydd hyn fod yn 0, yna bydd yn 1, yna bydd yn 2, ac mae hyn yn wir yr wyf yn gwybod 896 00:48:09,000 --> 00:48:11,000 pa cell o bryd rwy'n arddangos. 897 00:48:11,000 --> 00:48:15,000 Rwyf am osod testun y gell defnyddio'r eiddo textLabel 898 00:48:15,000 --> 00:48:19,000 i fynd y tu mewn fy amrywiaeth ffrwythau a chael 899 00:48:19,000 --> 00:48:21,000 y gwrthrych sy'n cyfateb i bob rhes. 900 00:48:21,000 --> 00:48:24,000 Os yw hyn yn llinyn, rwy'n awr yn gosod 901 00:48:24,000 --> 00:48:28,000 yr eiddo testun i llinyn. 902 00:48:28,000 --> 00:48:30,000 Gallaf wneud un peth arall. 903 00:48:30,000 --> 00:48:32,000 Gallaf hefyd gofrestru trin digwyddiad ar bob un o'r celloedd, 904 00:48:32,000 --> 00:48:35,000 felly pan fyddaf yn manteisio ar bob un o'r celloedd 905 00:48:35,000 --> 00:48:39,000 hyn didSelectRowAtIndexPath, mae hyn yn mynd i gael ei alw i mi, 906 00:48:39,000 --> 00:48:42,000 felly dim ond drwy ddiffinio hyn gallaf yn awr drin beth sy'n digwydd 907 00:48:42,000 --> 00:48:46,000 pan fyddwch yn tap gell, ac unwaith eto, rydym yn pasio lle mae cell yn tapio 908 00:48:46,000 --> 00:48:50,000 er mwyn i ni ailddefnyddio hwn trinydd un digwyddiad ar gyfer ein holl gelloedd. 909 00:48:50,000 --> 00:48:53,000 >> Unwaith eto, mae hyn yn rhywbeth iOS yn ei wneud i mi. 910 00:48:53,000 --> 00:48:55,000 Gadewch i ni arddangos arall popup blino 911 00:48:55,000 --> 00:48:59,000 sy'n dweud eich bod wedi cyfeirio rhywbeth lle bod rhywbeth 912 00:48:59,000 --> 00:49:04,000 yn mynd i fod yn wrthrych rhes. 913 00:49:04,000 --> 00:49:10,000 Pan fyddaf yn rhedeg hyn, yr wyf i'n mynd i gael y farn hon tabl 'n glws 914 00:49:10,000 --> 00:49:14,000 gydag un rhes ar gyfer pob un o'r ffrwyth, ac os wyf tap 1 915 00:49:14,000 --> 00:49:16,000 mae'n dweud wrthyf beth ddigwyddodd. 916 00:49:16,000 --> 00:49:21,000 Gwneud synnwyr? 917 00:49:21,000 --> 00:49:24,000 Gadewch i ni adeiladu ychydig yn fwy cymhleth o app, 918 00:49:24,000 --> 00:49:28,000 cymaint â chlicio eich bod wedi cyfeirio tomato yn. 919 00:49:28,000 --> 00:49:31,000 Mae'r rhan braf am y bwrdd stori 920 00:49:31,000 --> 00:49:35,000 yn cael ei nid yw'n unig yn mynd i helpu sgriniau dylunio ohonom yn unigol, 921 00:49:35,000 --> 00:49:38,000 mae hefyd yn mynd i'n helpu ni glymu ynghyd ein app cyfan, 922 00:49:38,000 --> 00:49:42,000 felly mae'r app terfynol byddwn yn adeiladu yw hyn 'n glws chwaraeon darllenydd newyddion, 923 00:49:42,000 --> 00:49:45,000 ac felly mae'n mynd i gael sgriniau lluosog, ac felly gallaf eu cynrychioli mewn gwirionedd 924 00:49:45,000 --> 00:49:48,000 pob un o'r sgriniau lluosog ar y bwrdd stori, 925 00:49:48,000 --> 00:49:52,000 a gallaf chwyddo allan a gweld fy app o lefel uchel. 926 00:49:52,000 --> 00:49:55,000 >> Er mwyn creu y tu mewn elfen newydd o fy stori 927 00:49:55,000 --> 00:49:59,000 mae'n syml iawn y tu mewn o Builder Rhyngwyneb. 928 00:49:59,000 --> 00:50:01,000 Os ydw i eisiau ychwanegu un arall sgrin i hyn, er enghraifft, 929 00:50:01,000 --> 00:50:06,000 Gall tro cyntaf i mi chwyddo allan gyda'r zoom phinsiad bod Apple wrth ei bodd cymaint, 930 00:50:06,000 --> 00:50:09,000 ac i lawr yma cyn i mi chwilio am botwm 931 00:50:09,000 --> 00:50:12,000 ac rwy'n llusgo a gollwng botwm 932 00:50:12,000 --> 00:50:15,000 os ydw i eisiau creu sgrîn newydd yn gallu Fi 'n weithredol jyst ddragia a gollwng 933 00:50:15,000 --> 00:50:19,000 yn rheolwr barn cyfan, felly os wyf yn dewis hyn, dynnu dros yma, 934 00:50:19,000 --> 00:50:23,000 hey, mae sgrîn arall, ac felly bellach yn defnyddio'r ffeil hon bwrdd stori un 935 00:50:23,000 --> 00:50:26,000 Gallaf gael yr holl o'r sgriniau tu mewn fy app, a gallaf chwyddo allan 936 00:50:26,000 --> 00:50:28,000 a gweld sut maent yn rhyngweithio. 937 00:50:28,000 --> 00:50:32,000 Ni fydd y rhain yn rhyngweithio eto. 938 00:50:32,000 --> 00:50:36,000 Mae'r ffordd y mae'r 2 sgriniau yn rhyngweithio yr ydych yn diffinio perthynas. 939 00:50:36,000 --> 00:50:39,000 Gallwch bôn yn dweud y sgrin hon, pan fyddwch yn gwasgu'r botwm hwn, 940 00:50:39,000 --> 00:50:42,000 Rwyf am i chi lithro dros i'r sgrin hon newydd. 941 00:50:42,000 --> 00:50:44,000 Mae hynny'n golygu fod y math hwn o berthynas rhwng 942 00:50:44,000 --> 00:50:46,000  y sgrin gyntaf a'r ail sgrîn. 943 00:50:46,000 --> 00:50:49,000 Bydd gennych y bôn saeth o'r botwm ar y ail sgrîn 944 00:50:49,000 --> 00:50:53,000 dweud bod pan fyddwch yn gwasgu'r botwm hwn dyna lle Dw i eisiau mynd. 945 00:50:53,000 --> 00:50:57,000 Yn union fel yr ydym yn rheoli clicio a llusgo i ddiffinio'r mannau 946 00:50:57,000 --> 00:51:01,000 ydym yn mynd i wneud yr un peth i ddiffinio'r hyn segues. 947 00:51:01,000 --> 00:51:05,000 >> Byddwn yn gweld enghraifft am hynny, a chyn i ni mewn gwirionedd yn trosglwyddo 948 00:51:05,000 --> 00:51:08,000 o un sgrin i'r llall iOS yn ddigon braf i alw y dull hwn 949 00:51:08,000 --> 00:51:11,000 a elwir yn prepareForSegue, a dyma lle y gallwn ddechrau 950 00:51:11,000 --> 00:51:14,000 anfon data o un app i'r llall. 951 00:51:14,000 --> 00:51:17,000 Yn yr enghraifft rydym am i edrych arno yn y bôn yn caniatáu i ni 952 00:51:17,000 --> 00:51:20,000 i hidlo timau pêl fas gan cynghreiriau ac is-adrannau. 953 00:51:20,000 --> 00:51:23,000 Pan fyddaf yn dewis cynghrair, er enghraifft, yr wyf eisiau trosglwyddo 954 00:51:23,000 --> 00:51:25,000 i fy sgrin nesaf lle y gallaf ddangos pob un o'r adrannau 955 00:51:25,000 --> 00:51:27,000 yn y gynghrair neu'r holl dimau gwahanol. 956 00:51:27,000 --> 00:51:31,000 Angen i mi anfon at y sgrîn pa dimau dylech arddangos. 957 00:51:31,000 --> 00:51:35,000 I wneud fy mod i'n mynd i fanteisio ar y dull yma. 958 00:51:35,000 --> 00:51:39,000 >> Yn olaf, dim ond pwynt ar hap ar iOS. 959 00:51:39,000 --> 00:51:41,000 Os ydych am storio data mae hyn yn beth a elwir data craidd, 960 00:51:41,000 --> 00:51:44,000 sydd mewn gwirionedd yn fath o gymhleth i weithio gyda nhw. 961 00:51:44,000 --> 00:51:47,000 Gallwch hefyd ddefnyddio SQL i storio data, 962 00:51:47,000 --> 00:51:51,000 sydd, unwaith eto, yn braf ond yn fath o ar yr ochr yn fwy cymhleth i weithio gyda, 963 00:51:51,000 --> 00:51:55,000 ond iOS hefyd yn cefnogi pethau hyn 'n sylweddol oera a elwir yn rhestrau eiddo, 964 00:51:55,000 --> 00:52:00,000 a rhestr eiddo yn unig yw ffeil sy'n cynrychioli parau gwerth allweddol. 965 00:52:00,000 --> 00:52:03,000 Byddwch yn diffinio rhestr o allweddi, ac yn dweud yr allwedd hon yn mynd i fod yn arae. 966 00:52:03,000 --> 00:52:06,000 Mae'r allwedd hon yn mynd i fod yn llinyn, ac yn y bôn unrhyw beth y gallwch ei wneud 967 00:52:06,000 --> 00:52:10,000 yn JSON y gallwch ei wneud y tu mewn o restr eiddo, 968 00:52:10,000 --> 00:52:14,000 ac felly mae hwn yn 'n glws yn ein galluogi i weithio gyda rhai data. 969 00:52:14,000 --> 00:52:18,000 Er enghraifft, rwyf wedi hyn Teams.plist fy mod yn creu. 970 00:52:18,000 --> 00:52:22,000 Yr wyf yn creu ffeil plist newydd, a gallaf ddrilio i lawr. 971 00:52:22,000 --> 00:52:26,000 Mae hwn yn geiriadur, mae hwn yn geiriadur, mae'r rhain yn llinynnau, 972 00:52:26,000 --> 00:52:30,000 ac felly mae hyn yn gynrychiolaeth graffigol 'n glws o ddogfen JSON 973 00:52:30,000 --> 00:52:33,000 neu dim ond set o barau gwerth allweddol, 974 00:52:33,000 --> 00:52:37,000 ac felly mae hyn yn y data y byddaf yn gweithio gyda tu mewn fy app. 975 00:52:37,000 --> 00:52:40,000 >> Gadewch i ni yn gyntaf ddod draw yma. Mae gennym ffeiliau lawer yn fwy yn awr. 976 00:52:40,000 --> 00:52:44,000 Ond gadewch i ni y cyntaf i'r felin dros yma i'r bwrdd stori. 977 00:52:44,000 --> 00:52:48,000 Mae'r bwrdd stori yma-os gallaf chwyddo allan- 978 00:52:48,000 --> 00:52:51,000 gallwn yn awr weld bod hyn yn llif fy app. 979 00:52:51,000 --> 00:52:53,000 Rwy'n cyntaf yn mynd i ddechrau ar y sgrin hon. 980 00:52:53,000 --> 00:52:55,000 Rydw i'n mynd i ddrilio i lawr i'r sgrin hon, 981 00:52:55,000 --> 00:52:58,000 ac yr wyf i'n mynd i ddrilio i lawr i'r sgrin hon, a gallwn weld yma os wyf yn fath o 982 00:52:58,000 --> 00:53:04,000 symud un o'r rhain o gwmpas ein bod wedi hyn saethau yn mynd oddi yma i yma, 983 00:53:04,000 --> 00:53:08,000 a'r ffordd i ddiffinio hynny saeth oedd os byddaf yn chwyddo i mewn ychydig bach, 984 00:53:08,000 --> 00:53:12,000 ac os deuaf draw i hwn rheolwr farn, 985 00:53:12,000 --> 00:53:16,000 a dyma cell, ac yr wyf am ei ddweud pan fyddwch yn tap cell 986 00:53:16,000 --> 00:53:18,000 Rwyf am i chi lithro dros sgrîn i un arall. 987 00:53:18,000 --> 00:53:21,000 Gallaf yn hytrach yn cadw i lawr rheoli, 988 00:53:21,000 --> 00:53:26,000 sgroliwch dros ychydig, dal i lawr rheoli, llusgwch y gell hon drosodd a gadael i fynd. 989 00:53:26,000 --> 00:53:30,000 >> Ac draw fan hyn rydym yn dweud beth yw'r trawsnewid yr ydych am ei ddefnyddio? 990 00:53:30,000 --> 00:53:32,000 Ydych chi eisiau defnyddio peth hwnnw sleidiau sy'n cael ei alw gwthio? 991 00:53:32,000 --> 00:53:34,000 Ydych chi am i lithro i fyny o'r gwaelod? 992 00:53:34,000 --> 00:53:36,000 Dyna a elwir yn moddol. 993 00:53:36,000 --> 00:53:40,000 Ac ar ôl i mi cliciwch ar un o'r rhain, mae'n mynd i dynnu y saeth i mi, 994 00:53:40,000 --> 00:53:44,000 ac mae hynny'n golygu fy mod wedi trin mewn gwirionedd beth sy'n digwydd pan fyddaf yn pwyso y botwm graffigol. 995 00:53:44,000 --> 00:53:48,000 Doeddwn i ddim yn ysgrifennu unrhyw god i mewn gwirionedd yn llithro o un sgrin i'r un nesaf. 996 00:53:48,000 --> 00:53:51,000 Rwy'n diffinio hyn yn weledol tu mewn Builder Rhyngwyneb. 997 00:53:51,000 --> 00:53:55,000 Os byddaf yn cliciwch ar y saeth, gallwn weld bod rhoddais y peth enw. 998 00:53:55,000 --> 00:53:59,000 Gelwais ei showDivisions, ac mae hyn yn fel y gallaf wybod 999 00:53:59,000 --> 00:54:03,000 pa pontio ar fin digwydd, a byddwn yn gweld pam mewn dim ond sec. 1000 00:54:03,000 --> 00:54:06,000 Dyna sut yr wyf wedi gwifrau i fyny 'r sgriniau gwahanol yn fy app. 1001 00:54:06,000 --> 00:54:09,000 Pe bai hwn yn botwm, er enghraifft, yn hytrach na barn bwrdd, 1002 00:54:09,000 --> 00:54:11,000 Gallwn reoli cliciwch ar y botwm, llusgo draw at y sgrin nesaf, 1003 00:54:11,000 --> 00:54:16,000 a dyna sut y gallaf wneud fordwyo y ffordd honno. 1004 00:54:16,000 --> 00:54:19,000 >> Really yn gyflym, os ydym yn dod i mewn i'r MasterViewController, 1005 00:54:19,000 --> 00:54:22,000 unwaith eto, rydym yn syml yn mynd i ddiffinio rhestr o bethau 1006 00:54:22,000 --> 00:54:26,000 a gaiff eu dangos yn y golwg tabl. 1007 00:54:26,000 --> 00:54:29,000 Yma i ddim yn dweud yr wyf am i chi gymryd y ffeil plist, 1008 00:54:29,000 --> 00:54:32,000 ac yr wyf am i chi lwytho i fyny i mewn geiriadur, 1009 00:54:32,000 --> 00:54:35,000 ac unwaith y byddwch yn cael y geiriadur, dwi'n mynd i ateb y cwestiynau hynny un fath eto. 1010 00:54:35,000 --> 00:54:37,000 Dyma nifer o adrannau. 1011 00:54:37,000 --> 00:54:41,000 Un, mae yna un rhes ar gyfer pob gynghrair, a thestun pob cell 1012 00:54:41,000 --> 00:54:46,000 Dylai fod naill ai yr un cyntaf, y gynghrair gyntaf, y gynghrair ail ac yn y blaen. 1013 00:54:46,000 --> 00:54:51,000 Yn olaf, yr wyf i'n mynd i ddefnyddio'r dull hwn yr ydym yn unig welodd enw prepareForSegue, 1014 00:54:51,000 --> 00:54:54,000 a dyma'r dull sy'n mynd i fod yn tanio pan fyddaf yn clicio 1015 00:54:54,000 --> 00:54:57,000 ar un o'r rhesi ac felly activating y cyfnod pontio 1016 00:54:57,000 --> 00:54:59,000 fy mod yn sefydlu gyda'r saethau. 1017 00:54:59,000 --> 00:55:02,000 Mae hyn yn dweud y gallaf ei gael lluosog 1018 00:55:02,000 --> 00:55:05,000 berthynas o un sgrin i'r llall. 1019 00:55:05,000 --> 00:55:08,000 Os oes gen i 2 botymau a phob botwm yn mynd â chi i sgrin wahanol 1020 00:55:08,000 --> 00:55:10,000 Rydw i'n mynd i gael 2 segues, 1 ar gyfer pob botwm. 1021 00:55:10,000 --> 00:55:14,000 Ond mae hyn prepareForSegue yw, unwaith eto, yn mynd i gael eu hailddefnyddio 1022 00:55:14,000 --> 00:55:17,000 gyfer pob un o'r perthnasoedd gwahanol, felly mae hynny'n golygu fy mod angen ffordd 1023 00:55:17,000 --> 00:55:21,000 o nodi os ydych yn pwyswch y botwm cyntaf neu rydych pwyswch y botwm ail. 1024 00:55:21,000 --> 00:55:25,000 >> Cofiwch pan roddais y segue enw, mae hyn yn showDivisions, 1025 00:55:25,000 --> 00:55:29,000 dyna sut yr wyf yn awr yn gwybod mai dyma'r segue a actifadu. 1026 00:55:29,000 --> 00:55:32,000 Y cyfan yr wyf am ei wneud yw fy mod am ei ddweud 1027 00:55:32,000 --> 00:55:35,000 Rwyf am i chyfrif i maes yr hyn yr wyf jyst daro, 1028 00:55:35,000 --> 00:55:38,000 ac felly er mwyn cael hynny, gallaf ddweud fy mod am i'r indexPath ar gyfer y rhes a ddewiswyd, 1029 00:55:38,000 --> 00:55:42,000 cofiwch y indexPath yn unig yn dweud ble Fi jyst clicio, 1030 00:55:42,000 --> 00:55:47,000 ac yna yr wyf am ddweud fy mod eisiau chyfrif i maes ble dw i'n mynd. 1031 00:55:47,000 --> 00:55:50,000 Mae hyn yn destinationViewController, mae hynny'n eiddo i'r segue. 1032 00:55:50,000 --> 00:55:53,000 Dyna y sgrin Rydw i'n mynd i, 1033 00:55:53,000 --> 00:55:56,000 felly rwy'n gwybod bod y sgrin wyf i'n mynd i cael ei alw'n DivisionsViewController 1034 00:55:56,000 --> 00:55:59,000 oherwydd fy mod yn creu dosbarth hwnnw, 1035 00:55:59,000 --> 00:56:02,000 ac felly nawr os ydw i'n dweud d.divisions 1036 00:56:02,000 --> 00:56:06,000 Rwyf nawr yn gosod eiddo i'r rheolwr barn rwy'n ar fin mynd i. 1037 00:56:06,000 --> 00:56:10,000 Dyma sut yr wyf i'n anfon data o un sgrin i'r llall sgrîn. 1038 00:56:10,000 --> 00:56:13,000 >> Dim ond edrych ar y DivisionsViewController 1039 00:56:13,000 --> 00:56:16,000 gallwch weld yma, yn y. ffeil h 1040 00:56:16,000 --> 00:56:20,000 mae bod adrannau eiddo, a dyna beth rwy'n bôn poblogi, 1041 00:56:20,000 --> 00:56:25,000 felly dyna sut yr wyf yn gwybod fy mod yn dangos y rhaniadau sy'n cyfateb i 1042 00:56:25,000 --> 00:56:28,000 y gynghrair sydd glicio I, ac unwaith eto, 1043 00:56:28,000 --> 00:56:31,000 barn tabl gwirioneddol yn edrych 'n bert lawer yr un fath, dim ond ateb y 1044 00:56:31,000 --> 00:56:34,000 3 chwestiwn syml yn ogystal â nodi 1045 00:56:34,000 --> 00:56:37,000 beth sy'n digwydd pan fyddwch yn symud i'r sgrîn nesaf. 1046 00:56:37,000 --> 00:56:40,000 Dim ond un neu ddau o bethau eraill yma. 1047 00:56:40,000 --> 00:56:43,000 Byddwch yn sylwi ar y brig yma yn hytrach na dweud # gynnwys 1048 00:56:43,000 --> 00:56:45,000 Rwyf nawr yn dweud # mewnforio. 1049 00:56:45,000 --> 00:56:47,000 Mae hyn yn unig yw beth Amcan-C. 1050 00:56:47,000 --> 00:56:52,000 Mae'r mewnforio yn y bôn yn fersiwn brafiach o gynnwys, 1051 00:56:52,000 --> 00:56:57,000 ac, er enghraifft, mae angen i ni wybod beth y dosbarth hwn, 1052 00:56:57,000 --> 00:57:00,000 felly ni allaf ddweud DivisionsViewController. 1053 00:57:00,000 --> 00:57:05,000 Pe na baem yn hashtag y tu mewn standardio.c o'n. Ffeil c 1054 00:57:05,000 --> 00:57:07,000 y casglwr oedd ddim syniad beth oedd printf. 1055 00:57:07,000 --> 00:57:12,000 Yn yr un modd, os nad wyf yn mewnforio y DivisionsViewController 1056 00:57:12,000 --> 00:57:16,000 y casglwr mewn gwirionedd wedi ddim syniad beth yw DivisionsViewController yn. 1057 00:57:16,000 --> 00:57:19,000 Jyst gwnewch yn siŵr bod tu mewn i'ch wahanol. Rengau m eich gwneud yn siwr i fewnforio 1058 00:57:19,000 --> 00:57:25,000 cyfatebol. ffeiliau h fel bod y casglwr yn gwybod beth sy'n mynd ymlaen. 1059 00:57:25,000 --> 00:57:31,000 >> Yn olaf, yr hyn Apple yn y pen draw yn cael ei arddangos peth data gan ddefnyddio barn ar y we, 1060 00:57:31,000 --> 00:57:35,000 ac felly mae barn ar y we yn wrthrych y gallwch ymgorffori 1061 00:57:35,000 --> 00:57:37,000 porwr gwe bach tu mewn i'ch app. 1062 00:57:37,000 --> 00:57:40,000 Cyfan sydd angen i chi ei wneud yw darparu URL i'ch porwr gwe, 1063 00:57:40,000 --> 00:57:43,000 felly yr wyf am fynd i mlb.mlb.com, 1064 00:57:43,000 --> 00:57:46,000 a dyma sut y gallaf gael mynediad i'r dudalen cartref ar gyfer pob tîm, 1065 00:57:46,000 --> 00:57:49,000 a hynny drwy basio yn y URL 1066 00:57:49,000 --> 00:57:52,000 gall yr olwg ar y we yn dangos hyn i mi, a gallaf bori o gwmpas, 1067 00:57:52,000 --> 00:58:01,000 ac efelychydd yn cael ei ddefnyddio gan yr un. 1068 00:58:01,000 --> 00:58:03,000 Nawr mae hyn yn dod o fy plist. 1069 00:58:03,000 --> 00:58:07,000 Os byddaf yn cliciwch y mae hyn hefyd yn dod o fy plist, ac mae hyn yn llithro ei thrin 1070 00:58:07,000 --> 00:58:09,000 drwy ddiffinio hynny segues. 1071 00:58:09,000 --> 00:58:12,000 Fyddaf yn clicio hyn ac un yn fwy, 1072 00:58:12,000 --> 00:58:15,000 ac yn awr dyma yw fy UIWebView, felly dim ond fel 'na 1073 00:58:15,000 --> 00:58:19,000 dyma y wefan ar gyfer y URL fy mod yn gwreiddio yn unig, 1074 00:58:19,000 --> 00:58:21,000 ac nid oedd rhaid i mi drin unrhyw beth crazy. 1075 00:58:21,000 --> 00:58:24,000 Dyma sut i arddangos dudalen ar y we. 1076 00:58:24,000 --> 00:58:27,000 Pethau fel hyn botwm yn ôl yma yn cael eu rhoi hefyd i mi 1077 00:58:27,000 --> 00:58:33,000 hollol rhad ac am ddim oherwydd fy mod i wedi diffinio perthnasau hyn gan ddefnyddio segues. 1078 00:58:33,000 --> 00:58:37,000 >> Unrhyw gwestiynau? Yeah. 1079 00:58:37,000 --> 00:58:40,000 [Myfyrwyr] Felly, pan fyddwch yn defnyddio Dyraniad byth, rhaid i chi unrhyw beth am ddim? 1080 00:58:40,000 --> 00:58:43,000 Yn union, pan fyddwch yn ffonio Dyraniad a init nid oes rhaid i chi ei rhyddhau. 1081 00:58:43,000 --> 00:58:46,000 IOS yn mynd i ymdrin â hynny i gyd i chi. 1082 00:58:46,000 --> 00:58:51,000 Mae'n wych, ac nad ydych yn torri unrhyw reolau. Yeah. 1083 00:58:51,000 --> 00:58:54,000 [Myfyrwyr] Pe baech yn cynnwys mwy o dimau a allai ffitio ar y sgrin, 1084 00:58:54,000 --> 00:58:58,000 byddai yn awtomatig yn cael dewis sgrôl, ynteu a yw'n rhywbeth mae angen i chi ychwanegu? 1085 00:58:58,000 --> 00:59:01,000 Yn union, pe bai gen i mwy o dimau, er enghraifft, byddai'n trin yn awtomatig 1086 00:59:01,000 --> 00:59:04,000 y sgrolio i mi, a'r holl bryderon perfformiad 1087 00:59:04,000 --> 00:59:08,000 â'r tabl enfawr yn cael eu trin hefyd yn gwbwl i mi. 1088 00:59:08,000 --> 00:59:11,000 >> Cwestiynau eraill? 1089 00:59:11,000 --> 00:59:13,000 Mae pob un o'r cod hwn yn mynd i gael ei bostio. 1090 00:59:13,000 --> 00:59:16,000 Rydym yn fath o fychanu dros ychydig o'r manylion yn fwy mân, 1091 00:59:16,000 --> 00:59:19,000 ond mae pethau fel gosod rhai eiddo i farn ar y we 1092 00:59:19,000 --> 00:59:22,000 yn unig bethau y gallwch ei gael drwy bori Afalau 'ddogfennaeth, 1093 00:59:22,000 --> 00:59:24,000 sydd yn iawn, iawn 'n glws gosod allan. 1094 00:59:24,000 --> 00:59:27,000 Mae ganddynt lawer o apps sampl ac esiampl usages 1095 00:59:27,000 --> 00:59:34,000 o APIs gwahanol, felly yn sicr gael golwg ar y rheini os gallwch. 1096 00:59:34,000 --> 00:59:36,000 Dim ond rhai cysylltiadau defnyddiol efallai y byddwch am gymryd golwg ar. 1097 00:59:36,000 --> 00:59:38,000 Mae'r rhain yn rhai canllawiau dogfennau wrth law. 1098 00:59:38,000 --> 00:59:41,000 Mae'r URLs yn enfawr, felly maen nhw'n fyrrach. 1099 00:59:41,000 --> 00:59:44,000 Mae'r un cyntaf yn y llyfrgell gyfan o ddogfennau. 1100 00:59:44,000 --> 00:59:46,000 Mae bariau chwilio ychydig, felly os byddwch yn dechrau teipio botwm 1101 00:59:46,000 --> 00:59:50,000 bydd yn dechrau rhoi i chi yr holl wybodaeth am yr holl bethau y gallwch eu gwneud gyda botwm. 1102 00:59:50,000 --> 00:59:53,000 Rwyf hefyd wedi cynnwys y Canllaw View Tabl Rhaglennu. 1103 00:59:53,000 --> 00:59:56,000 Mae'n ymdrin â barn tabl yn llawer mwy o fanylion, 1104 00:59:56,000 --> 01:00:00,000 sut i wneud pethau fel ddynamig ychwanegu celloedd neu gelloedd golygu neu eu dileu. 1105 01:00:00,000 --> 01:00:02,000 >> Mae llawer o apps sampl o Apple a fydd yn dangos i chi sut i wneud hynny, 1106 01:00:02,000 --> 01:00:05,000 ac yn olaf, mae'r un olaf yn y Canllawiau Rhyngwyneb Dynol, 1107 01:00:05,000 --> 01:00:09,000 ac mae hyn yn y bôn rhywfaint o drafodaeth o gydrannau UI, 1108 01:00:09,000 --> 01:00:12,000 Nid yw pethau fel gwneud botwm sy'n 4 picsel gan 4 picsel. 1109 01:00:12,000 --> 01:00:15,000 Dyna syniad drwg, a phethau eraill sy'n Apple eisiau i chi ei wneud 1110 01:00:15,000 --> 01:00:18,000 i annog dyluniad da. 1111 01:00:18,000 --> 01:00:23,000 >> Unrhyw gwestiynau olaf cyn i ni orffen i fyny? 1112 01:00:23,000 --> 01:00:27,000 Mae pob hawl, yn bendant yn teimlo rhad ac am ddim i-we're mynd i gael labeli arbennig ar Trafod. 1113 01:00:27,000 --> 01:00:30,000 Bydd gennym iOS un, felly yn bendant yn teimlo yn rhydd i ddefnyddio hynny. 1114 01:00:30,000 --> 01:00:34,000 Os ydych chi am weithio gyda'ch cyd-ddisgyblion ar brosiectau 1115 01:00:34,000 --> 01:00:37,000 neu helpu i chyfrif i maes rhai pethau iOS ar hap 1116 01:00:37,000 --> 01:00:40,000 mae croeso i chi e-bost ataf, ac yn sicr yn darllen yr holl ar-lein cod oherwydd 1117 01:00:40,000 --> 01:00:43,000 dim ond yn y diddordeb o amser yr ydym fath o fychanu dros y mwyaf 1118 01:00:43,000 --> 01:00:45,000 manylion eraill yn graen o bethau. 1119 01:00:45,000 --> 01:00:47,000 Ond os nad yw, yna pob lwc ar eich prosiectau iOS, ac yr wyf yn gobeithio ein bod wedi 1120 01:00:47,000 --> 01:00:53,000 mewnlifiad mawr o apps yn y Storfa App. 1121 01:00:53,000 --> 01:00:56,000 [CS50.TV]