[Powered by Google Translate] [Seminar] [iOS: Ysgrifennu Apps Fel Boss]
[Tommy MacWilliam] [Harvard University]
[Mae hyn yn CS50.] [CS50.TV]
>> Mae pob hawl, bawb, croeso i iOS: Ysgrifennu Apps fel Boss.
Mae'r seminar yn mynd i ganolbwyntio ar ysgrifennu apps ar gyfer yr iPhone
ac yn ei dro ysgrifennu apps ar gyfer y iPad, ac felly rydym yn y bôn yn mynd i gerdded drwy
ychydig o enghreifftiau gwahanol o sut i wneud app, gêm syml fel Toe Tic Tac,
neu os ydych yn fwy o ddiddordeb mewn gwneud app fel rhyw fath o ddarllenydd newyddion
neu rywbeth sy'n rhyngweithio gyda'r Rhyngrwyd byddaf yn sôn am hynny hefyd.
Dyma ein hagenda byr.
>> Apps IOS yn cael eu hysgrifennu mewn iaith a elwir yn Amcan-C,
ac felly mae hwn yn ychydig yn debyg i C, ond nid mewn gwirionedd o gwbl,
felly byddwn yn siarad ychydig am yr iaith ei hun
ac yna sut i adeiladu apps iPhone defnyddio'r rhaglen hon app o'r enw XCode,
ac os nad ydych wedi ei lwytho i lawr eto mae croeso i chi gychwyn y llwytho i lawr yn awr.
Mae'n gigabeit lawer.
Dylai fod yn rhad ac am ddim ar y Storfa App, felly bydd angen i chi gael Mac
yn ddelfrydol rhedeg y fersiwn diweddaraf o OS X.
Os nad ydych chi'n, dim problem.
Mae gennym Macs yn y ganolfan gwyddoniaeth sydd ar gael ar gyfer eich defnydd
gyda XCode gosod, ac felly mae croeso i ddefnyddio rhai ar gyfer datblygiad.
Os ydych am wneud app, ond nad oes gennych Mac, peidiwch â phoeni.
Mae digon o adnoddau ar y campws ar gyfer hynny.
Ac felly, yna rydym yn mynd i dalu am 2 enghraifft mwy o apps gwahanol y gallwch eu gwneud.
Amcan-C yn dechnegol hyn a elwir yn set super o C.
Mae hynny'n golygu bod unrhyw god C hefyd yn ddilys Amcan-C cod.
Mae hynny'n golygu ein bod yn fath o dwythell dâp ar rai nodweddion ychwanegol i C.
Nid yw rhai o'r nodweddion hyn yn cynnwys gorfod byth ysgrifennu malloc eto, diolch i Dduw,
ddim yn gorfod poeni am y rhai awgrymiadau dwp ac yn eu rhyddhau a'r holl bethau
oeddech yn ei gasáu am C, ac mae'n fath o fynd yn Amcan-C.
>> Yn awr, Amcan-C hefyd lyfrgell safon llawer mwy,
felly mae ymarferoldeb llawer mwy a gewch ar gyfer y tu mewn yn rhad ac am Amcan-C.
Cofiwch pan oeddem yn ysgrifennu PHP rydym yn sylwi ein bod yn mynd o
yr iaith hon lleiaf i'r llyfrgell mawr yr holl bethau hyn crazy gallwch ei wneud.
Mae'r un peth yn digwydd yn iOS.
Mae gwrthrychau ar gyfer pethau fel y calendr Bwdhaidd, ac yn wir unrhyw beth
y gallwch chi feddwl o bosibl yn ôl pob tebyg yn bodoli eisoes yn Amcan-C yn gweithredu.
Mae'r rhan Amcan Amcan-C yn cyfeirio at rywbeth
a elwir yn Gwrthrych sy'n Canolbwyntio ar Rhaglennu.
Mae hwn yn fath o gysyniad newydd, ond mewn gwirionedd rydym wedi dysgu yn bennaf
llawer o cysyniadau hyn yn barod.
Y syniad y tu ôl i Gwrthrych sy'n Canolbwyntio ar Rhaglennu yw eich bod chi'n mynd i strwythuro
llawer o eich cod o gwmpas y pethau hyn a elwir yn ddosbarthiadau,
a dosbarthiadau hyn mewn gwirionedd ogoneddu structs.
Y tu mewn i strwythur y bôn rydym yn dweud yma yn beth,
a gall hyn gael beth aelodau.
Er enghraifft, gallai nod mewn rhestr cysylltiedig yn cael pethau eraill
fel gwerth, pwyntydd i'r nod nesaf yn y rhestr,
ac ar y cyd y pwyntydd, a bod gwerth gyfansoddodd yr achos hwn yn un o strwythur.
Mae'r dosbarthiadau yn debyg iawn ac eithrio
Gall dosbarthiadau hefyd swyddogaethau tu mewn iddynt.
Pan fyddwn yn datgan strwythur, gallem dim ond dweud n int neu * nod nesaf.
>> Nawr gyda Amcan-C gallwn mewn gwirionedd yn rhoi swyddogaethau
y tu mewn o'r pethau hynny.
Peth arall y gall dosbarthiadau ei wneud yw y gallant etifeddu data o ddosbarthiadau eraill.
Er enghraifft, byddwn yn edrych ar griw o adeiledig-yn Amcan-C dosbarthiadau.
Gallai un ohonynt fod yn y dosbarth sy'n cynrychioli barn am sgrin,
ac felly trwy ddweud wyf am ei weithredu fy marn hun
rydym yn y bôn yn dweud rhywun drosodd ar Apple, mae pobl yn ôl pob tebyg neis iawn,
ysgrifennodd y dosbarth hwn i mi, ac mae'n ymdrin â phethau fel botymau arddangos
neu wneud y sgrin, a byddem yn wirioneddol pained
i weithredu popeth a functionality ein hunain, ac felly 'n annichellgar
etifeddu data gallwn ddweud popeth a wnaethoch yn y dosbarth
Rwyf hefyd am y tu mewn fy nosbarth, ac yna yr wyf i'n mynd i wneud rhai pethau eraill,
sef gweithredu app.
Dyna beth etifeddiaeth honno gair yn ei olygu. Byddwn yn gweld enghraifft mwy pendant.
>> Ac yn olaf, yr allwedd gyda Gwrthrych sy'n Canolbwyntio ar Rhaglennu yw bod
mae'n arwain at ddata amgįu.
Mewn rhai o'n problem yn gosod gallem gael y rhain mawr, newidynnau byd-eang
a GLOBALS ym mhob man, a dyna sut y byddem yn cadw golwg ar y wladwriaeth.
Gyda dosbarthiadau gallwn ddechrau crynhoi gwybodaeth y tu mewn o wrthrych.
Os oes gennym un sgrin ar ein app, nid ydym yn gwir angen i gael unrhyw ddata o
sgrîn arall yn ein tu mewn app o hynny,
a hynny drwy crynhoi pethau o fewn y dosbarthiadau hyn mewn gwirionedd yn arwain
i ddylunio cod yn llawer gwell, ac mae hyn yn bosibl gyda rhai o'r nodweddion ychwanegol
Amcan-C.
Rybudd ymlaen llaw, y gystrawen ar gyfer Amcan-C yn bananas.
Mae fel unrhyw beth yr ydym wedi gweld o'r blaen,
felly mae'n dipyn o gromlin ddysgu dod i arfer â
hyn y mae'r Heck yw ystyr hyn?
Ond ar ôl i chi fynd heibio y ddringfa dysgu cychwynnol 'i' iawn, iawn llyfn
i ddechrau ysgrifennu apps.
>> I ddatgan dosbarth, ei ddweud yma yw fy nosbarth, ei fod yn bodoli,
ac efallai dyma rai pethau fy mod i'n mynd i ddiffinio nes ymlaen,
Rydw i'n mynd i ddweud @ rhyngwyneb.
Rydw i'n mynd i ddweud @ rhyngwyneb. Rydw i'n mynd i roi fy nosbarth enw.
Ac yna yn ddiweddarach yn rhywle arall dw i'n mynd i ddweud @ diwedd,
a phopeth rhwng y rhyngwyneb @ a diwedd @
yn mynd i fod yn fy nosbarth.
Mae hynny yn mynd i fod beth sydd y tu o'n. Ffeiliau h.
Yn union fel yn C ein. Ffeiliau h bôn dweud dyma rai pethau a fydd yn bodoli.
Dydw i ddim o reidrwydd yn dweud wrthych beth maent yn ei wneud eto,
ond mae compiler angen gwybod eu bod yn bodoli.
Yn ddiweddarach y tu mewn ein. M ffeiliau-oherwydd m ar gyfer Amcan-C
yn lle'r ydym yn wir yn mynd i ddiffinio beth y dosbarthiadau hyn yn ei wneud.
Mae llawer yn hoffi ein. Ffeiliau c, rydym yn darparu gweithredu ar gyfer swyddogaethau.
Y tu mewn ein. M ffeiliau rydym yn mynd i ddweud yma yw beth y mae'r holl swyddogaethau
tu mewn fy nosbarth-beth maent i gyd yn ei wneud.
Ac yn olaf, y tu mewn o strwythur y gallem ddweud tu mewn y braces cyrliog
int, n neu nod * nesaf
ac yn Amcan-C rydyn ni'n mynd i ddefnyddio'r allweddair @ eiddo,
ac mae hyn yn beth sy'n mynd i ddiffinio y priodweddau,
neu pan fo swyddogaethau nad ydynt yn bod yn rhan o fy dosbarthiadau.
>> Galw swyddogaethau yn Amcan-C hefyd yn bananas.
Pan fyddwn yn datgan swyddogaethau yn C rydym yn dweud rhywbeth fel int foo
ac yn agored paren ac yna rhoddodd restr o ddadleuon.
Dyma beth datgan dulliau neu swyddogaethau yn edrych fel yn Amcan-C.
Os ydw i eisiau i ddatgan swyddogaeth neu ddull
lle i ddim yn dweud dull hwn mewn gwirionedd yn unig yn swyddogaeth sy'n aelod o ddosbarth,
felly math o gyfnewidiol, ond nid mewn gwirionedd,
felly tu mewn fy dull rwyf eisiau creu dull newydd.
Mae'n mynd i ddychwelyd dim byd, felly mae'n mynd i fod o fath ddi-rym.
Dyma'r math dychwelyd fy swyddogaeth.
Nawr rydym wedi parens yma oherwydd-I ddim yn gwybod.
Nesaf yn mynd i fod yn enw fy swyddogaeth,
ac yna yn olaf mae gennym hanner colon yn union fel oedd gennym yn C.
Beth sy'n newydd yma yn y boi yma.
Mae'r cysylltnod mewn gwirionedd yn angenrheidiol, a beth mae hyn yn dweud yw bod
rhaid i'r dull yma gael ei galw ar enghraifft o ddosbarth.
>> Ar ôl i ni ddatgan ein structs mae'n debyg ein bod wedi dweud rhywbeth tebyg
n nod strwythur, ac a greodd mewn gwirionedd
neu instantiated un o'r rhai structs er mwyn i mi mewn gwirionedd yn dechrau gweithio
â'r hyn sydd y tu mewn ohono, felly mae hyn yn golygu dash bod rhaid i ni
enghreifftio y dosbarth yn unig yn hoffi ydym instantiated y strwythur
cyn y gallwn alw y dull hwn arno.
Os ydw i eisiau dechrau ychwanegu dadleuon i fy dulliau
mae'n mynd bananas hyd yn oed mwy.
Dyma fy enw dull.
Wedyn dw i'n mynd i gael colon, ac ar ôl y colon mae'n dweud yma daw rhai dadleuon.
Mae'r dull hwn yn cymryd un ddadl.
Mae'r math o ei ddadl yn int, ac enw y ddadl
neu 'r newidyn fy mod i'n mynd i ddechrau defnyddio tu mewn i'r dull yn cael ei alw i.
Unwaith eto, mae hyn yn ddull. Mae'n cymryd un ddadl.
>> Os ydych chi eisiau dechrau ychwanegu mwy o ddadleuon mae'n mynd bananas mwy o
gan ein bod y colon sy'n dweud yma yn dod fy rhestr o ddadleuon.
Mae'r ddadl gyntaf yn gyfanrif.
Nawr, mae'r ail ddadl yn ddiddorol.
Y newidyn sy'n dwi'n mynd i gael eu defnyddio y tu mewn o fy swyddogaeth
Gelwir f, felly tu mewn fy swyddogaeth gallwn ddweud
f + = 1 neu rywbeth.
Mae hyn yn peth yma yn y bôn yn allweddol ar gyfer y ddadl honno neu paramedr.
Yn union fel yr oedd gennym parau gwerth allweddol a rhywbeth fel JSON neu araeau cysylltiadol
Gwneud Amcan-C y penderfyniad i ddweud, iawn, yn union fel ei bod yn wir yn glir
pan fyddwch yn ffonio dull beth yw'r holl paramedrau hyn yn
Im 'mewn gwirionedd yn mynd i'w henwi i gyd.
Pan fyddwch yn ffonio dull, byddwch mewn gwirionedd yn dweud andFloat,
ac yna byddwch yn ei basio i mewn
>> Yn ddiddorol, nid yw'r un yn cael ei enwi, ond mae pob un o'r paramedrau eraill,
felly os oedd gennym ddadl 3 gallwn ddweud andFloat
ac un arall arnofio ac yn y blaen.
Pan fyddaf yn galw dulliau hyn ei fod o bananas wrth gwrs,
felly os oes gennyf gwrthrych, ac yr wyf yn diffinio dull o'r enw foo,
ac yr wyf am ei alw, yn hytrach na dweud foo agored / parens agos
Rydw i'n mynd i agor braced.
Dyma enw fy dull.
Rydw i'n mynd i gau'r braced, a dyma'r gwrthrych rwy'n galw ar.
Cofiwch, mae pob un o'r dulliau hyn yn bodoli o fewn dosbarthiadau
oherwydd gall dosbarthiadau dulliau a ddiffinnir tu mewn iddynt.
>> Yma, Rydw i wedi creu fympwyol gwrthrych o ryw ddosbarth,
ac mae hyn yn y gystrawen ar gyfer gwneud hynny.
Mae 2 camau i greu gwrthrych.
Y cam cyntaf yw dweud fy mod am i neilltuo lle.
Mae hyn yn cyfateb i malloc. Nid ydym yn rhaid i mi ddweud malloc anymore.
Rydym yn gollwng y m, ei gwneud yn Dyraniad, ac mae'n disodli'r c. Gyda. M.
Ar ôl rhywbeth Dyraniad ni angen i ni wedyn ymgychwyn hynny.
Yn y bôn pan fyddwch yn creu gwrthrychau efallai y byddwch am gael rhywfaint o resymeg
bod yn gweithredu pan fyddant yn creu, er mwyn i chi basio mewn rhai gwerthoedd diofyn
neu rywbeth fel 'na, ac felly mae'r dull init yw'r hyn mewn gwirionedd yn creu y gwrthrych.
Rydym yn gyntaf neilltuo lle, yn union fel y gwnaethom yn y C,
ac yna rydym yn ei ymgychwyn, a allai neu na allai wneud llawer gyfan.
Yna, rydym yn dychwelyd y peth hyn i mewn i wrthrych o.
Mae seren yma oherwydd mae hyn yn dechnegol pwyntydd,
ond peidiwch â phoeni, nid arwyddion yw bod mawr llawer yn Amcan-C anymore.
>> Nawr rydym wedi instantiated y dosbarth hwn o'r enw NSObject,
ac mae hyn yn unig yw dosbarth ar hap bod Apple wedi.
Rydym wedi instantiated hyn, ac yn awr yr wyf wedi yn enghraifft o'r dosbarth hwn
yn hyn o wrthrych, felly mae hynny'n golygu bod os byddaf yn diffinio
dulliau hyn y gallwn ei alw'n nhw fel hyn.
Yn yr un modd, os oeddwn i eisiau i alw dull gydag un ddadl,
felly dyma'r dull bar, sy'n cymryd un ddadl,
a dyma'r Baz: qux dull, felly mae hyn yn cymryd 2 dadleuon.
Mae hyn yn galw un swyddogaeth ar hyn o wrthrych.
Gwneud synnwyr?
Dylai'r cystrawen gwneud synnwyr, ond rydych fath o ddod i arfer ag ef.
>> Iawn, gadewch i ni siarad am ychydig o bethau sy'n cael eu hadeiladu i mewn i Amcan-C
na chawsant eu hadeiladu o reidrwydd i mewn i C.
Yn C rydym yn fath o gorfod delio gyda llinynnau gan fod y rhain araeau cymeriad dwp,
ac mae'n cael andros o niwsans.
Amcan-C yn rhai a adeiladwyd i gyd yn i ni, ac iddi gael ei hadeiladu yn y
defnyddio'r dosbarth hwn o'r enw NSString.
Pan fyddaf yn awyddus i greu NSString gennym cystrawen yn fwy dirgel.
Yn hytrach na dweud "cs50" rydym yn dweud @ "cs50"
ac mae hyn yn unig y gystrawen ar gyfer datgan llinynnau yn Amcan-C.
Mae hyn yn hynod o hawdd i'w anghofio, felly peidiwch â.
Nawr, ar ôl imi gael hyn, mae hyn yn llinyn, ond sylwi
mae'n wirioneddol yn unig wrthrych.
Dywedais NSString, sy'n golygu fy mod instantiated y dosbarth
enw NSString, y mae rhywun arall ysgrifennodd i mi,
ac roedden nhw'n caredig iawn am y peth, ac felly nawr
Gallaf ddechrau galw dulliau arno.
Os byddaf yn galw hyd ar y dull s gwrthrych
mae'n mynd i ddychwelyd i mi hyd y llinyn.
Mae hyn yn union fel strlen yn C.
Byddai hyn yn dychwelyd 4.
>> Yn yr un modd, dull arall efallai y byddwn yn dymuno gofalu amdano yw hwn characterAtIndex.
Mae hwn yn ddull sy'n dweud ar hyn s llinyn
Rwyf am i chi i gael y cymeriad 0,
ac felly byddai hyn yn dychwelyd i mi y c cymeriad,
ac mae criw cyfan ragor o'r dulliau hyn y gallwch Google 'n sylweddol yn hawdd.
Afalau 'ddogfennaeth yn wych, a byddwn yn edrych ar hynny mewn ychydig.
Mae'r rheini'n llinynnau.
Rydym hefyd wedi araeau faint amrywiol hadeiladu i mewn
Cofiwch yn C pan fyddwn yn datgan amrywiaeth
roedd rhaid i ni ddweud eich bod wedi 5 elfen, diwedd y stori.
Pan fyddwn yn rhaid i JavaScript a PHP gallem ddechrau
gwneud pethau fel ychwanegu elfennau neu symud elfennau.
Gallwn wneud yr un peth yn Amcan-C.
Yn hytrach na chreu amrywiaeth yn y ffordd arferol C
gennym eto dosbarth arall o'r enw NSMutableArray.
Mae hefyd yn NSArray,
ac mae hyn yn mynd i yn y bôn crynhoi rhywfaint o amrywiaeth.
Mae hyn yn dweud y peth cyntaf i mi am ei wneud yw fy mod yn dymuno dyrannu
gofod ar gyfer amrywiaeth newydd, ac ar ôl yr wyf yn dyrannu ei
Yna mae angen i ymgychwyn hynny.
Unwaith eto, dim ond galw y 2 ddull.
Nawr mae hyn yn golygu bod tu mewn y gwrthrych a
Rwyf wedi amrywiaeth gwag yn eistedd yno.
Os ydw i eisiau ychwanegu rhywbeth at y array, gallaf alw y dull addObject.
Hoffwn ychwanegu gwrthrych at y casgliad a, ac rwyf eisiau ychwanegu y llinyn CS50.
Os byddaf yn awyddus i gael gwared ar y llaw arall gallaf ddweud fy mod eisiau
gael gwared ar y gwrthrych yn y lle cyntaf ar y casgliad neu wrthwynebu a.
>> Gwneud synnwyr?
Iawn, rydych fath o ddod i arfer y peth hyn braced sgwâr.
Gyda llaw, y tu mewn o lawer o Afalau 'lyfrgelloedd byddwch yn gweld hyn NS.
Mae'r NS mewn gwirionedd yn sefyll ar gyfer cam nesaf, a oedd yn un o Steve Jobs cwmnïau cyntaf,
a dyna lle ei fod mewn gwirionedd dechreuodd ysgrifennu llawer o'r cod
fel math o sail ar gyfer Mac OS X a'r holl bethau eraill,
ac felly mae'r NS yn fath o etifeddiaeth hon 'n glws gweiddi allan i un o'r cwmnïau cynharach
yn ôl pan oedd Apple cyntaf yn dechrau allan.
Mae'n ym mhob man.
Gadewch i ni edrych ar enghraifft mwy cyfannol Amcan-C.
Dyma fi tu mewn XCode.
I gael yma, tro cyntaf i mi llwytho i lawr XCode o'r Store App,
agor i fyny, ac yna fe es i fyny yma i ffeil,
dros yma i brosiect newydd, ac yna.
Ar ôl i mi wneud hynny gennyf yr holl opsiynau hyn o'r hyn rwyf am i greu,
ac felly byddwn yn edrych ar yr opsiynau hyn yn ddiweddarach,
ond dim ond ar gyfer yr enghraifft hon, oherwydd nid ydym yn wir yn mynd i gael app eto,
Fe ddes i lawr yma, a dywedais Offeryn Archa Bannod,
ac mae hwn yn app y gallwn redeg ar y llinell orchymyn
yn union fel rydym wedi bod yn rhedeg o C.
Dyna sut yr wyf yn creu y prosiect hwn, ac felly nawr dwi yma,
felly gadewch i ni edrych yn gyntaf ar y ffeil hon, a dylai hyn edrych yn bert cyfarwydd.
Mae gen i enw int. Mae fy ffrind fy argc eraill buddy argv.
Ac fel y gallwn weld mai dyma'r man cychwyn ar gyfer fy cyntaf Amcan-C cais.
Yma, gallwn anwybyddu hyn am y tro.
Mae hyn yn y bôn peth cof pethau rheoli y byddwch yn ddim wir
erioed wedi i boeni amdano.
>> Gadewch i ni edrych ar y bloc cyntaf yma.
Mae'r llinell gyntaf, os caf ddweud Myfyrwyr * Alice = [Dyraniad Myfyrwyr [] init] beth sy'n bod yn ei wneud?
Mae'r myfyriwr cyntaf yma, mae'n debyg mai dosbarth.
Nid yw hyn yn ddosbarth bod Apple ysgrifennodd, ond mae'n dosbarth a ysgrifennais.
Y peth cyntaf i mi am ei wneud yw fy mod am i neilltuo lle i fyfyriwr newydd,
ac yna yr wyf am ei ymgychwyn, felly mae hyn yn rhoi i mi yn ôl
gwrthrych hwn i fyfyrwyr newydd, ac rwy'n storio hyn mewn amrywiol o'r enw Alice.
Ble oedd y dosbarth hwnnw yn dod?
Wel, dros yma ar yr ochr chwith mae'r rhain i gyd o'r ffeiliau gwahanol tu mewn fy mhrosiect.
Gallwn weld yma gen i Student.h a Student.m.
Mae'r. Ffeil h, cofiwch, yn lle yr wyf yn datgan yr holl bethau
a fydd yn bodoli o fewn y dosbarth.
>> Gadewch i ni edrych ar hynny.
Mae pob hawl, yma rydym yn cael y rhyngwyneb @, ac mae hyn yn dweud bod yma yn dod
y datganiadau o bopeth fydd yn bodoli o fewn fy nosbarth.
Yna gen i colon. Yna mi gael y peth NSObject.
Mae hyn yn colon yn nodi bod ychydig yn etifeddiaeth yr oeddem yn trafod ychydig yn gynt.
Mae hyn yn dweud popeth y gall ei wneud NSObject
lle mae NSObject yn y dosbarth hwn ei ysgrifennu gan rywun arall,
popeth y gall hyn ei wneud NSObject wyf am fod yn gallu gwneud hynny.
Drwy ddweud: NSObject hynny'n golygu fy mod yn y bôn
Etifeddodd yr holl ymarferoldeb o ddosbarth arall.
Mae hynny'n wir yn cefais criw cyfan o ddulliau gwahanol ac eiddo y gallaf eu defnyddio.
Down yma rwy'n creu 2 eiddo.
Mae hynny'n golygu fy myfyrwyr, pe bai hwn yn strwythur, byddai'r rhain yn y 2 beth
tu mewn fy strwythur, felly mae pob myfyriwr yn cael enw
bod yn llinyn, a myfyriwr hefyd gradd,
sydd yn int.
>> Yn olaf, i lawr yma yr wyf i'n mynd i greu dull ar gyfer fy myfyrwyr.
Gelwais fy dull, initWithName, ac mae'n cymryd un ddadl,
a bod y ddadl yn llinyn, a gelwais ei enwi.
Nawr gadewch i ni edrych ar sut rydym yn gweithredu mewn gwirionedd y dosbarth hwn.
Yma, erbyn hyn rwy'n tu mewn fy. Ffeil m,
m ar gyfer gweithredu, yr wyf yn dyfalu.
Mae gen i fy gweithredu, fy diwedd, a dyma lle dwi'n mewn gwirionedd yn diffinio
pa initWithName yn ei wneud.
Mae gen i initWithName, enw fy paramedr, ac yna mae hyn
lle mewn gwirionedd rwy'n creu myfyriwr,
ac felly mae hwn yn ychydig yn cryptic, ond mae hyn yn fath o boilerplate
eich bod am eu cynnwys yn eich adeiladwyr.
Mae'r swyddogaeth hon yn initialization yma, initWithName, yn fath o Constructor.
Rydych yn y bôn adeiladu gwrthrych myfyrwyr newydd
ac efallai anfon peth data y tu mewn ohono.
Y peth cyntaf i mi am ei wneud yw fy mod am alw init ar y peth super.
>> Cofiwch, pan ddywedais yn ôl yma yn y. Ffeil h
bod popeth yn NSObject Mae gan fyfyriwr hefyd.
Mae hynny'n golygu pan fyddaf yn creu fyfyriwr hyn yr wyf hefyd angen i chi ei wneud yw
gwneud yn siŵr bod y NSObject fy mod i'n etifeddu yr holl o'r data hwnnw o
yn cael ei ymgychwyn yn iawn hefyd.
Beth sydd angen imi ei ddweud yw hyn super mewn gwirionedd yn mynd i gyfeirio at y dosbarth rhiant
fy mod yn etifeddu o, felly yr wyf am wneud yn siwr fy mod ymgychwyn
popeth fy mod yn dibynnu ar cyn i mi ddechrau ceisio ei ddefnyddio.
Yna, os yw'r ymgychwyn yn gywir yn unig yw hwn fel dweud os malloc
ni ddychwelodd null yna gallaf ddechrau gosod rhai eiddo.
>> Yn JavaScript a PHP rydym wedi hyn a elwir yn keyword hyn,
ac mae hyn yn cyfeirio at y lle presennol o ddosbarth.
Yn Amcan-C rydym yn galw hyn hunan.
Pan fyddaf yn dweud self.name, sy'n golygu bod y gwrthrych
Fi jyst ei greu pan ddywedais Dyraniad myfyrwyr init,
mae hynny'n mynd i roi i mi yn ôl gwrthrych.
Mae hynny'n golygu fy mod am i osod enw'r gwrthrych
i beth bynnag Fi jyst pasio i mewn
Yn union fel yn C, rydym yn cael mynediad aelodau gyda'r dot,
felly self.name yn dweud enw'r gwrthrych myfyrwyr
yn awr yn mynd i fod yn beth bynnag yr ydych newydd basio i mewn
Ac felly yn olaf, gallaf ddychwelyd ef felly mi mewn gwirionedd yn cael rhywbeth yn ôl.
>> Cwestiynau?
Iawn, felly mae hyn yn hunan = super init,
Nid yw os nad ydych yn llwyr ddeall y pethau etifeddiaeth peidiwch â phoeni.
Dim ond yn gwybod os ydych erioed wedi eisiau i wneud eich dull eich hun yn unig init
gwneud hynny, a byddwch yn dda i fynd.
Yeah. >> [Myfyrwyr] Beth yw ystyr hunan os?
Mae hyn yn golygu pan fyddwn yn malloc rhywbeth yr ydym bob amser yn gwirio os oedd cyfartal i null,
ac os oedd yn null, yna rydym yn gadael.
Mae hyn yr un peth, oherwydd os yw hyn yn null ffurflenni, yna rydym yn fwy na thebyg yn mynd i fai seg
os ydym yn dechrau ceisio camddefnyddio'r dewis hwnnw.
Dyna ein dosbarth myfyrwyr.
Mae hynny'n golygu y gallwn ymgychwyn ein myfyrwyr mewn un o ddwy ffordd.
Os wyf yn dweud Dyraniad myfyrwyr init Dydw i ddim yn defnyddio'r dull yr wyf newydd ei ysgrifennu,
ac yn lle y gallaf ddweud yn syml alice.name,
ac yn awr yr wyf i'n mynd i osod yr enw eiddo.
>> Yn yr un modd, os ydw i eisiau defnyddio'r dull initWithName
Gallaf ddweud yn syml Dyraniad, ac yna yn hytrach na dweud init
Rydw i'n mynd i alw y dull yr wyf newydd ei greu, ac yr wyf i'n mynd i basio yn Bob.
Ar y pwynt hwn, mae'r Bob gwrthrych enw cyfartal i Bob.
Iawn, i lawr yma Im 'yn arfer bod NSMutableArray ein bod yn edrych ar gynharach.
Rwy'n dyrannu space.Then rwy'n ymgychwyn amrywiaeth newydd.
Rydw i'n mynd i ychwanegu 2 beth ato.
Mae'r amrywiaeth bellach yn cynnal gwrthrychau myfyrwyr.
Hysbysiad bod unman oedd rhaid i mi ddweud hyn llu o fyfyrwyr.
Dywedais ei fod yn array, cyfnod.
Yna gall yr wyf yn rhoi pa bynnag tu mewn y peth fy mod eisiau.
Mae gen i 2 wrthrych.
>> Yn olaf, mae gennyf wrthrych arall yma, mae hyn TF.
Mae dros yma yn TF.h y bôn yr un peth.
Rwy'n etifeddu o NSObject, a gan y ffordd,
pan fyddwch yn creu dosbarthiadau hyn yn cael ei wneud i gyd i chi,
y math hwn o boilerplate rhyngwyneb.
Mae ganddo eiddo o fyfyrwyr.
Mae gen i gwpl dulliau yma nad ydynt yn wir yn gwneud llawer gyfan,
ac felly mae hynny'n golygu ar ôl i mi greu y gwrthrych TF
Gallaf alw radd hon dull arno fel hyn.
Unrhyw gwestiynau am Amcan-C cystrawen cyn i ni ddechrau symud i mewn i rai mwy
stwff diddorol datblygu apps?
>> Iawn, felly gadewch i ni mewn gwirionedd yn gwneud app iPhone.
Mae'r dosbarthiadau craidd y byddwch yn eu defnyddio tu mewn i'ch app iPhone yn cael eu galw'n rheolwyr barn,
a rheolwr barn yn y bôn yn cynrychioli un sgrin
tu mewn i'ch app, felly os dwi ar y app cerddoriaeth, er enghraifft,
gallai un rheolwr barn cynrychioli barn yr wyf yn gweld yr holl ganeuon ar fy iPhone.
Gallai arall rheolwr farn fod pan fyddaf yn clicio cân a dechrau chwarae ei
neu gan fy mod yn drilio i lawr i artistiaid.
Gallai pob un o'r sgriniau gwahanol yn cael ei gynrychioli fel rheolwr safbwynt gwahanol,
a rheolwr barn mewn gwirionedd yn unig ddosbarth sy'n dweud sut y sgrin yn gweithio.
Pethau tu mewn i reolwr barn, rydym yn mynd i gael eiddo,
felly pethau fel botwm yn mynd i fod yn eiddo ein rheolwr barn.
>> Rydym ni hefyd yn mynd i gael dulliau, ac mae'r rhain yn y bôn sy'n trin digwyddiad.
Mae'r dull hwn yn dweud pan fyddwch yn gwasgu'r botwm hwn
Rwyf am wneud rhywbeth, ac yn olaf, unwaith eto,
rydym yn mynd i fod yn defnyddio'r gair allweddol hunan i gael mynediad at y lle ar hyn o bryd.
Er mwyn adeiladu rhyngwynebau yn iOS mewn gwirionedd yn iawn, iawn hawdd.
Maent yn cael y drag 'n glws a rhyngwyneb gollwng o'r enw Rhyngwyneb Adeiladwr,
a'r 2 cysyniadau craidd y wifren i fyny 'ch Amcan-C i Rhyngwyneb Builder
yn IBOutlet a IBAction.
Mae IBOutlet yn syml yn dweud, os ydych yn datgan eiddo sy'n botwm,
ac rydych am i bachyn i fyny i rywbeth yn eich UI gwirioneddol,
ydych chi'n mynd i ddweud ei fod yn allfa.
Yn yr un modd, os ydych am i gynrychioli driniwr digwyddiad
yna rydych chi'n mynd i ddweud ei fod yn gweithredu.
>> I mewn gwirionedd gwifren i fyny y gynrychiolaeth graffigol
a bod eich cod mae'n wirioneddol, syml iawn.
Os ydych am i atodi IBOutlet, y cyfan mae'n rhaid i chi ei wneud yw i chi reoli clic,
a byddwn yn gweld enghraifft o hyn yn wir yn gyflym.
Chi sy'n rheoli cliciwch lle mae'n dweud Rheolwr View.
Rydych chi'n mynd i lusgo i mewn i'r rhyngwyneb, neu i'r gwrthwyneb,
os ydych am i bachyn i fyny yn trin y digwyddiad yr ydych yn mynd i lusgo oddi wrth y rhyngwyneb
yn y cyfeiriad arall.
Gadewch i ni edrych ar enghraifft iOS syml iawn.
>> Gadewch i ni greu prosiect newydd.
Rydw i'n mynd i ddod i fyny yma i Cais,
ac rydw i'n mynd i glicio Cais View Sengl.
Rydw i'n mynd i glicio nesaf. Byddaf yn rhoi fy mhrosiect enw.
'N annhymerus' galw Helo.
Yn ddiddorol, Apple yn cymryd yn ganiataol eich bod yn creu cynnyrch
fel y gallwch ei werthu a gallant wneud arian.
Down dyma dw i'n mynd i ddweud bod hwn yn app iPhone.
Gallwch greu app iPad, neu os ydych am i greu un o'r rhai apps
sy'n cefnogi dyfeisiau gallwch wneud hynny hefyd.
Mae'r rhain yn yr hyn yr ydych am i'ch checkmarks i edrych fel.
>> Byddwch am ddefnyddio byrddau stori, y byddwn yn gweld yn nes ymlaen,
ac yn bendant am ddefnyddio cyfrif cyfeirnod awtomatig,
sy'n nodwedd braf sy'n eich atal rhag gorfod dweud malloc ac am ddim.
Oni bai eich bod am alw malloc ac am ddim, byddwn gadewch hwn wedi'i fritho.
'N annhymerus' cliciwch nesaf, ac yn olaf, mae hyn yn mynd i ofyn i mi lle'r wyf am achub.
'N annhymerus' daro greu, ac yma yr ydym yn mynd.
Yr wyf yn creu prosiect newydd.
Dros yma ar y chwith yw'r holl ffeiliau sydd tu mewn fy mhrosiect,
ac yn sylwi fy mod wedi cael criw cyfan, a doeddwn i ddim hyd yn oed yn gwneud unrhyw beth.
IOS yn wych.
>> Er enghraifft, yma y ViewController.h,
hyn yn mynd i gynrychioli fy rheolwr olwg gyntaf,
felly y sgrin gyntaf y tu mewn fy app.
Nawr rydym yn gwybod beth mae hyn yn ei ddweud.
Rydym yn dweud mod i'n galw hyn ViewController dosbarth,
a ViewController yn gwneud popeth y mae UIViewController yn ei wneud,
ac mae hyn, unwaith eto, tua dosbarth sy'n Apple ysgrifennodd y mae llawer o bethau defnyddiol i ni
yn hoffi arddangos y sgrin.
Dyma lle gall Fi 'n weithredol ddechrau diffinio beth yw fy marn rheolwr ei wneud,
ac mae'n troi allan yr wyf yn wir nid oes angen unrhyw un o'r hyn.
Mae hyn yn cod boilerplate bod Apple yn rhoi i mi ar gyfer rhad ac am ddim.
Fe wnes angen y llinell gyntaf, neu os nad oes gennyf ddosbarth,
er mwyn i ni gael gwared o hynny a chael gwared o hyn.
Iawn, felly dyma fy sgrin wag.
>> Nawr gadewch i ni cliciwch ar y MainStoryboard.storyboard,
a dyma lle y bydd yn dechrau i gael diddorol.
Mae hyn yn cynrychioli y sgrin gyntaf ar fy app.
Os ydw i eisiau ychwanegu botwm, yn HTML bu'n rhaid i mi greu tag botwm.
Yn Android rhaid i chi greu tag botwm,
ond yn iOS os Fi jyst dod i lawr yma i'r dde ar y gwaelod
ac os fyddaf yn clicio ar yr un 3 yma lle mae'n dweud Gwrthrychau,
a gallaf sgrolio i lawr, neu gallaf ddechrau chwilio am botwm.
Ac edrychwch, botwm, felly os wyf mewn gwirionedd yn llusgo a gollwng yr hawl hwn yno,
Rwyf wedi ychwanegu dim ond botwm i'r sgrin hon ar fy app.
Os wyf am newid y testun, gallaf dwbl cliciwch arno,
dweud rhywbeth ddenu fel "Gwasgwch Me."
Iawn, yn awr os byddaf yn rhedeg y app, felly rydym yn llunio ei,
felly er mwyn rhedeg fyddaf yn clicio ar y botwm chwarae yn yr ochr chwith uchaf, ac mae fy app.
Doeddwn i ddim yn gwneud unrhyw beth, ac fe ges i app iPhone melys yn edrych.
Os wyf i am ei atal, gallwch glicio ar y botwm stop
oherwydd ei fod yn fwy o hwyl.
>> Gadewch i ni ddweud fy mod mewn gwirionedd, am i rywbeth ddigwydd pan fyddaf yn gwasgu'r botwm hwn.
I wneud hynny beth mae angen imi ei wneud yw fy mod angen i greu
yn trin digwyddiad newydd neu weithredu.
Mae hynny'n golygu bod angen i mi greu rhai ddull yr wyf am ei gael ei alw
pan fyddaf yn pwyswch y botwm, felly gadewch i ni greu dull newydd.
Rwy'n tu mewn ViewController.h.
Angen i mi ddweud bod dull yn bodoli.
Mae arnaf angen cysylltnod cyntaf oherwydd yr wyf i'n mynd i gael eu galw hyn ar y rheolwr barn.
Angen i mi roi hyn math.
Mae'r math o hyn yn mynd i fod peth IBAction a welsom yn gynharach.
Mae hwn yn trin digwyddiad, felly mae'n mynd i ddychwelyd IBAction,
ac mae hyn yn awgrym i XCode i ddweud bod
mae hyn yn rhywbeth rwyf am ei gwifren rhywbeth i.
Gallaf roi enw iddo, fel buttonPressed, hanner colon.
>> Nawr rwyf wedi datgan yn ddull newydd y tu mewn o fy nosbarth.
Rwyf wedi dweud y dull hwn i fodoli.
Nawr gadewch i ni ddod i ViewController.m,
a gadewch i ni ddweud yr hyn y gall y dull hwn ei wneud.
Os byddaf yn dechrau teipio, er enghraifft, (gwag) buttonPressed
rhybudd XCode yn neis iawn ac awtolenwi i mi.
Mae hynny'n wirioneddol wych.
Hysbysiad yma bod tu mewn i'r ffeil. M Gallaf hefyd ddweud ddi-rym,
ac mae hyn oherwydd nad yw IBAction mewn gwirionedd yn fath.
Mae'n mewn gwirionedd yn hashtag diffinio rhywle i fod yn ddi-rym,
ac unwaith eto, mae hyn yn awgrym i XCode sy'n dweud
Wyf am i hyn fod yn driniwr digwyddiad, a byddwn yn gweld pam mewn dim ond eiliad.
Pan fydd y botwm ei wasgu Dw i'n mynd i wneud rhywbeth yn blino
yn hoffi arddangos pop-up.
>> Er mwyn gwneud y gallaf greu achos newydd o'r dosbarth a elwir yn UIAlertView,
ac mae hwn yn ddosbarth bod Apple ysgrifennodd mae hynny'n mynd i ddangos ffenestri popup blino.
Byddwn yn galw hyn yn effro popup, ac yr wyf wedi 2 gam, cofiwch, i greu y gwrthrych.
Y peth cyntaf i mi angen i chi ei wneud yw neilltuo lle.
Dw i eisiau UIAlertView.
Rwyf am i neilltuo lle. Dyna fy dull cyntaf.
Fy dull nesaf yw fy mod am ei ymgychwyn hynny,
ac felly mae gen i hyn fawr, dull hir a elwir yn initWithTitle.
Mae hynny'n bôn yn mynd i reoli yr hyn y mae'r naid yn ei ddweud.
Gall y teitl fy popup fod helo.
Gall y neges hon popup fod yn "Mae hyn yn iOS."
Beth Cynrychiolydd, nid wyf yn gwybod beth yw hynny.
Lets 'ddeud ei fod yn ddim byd.
Nawr gall y botwm sy'n mynd i ymddangos yn dweud rhywbeth fel "Mae'n siŵr yw,"
ac nid wyf ddim wir eisiau unrhyw botymau eraill, felly gadewch i ni dileu hynny a chau'r braced.
>> Iawn, yr wyf yn creu un ychwanegol. Dyna ni.
Dyma sut y gallaf greu popup newydd.
Os ydw i eisiau mewn gwirionedd yn dangos y popup rwyf am i alw y dull sioe.
Er mwyn gwneud y gallaf ddweud yn effro ac yn dangos,
ac unwaith eto, roedd gwblhau yn awtomatig super 'n glws.
Os wyf yn anghofio beth oedd hynny, os byddaf yn teipio yn unig yn s,
Gallaf sgrolio drwy yma at chyfrif i maes beth oedd yno,
ac mae'n hidlo 'n glws.
Nawr yr wyf yn creu y naid newydd.
Byddwn yn dod yn ôl at yr hyn cynrychiolydd olygu yn ddiweddarach,
ac yn awr yr wyf am ddweud fy mod am i'r dull hwn gael tanio
pan fyddaf yn pwyswch y botwm, felly dwi'n mynd i ddod yn ôl at fy bwrdd stori,
ac rwyf am nawr atodi hon IBAction.
Y peth cyntaf rydych am ei wneud yw clicio ar y botwm.
Pan fyddaf yn pwyso y botwm hwn rwyf am i rywbeth ddigwydd.
Nid wyf yn mynd i ddal i lawr rheolaeth.
Rydw i'n mynd i glicio a llusgo oddi wrth y botwm
i dros dyma lle mae'n dweud Rheolwr View.
Gallwn weld bod yn gwrtais goleuo i fyny.
>> Os byddaf yn gadael i fynd gyda fy llygoden wyf yn awr yn cael y popup dros yma lle mae gennyf rhai opsiynau.
Un o'r rhain yw'r digwyddiadau y gallaf gofrestru.
Mae'r rhain i gyd o'r dulliau hynny mod i wedi datgan yn fy h ffeil fel IBActions.
Dyma sut y XCode yn gwybod beth ddylai ymddangos yn y rhestr bach,
fel bod dim ond awgrym.
Os byddaf yn cliciwch ar y botwm pwyso, rwyf wedi cofrestru bellach y person sy'n trin digwyddiad.
Yn JavaScript roedd rhaid i ni ddweud fy mod yn cael rhywfaint o cod a gofrestrodd y person sy'n trin digwyddiad.
Yn Amcan-C oedd yn iawn bod yn hawdd.
Os byddaf yn rhedeg hyn eto
nawr pan fyddaf yn pwyswch y botwm fy trafodwr digwyddiad yn mynd i danio,
ac yr wyf i'n mynd i gael y pop-up.
Super, super syml yno.
>> Os ydych chi erioed wedi eisiau gweld yr holl ddigwyddiadau sy'n digwydd i gael ei gofrestru
ar elfen os byddaf yn cliciwch ar y botwm hwn
ac yn dod draw yma ar yr ochr dde
cyntaf gallwch weld dros yma gallaf wneud pethau fel y math o y botwm,
felly os ydych eisiau un o'r rhai yr wyf neu'r botwm cyswllt ychwanegu
neu beth bynnag.
Os ydw i eisiau gweld yr holl ddigwyddiadau sydd ar y botwm
os byddaf yn dod yr holl ffordd dros yma ar yr ochr dde
gallwn weld yma yn y digwyddiadau gen i bob un o'r digwyddiadau gwahanol.
Gallaf pwyswch y botwm, pan fyddaf yn gadael i fynd o'r botwm, pan fyddaf yn dyblu tap neu beth bynnag,
a'r un yr wyf newydd gofrestru yn y digwyddiad hwn a elwir Touch Up Y tu mewn,
ac mae hyn yn dweud bod cyn gynted ag y fy mys yn dod oddi ar y botwm
digwyddiad hwnnw yn mynd i dân, a dyna'n union beth ddigwyddodd.
Mae hyn yn fath o botwm diofyn digwyddiad wasgu.
>> Unrhyw gwestiynau hyd yn hyn?
Iawn, dyna sut y gallwn ddechrau i gwifren i fyny pethau yn ein cod
i mewn i bethau y tu mewn ein rhyngwyneb.
Cofiwch y peth cyntaf yn rhaid inni wneud oedd dod o hyd i'r cod,
ac yna rydym yn gwifrau i fyny 'r rhyngwyneb i'r cod,
ac mae ein app cyntaf.
Iawn, a oedd yn 'n sylweddol oera, ac rydym yn creu botwm yma.
Beth os ydym yn dymuno rhaid i chi greu criw o eiddo
cynrychioli'r botymau hyn?
Er enghraifft, mewn Toe Tic Tac I gennym 9 botymau,
a byddai'n ei fod yn super, super blino gorfod llusgo a gollwng 9 gwaith
neu os bu'n rhaid i mi wneud Tic Tac Toe gydag 81 lle 9
ac roedd rhaid i mi lusgo a gollwng 81 gwaith, ac mae hynny'n cloff.
Yr hyn y gallwn ei wneud yn lle hynny yn llawer fel HTML
pan oedd gennym bethau fel IDs ac enwau a gallwn chwilio am bethau
gan eu ID, mae 'na syniad tebyg yn iOS a elwir yn tagiau.
>> Mae tag yn unig yw dynodwr rhifiadol unigryw ar gyfer elfen.
Os wyf yn dweud hyn yn cael tag o 0, er enghraifft,
os wyf yn creu botwm a rhoi cynnig tag o 0, a byddwn yn gweld sut i wneud hynny mewn dim ond ail,
os wyf am gael y botwm gallaf ddweud fy mod yn syml am alw
y, viewWithTag dull ar y gwrthrych dros yma
y self.view, sy'n cynrychioli y sgrin ar hyn o bryd, er enghraifft.
Os byddaf yn galw y dull viewWithTag, dw i'n mynd i dynnu yn ôl y botwm gyda tag 0.
Gadewch i ni edrych ar hyn drwy adeiladu Toe Tac Tic.
Yn gyntaf, mae hyn yn fy bwrdd stori.
Rydw i wedi creu y 10 botymau UI.
Hysbysiad maen nhw i gyd yr un maint.
Os byddaf yn cliciwch ar un o'r rhain ac yn dod yn ôl dros yma ar y ochr dde
byddwch yn gweld I addasu y ffont i'r dde yma, felly yr wyf yn gwneud y ffont ychydig yn fwy,
ond yr hyn yr oedd hefyd yn gwneud I osod y tag.
Dywedais fod hyn yn cael tag o 1, a dyna yr ochr chwith uchaf.
>> Yn awr, os wyf cliciwch botwm arall, fel hyn ail un yma,
nawr byddwch yn gweld bod fy tag yw 2.
Mae pob un o'r botymau hyn yn unig yn cael tag unigryw,
ac felly mae hyn yn ddiweddarach sut yr wyf i'n mynd i ddechrau rhyngweithio
gyda fy app.
Mae hyn i gyd y tu mewn o un rheolwr farn,
ond dyma beth sydd gennym.
Mae gennym 3 eiddo yma.
Mae'r un cyntaf ac un olaf yn mynd i gynrychioli cyflwr fy mwrdd.
Yn y bôn mae hyn yn un cyntaf yn cynrychioli amrywiaeth lle mae XS a NO cael eu.
Mae hyn yn un arall yma yn dweud wrthym tro pwy ydyw.
Byddwch yn sylwi fy mod hefyd yn cael y pethau hyn yma.
Cyn pan fyddwn yn datgan eiddo rydym yn rhoi iddynt enw a math.
Gallwn hefyd rhoi rhywfaint o wybodaeth ychwanegol yma.
Mae hyn yn gyntaf yn dweud nonatomic, a beth mae hyn yn dweud
yn y bôn dim ond un peth byth yn ceisio gael gafael ar y newidyn ar y tro.
Gallech wneud ceisiadau mwy cymhleth sydd yn aml-threaded,
ac felly yn ôl yn Scratch roedd gennym edafedd gwahanol,
a gallai sprites gwahanol fod yn gwneud pethau gwahanol ar yr un pryd.
>> Os nad yw hynny'n wir, ac nid yw mewn unrhyw beth y byddwn yn edrych ar,
os ydym yn dweud nonatomic ei fod yn wir yn mynd i wneud pethau ychydig yn gyflymach.
Mae gennym hefyd y peth hyn a elwir yn aseinio, cryf, neu wan.
Mae hyn yn neilltuo dim ond yn dweud bod hyn yn fath safonol.
Nid yw hyn yn wrthrych neu pwyntydd oherwydd mae hyn yn unig yw bool,
felly bool ei adeiladu i mewn i Amcan-C.
Mae hyn yn dweud peidiwch â cheisio gwneud unrhyw beth ffansi gyda awgrymiadau yma.
Mae'n scaler rheolaidd oed.
Cryf a gwan, mae hyn yn dweud gwan sydd mewn gwirionedd yn
Wyf am i hyn fod yn pwyntio at rywbeth yn y rheolwr barn.
Dydw i ddim yn mynd i mewn gwirionedd yn dyrannu neu init hyn fy hun.
Mae'r adeiladwr rhyngwyneb, pan fyddaf yn rhedeg y app, yn mynd i ymdrin â phob y initialization.
Os wyf yn dweud gwan, sy'n dweud bod rhywun arall yn mynd i gael ei greu hyn.
Os wyf yn dweud cryf, mae hyn yn dweud fy mod i'n mynd i fod yr un
sydd wedi creu'r gwrthrych bwrdd,
ac felly dyma gen i ddulliau rhai mwy yma,
er enghraifft, gweithredu ar gyfer pan fydd y botwm gêm newydd yn cael ei wasgu,
yn gweithredu ar gyfer pan fydd unrhyw un o'r botymau eraill yn cael eu pwyso,
ac et cetera.
>> Ni fyddwn yn mynd i ormod o rhesymeg Toe Tic Tac,
er ei fod yn gyffrous iawn, ond gadewch i ni edrych ar
rhai o'r pethau y gallwn eu gwneud tu mewn iOS.
Mae'r dull hwn yn gêm newydd yn mynd i fod yn tanio
pryd bynnag y byddaf pwyswch y botwm gêm newydd.
Er mwyn bachyn i fod hyd yn syml ddod draw i fy bwrdd stori.
Wyf yn clicio ar y gêm newydd.
Os byddaf yn dod draw yma ar y dde Gallaf weld bod
Cyffwrdd Up Y tu mewn wedi'i weirio i ddull newGame.
Dyna pam fod hyn yn mynd i gael eu tanio.
Mae'r dull newGame yn mynd i wneud ychydig o set i fyny.
Mae'n mynd i ddweud fy mod am i chi glirio'r cyflwr y bwrdd.
Mae hwn yn ddull braf ar mutable araeau.
Mae hyn yn mynd i ddweud ei fod yn awr X yn ei dro,
ac yn awr yr wyf i'n mynd i fanteisio ar y peth viewWithTag.
>> Gwn fod fy botymau yn cael y tagiau 1-9,
ac mae hynny'n rhywbeth yr wyf yn fympwyol dewis.
Os ydw i eisiau gosod y testun pob botwm i fod yn wag
oherwydd fy mod newydd ddechrau gêm newydd a dydw i ddim eisiau unrhyw
XS neu NO i gael ei adael dros y gallaf wneud hyn.
Allaf ddweud fy mod am i'r farn gyda'r tag, 1, 2, 3, 4 et cetera.
Bydd hyn yn tynnu botwm gwahanol bob tro.
Yma, yr wyf i'n mynd i fwrw i'r UIButton.
Yn union fel y gallem fwrw ints i fflotiau ac i'r gwrthwyneb
hyn yn dweud fy mod yn awyddus i fwrw hyn i UIButton.
Mae hynny'n golygu y bydd y math o hyn fyddai * UIButton
oherwydd awgrymiadau, ond peidiwch â phoeni, nid ydynt yn frawychus anymore.
>> Ar ôl i mi gael y botwm Rydw i'n mynd i alw dull arno.
Mae'r dull hwn yn cael ei alw'n setTitle forState, ac felly mae hyn yn dweud
Rwyf am osod testun y botwm i fod yn llinyn gwag,
ac yr wyf am iddo fod y llinyn wag pan mae'n cael ei bwyso.
Os ydw i'n defnyddio'r dull hwn, gallaf newid testun y botwm
cyn gynted ag y bydd rhywun yn taro, ond rydym eisiau ei ddweud pan fydd y botwm yn unig yw eistedd yno
Rwyf am i'r testun fod yn wag.
Yn olaf, rydym yn mynd i ymgychwyn fy mwrdd,
ac yr wyf i'n mynd i ddweud bod popeth ar hyn o bryd ar 0,
felly mae'r bwrdd aelodau'r ddigyfnewid yn amrywiaeth mutable,
sy'n golygu y gallaf alw y dull addObject a dim ond y tu mewn 0 o hynny.
Dyna beth sy'n digwydd pan fyddaf yn creu gêm newydd.
>> Gadewch i ni edrych ar un arall.
Mae'r dull hwn yma yw'r IBAction sy'n mynd i gael eu pwyso
bob tro yn un o'r sgwariau hynny yn cael ei wasgu.
Nawr mae gennym rywfaint o resymeg Tic Tac Toe yma.
Rydym yn chyfrif i maes tro pwy yw hi,
ac yn seiliedig ar yr ydym yn naill ai gosod X neu O,
ond rydym yn sylwi ein bod yn ailddefnyddio hyn yn trin un digwyddiad
ar gyfer pob un o'r rhai botymau.
Mae hynny'n golygu nad oes gennyf ddull ar gyfer y botwm chwith uchaf,
dull gwahanol ar gyfer y botwm dde ar y gwaelod, er y gallwn fod wedi gwneud hynny.
Ni fyddai hynny'n wir yn dylunio da.
Beth wyf yn ei wneud yma yw fy mod i'n wir yn mynd i bennu
beth yw tag y botwm a wasgu yn.
Byddwch yn sylwi bod y dull hwn chwarae yn cymryd un ddadl.
Mae'n cael ei alw anfonwr, a pha anfonwr yn cael ei anfonwr yn mynd i
cynrychioli yn union beth oedd yn cymryd camau arnynt.
Os byddaf yn pwyso botwm, mae'r anfonwr yn mynd i fod UIButton
fy mod yn pwyso mewn gwirionedd, felly mae hynny'n golygu bod y UIButton
Mae gan tag oherwydd fy mod yn creu tag.
>> Os ydw i eisiau i gyrraedd y tag gallaf ddweud yn syml
Yr wyf am i tag yr anfonwr,
ac unwaith eto, rydw i wedi newydd ei casted i UIButton.
Yr wyf yn digwydd gwybod y bydd yr anfonwr yn UIButton.
Nid yw bob amser yn rhaid iddo fod yn UIButton.
Gallwn, er enghraifft, cofrestru y person sy'n trin un digwyddiad
am un ar gyfer botwm, un ar gyfer llithrydd.
Yn yr achos hwn, rwy'n gwybod eu bod nhw i gyd botymau, felly dwi'n mynd i ddweud
Wyf am i hyn fod yn botwm, ac yna gallaf gael y tag,
ac o'r tag wyf yn awr yn gwybod lle yr wyf tu mewn i'r bwrdd.
Yna gall yr wyf yn syml yn gosod naill ai X neu O, gall chnithia y tro,
gwirio pwy sydd wedi ennill, et cetera.
>> Unrhyw gwestiynau am hyn hyd yma?
Iawn, yr holl cod rydym yn postio ar-lein-nid ydym am fynd i ormod o
y Toe Tic Tac rhesymeg, ond erbyn hyn gallwch weld bod 'n sylweddol
cyfan yr ydym yn ei wneud yw ein bod yn dolennu dros y array,
felly mae gennym ychydig o ar gyfer dolenni yma, ac ni jyst yn cymharu i weld
mae gennym gêm yn yr holl rhesi, gêm mewn colofn neu unrhyw beth fel 'na.
I mewn gwirionedd yn rhedeg y app, os byddaf yn manteisio ar un o'r botymau
y dull chwarae ei danio, felly mae hynny'n golygu Fi jyst yn gosod
y botwm i fod yn X, felly, yn awr y bydd y botwm hwn yn O, ac yn y blaen,
ac felly dyna sut rydym yn dechrau i ryngweithio â hyn app un dudalen.
>> Byddwn yn ôl y cod, felly mae croeso i gael golwg hynny,
ond gadewch i ni yn awr yn siarad am rai apps sy'n fwy na dim ond un dudalen.
Yr un mor gyffrous Toe Tic Tac, mae llawer o apps tu mewn iOS
yn fath o ymarfer y rhain i lawr pethau gyda sgriniau lluosog.
Mae'r cysyniad cyntaf y bydd angen i ni siarad am protocolau,
ac mae protocol yn unig yw set o ddulliau
eich bod yn gallu addo i ddiffinio.
Os byddaf yn creu protocol newydd hwn gyda 2 dulliau, yr un cyntaf,
os yw'r math dychwelyd yn ddi-rym, yr wyf yn ei alw'n foo.
Mae'n cymryd unrhyw ddadleuon. Mae gen i ddull arall.
Mae'n dychwelyd yn int. Gelwais ei wahardd, ac mae'n cymryd un ddadl.
Mae hyn i gyd yw bod protocol a elwir SomeProtocol i fyny yma,
mae hwn yn set o bethau y gall rhywun weithredu.
Nid wyf wedi tu mewn protocol hwn ddweud beth foo yn ei wneud.
Yn hytrach, Im 'jyst yn dweud gallech ddiffinio foo os ydych yn dymuno.
Os ydw i'n creu rheolwr barn neu greu dosbarth
Gallaf y tu mewn addewid hwnnw dosbarth i weithredu
rhai o'r dulliau hyn, felly er enghraifft, os dywedwch
hyn yn awr yn dweud fy mod yn gwneud addewid i chi fod y tu mewn
y rheolwr farn dosbarth byddaf yn cael diffiniadau ar gyfer y ddau foo a bar.
>> Pam yw bod yn ddefnyddiol?
Mae llawer o gydrannau tu mewn iOS yn manteisio ar y
patrwm dylunio a elwir yn dirprwyo, a pha dirprwyo yn dweud
yw bod, er enghraifft, os oes gen i flwch testun
ac mae rhai digwyddiadau y gellid eu cofrestru tu mewn fy blwch testun,
yn hytrach na chreu digwyddiadau ar wahân yr hyn y gallaf ei wneud yw y gallaf ei ddweud
Bydd y cynrychiolydd hwn yn blwch testun fod yn ryw wrthrych.
Pan fyddaf yn dweud bod hyn yn gynrychiolydd nawr yn golygu bod
pryd bynnag y byddai rhai digwyddiad yn cael eu tanio yn y blwch testun
yn hytrach na gorfod ei chofrestru neu unrhyw beth fel 'na
'i' jyst yn mynd i alw dull ar y cynrychiolydd.
Er enghraifft, y tu mewn fy blwch testun gen i ddull ar gyfer pan fyddaf yn pwyso
hyn a wneir botwm ar ochr dde gwaelod,
ac felly yn hytrach na chofrestru trin achos beth y gallaf ei ddweud yn cael ei
blwch testun, dyma wrthrych yr wyf am i chi alw dull ar
gweisg rhywun bob tro y botwm wneud,
ac mae hynny'n golygu bod y gwrthrych yn gweithredu rhai protocol
sy'n dweud yr wyf yn addo i ddiffinio'r camau botwm wneud,
oherwydd os nad yw'n diffinio yn y dull hwnnw ac rydych pwyswch wneud,
yna mae'n mynd i fod yn ddryslyd.
>> Gadewch i ni edrych ar enghraifft.
Yma, yr wyf yn syml yn cael un blwch testun,
ac yn un o nodweddion y blwch testun dros yma ar y ochr dde yw'r cynrychiolydd.
Mae hwn yn eiddo i'r dosbarth.
Beth wnes i yma yw fy mod rheoli glicio, llusgo a wyf o'r fan hon dros yma
at y rheolwr barn ni a barn yn dweud yn awr y cynrychiolydd y blwch testun
yn mynd i fod y rheolydd barn.
Mae hynny'n golygu bod pan fydd rhai camau gweithredu yn digwydd, yn hytrach na chofrestru
sy'n trin digwyddiad ar wahân rwyf am i chi eu hanfon at y cynrychiolydd.
Nawr gadewch i ni gymryd golwg ar fy rheolwr marn.
Y tu mewn i'r. Ffeil h Rydw i wedi gwneud addewid.
Rwyf wedi addo i weithredu rhai dulliau mewnol y protocol
a elwir yn UITextFieldDelegate, ac unwaith eto,
mae hyn yn dim ond rhai restr o rai pethau y gallaf ddewis gweithredu.
>> Os byddaf yn dod yma yn fy. M ffeil, rwyf wedi gweithredu un dull o'r fath.
Rwyf wedi galw ei textFieldShouldReturn
oherwydd dyna beth mae'n ei alw tu mewn i'r protocol.
Ac yn awr pryd bynnag y byddaf pwyswch y botwm y tu mewn ei wneud yn y maes hwnnw destun
mae hyn yn beth sy'n mynd i cael eu galw, felly doeddwn i ddim yn cofrestru trin digwyddiad.
I gysylltu y cynrychiolydd, a phryd bynnag y digwyddiad hwn yn cael ei danio
dyma'r dull a fydd yn cael eu galw, felly os wyf yn dod dros yma i fy bwrdd stori a'i redeg-
tra mae hynny'n llwytho gallwn weld beth mae hyn yn ei wneud.
Ar fy sgrîn Mae gen i 2 pethau.
Yr wyf wedi hyn maes testun, ac yr wyf wedi y label.
Rwy'n dim ond dweud yr wyf am i'r testun y label
i fod yn hafal i beth bynnag y defnyddiwr deipio tu mewn i'r maes testun.
Mae'r llinell nesaf yma yn unig yw dull yr wyf i'n galw
ar y maes testun sy'n dweud yr wyf am i chi i guddio y bysellfwrdd.
Mae hyn yn unig y dull mympwyol a fyddai'n Apple dewis.
>> Unwaith eto, cyn i mi wneud unrhyw beth yr wyf wedi i gwifren popeth i fyny, felly tro cyntaf i mi ddod dros yma.
O safbwynt rheolwr rwyf llusgo draw i'r blwch testun.
Wyf yn gadael i fynd, a gallaf weld yma y gallaf wneud hyn yn eiddo testun y maes
ers dros yma yn y rheolwr marn rwyf i wedi diffinio eiddo
bod yn IBOutlet o faes testun.
Mae hwn yn dweud fy mod yn gallu gwifren eiddo hwn i fyny
i faes testun yn fy UI.
Nawr pan fyddaf yn cliciwch y gallaf ddechrau teipio.
Nawr, os wyf cliciwch y botwm gwneud hyn yn mynd i danio
yn ddigwyddiad y gall yn awr ymateb iddynt.
Dim trinwyr digwyddiad.
Dyna sut yr wyf yn jyst ymateb i'r botwm wneud.
Gwneud synnwyr?
>> Nid yw hyn yn patrwm dylunio sy'n-chi efallai na fydd byth yn cael eich hun
creu eich protocol hun, ond dim ond yn gwybod bod rhai
cydrannau gwahanol iOS cofrestru digwyddiadau mewn gwahanol ffyrdd.
Botymau, er enghraifft, defnyddio'r IBActions.
Mae meysydd testun, ar y llaw arall, yn mynd i ddefnyddio cynrychiolwyr.
Gallwn weld a allwch chi edrych i gyd y tu mewn i fyny o'r ddogfennaeth.
Gyda llaw, mae mewn gwirionedd tunnell o UI stwff a adeiladwyd i mewn i iOS i chi,
felly, er enghraifft, y ffordd rwy'n gwneud y dweud 'da ar y dde ar y gwaelod
yn Dewisais y maes testun.
I ddod dros yma.
Sgroliais i lawr ychydig i ddychwelyd allweddol,
a gallaf mewn gwirionedd yn gwneud hyn yn criw cyfan o bethau, fel os wyf am i hynny ei ddweud
galwad frys yn hytrach na allaf wneud hynny, sy'n gwbl ar hap,
ac nid wyf yn gwybod pam mae 'na fotwm argyfwng adeiledig-yn galw,
ond, mae'n dweud galwad frys mewn llythrennau bach iawn.
Dyna chi.
>> Yn bendant yn ymchwilio i'r holl opsiynau hyn yn wahanol iOS.
Unrhyw gwestiynau am gynrychiolwyr?
Unwaith eto, dim ond patrwm dylunio diddorol y dylech fod yn ymwybodol ohonynt.
Iawn, gadewch i ni nesaf yn edrych ar farn bwrdd.
Mae barn y tabl yn y bôn y rhestr o eitemau sydd yn yr holl dros y lle yn iOS.
Pan fyddwch chi'n flipping drwy eich holl gysylltiadau, eich bod yn edrych ar
y dudalen gosod, a'r math yna o restr o bethau cael ei alw'n barn tabl.
Gweithredu barn tabl yn iOS yn eithaf syml.
Yn hytrach na gwneud i ddosbarth sy'n disgyn o'r UIViewController
fel yr ydym wedi ei wneud cyn i ni syml, mae angen i ddweud yn hytrach na
popeth y mae UIViewController yw wyf am ei wneud,
Wyf yn dweud popeth y mae UITableViewController yw wyf am ei wneud,
fel bod yn syml yn ychwanegu rhai pethau ychwanegol sy'n cael eu gwneud yn gyfan gwbl i ni.
Mae angen i ni wneud ychydig iawn i yn y bôn llenwch y bylchau tu mewn i'r tabl.
>> Er mwyn dangos tabl angen i mi ateb rhai cwestiynau.
Y cwestiwn cyntaf i mi angen ei ateb yw faint o adrannau yn y tabl?
Pan fyddwch chi'n flipping drwy eich cysylltiadau app byddwch yn sylwi ei fod yn fath o
a drefnwyd gan y Fel, yna mae gennych yr brecwast, ac mae gennych y pennawd is-bach.
Mae pob un o'r rheini'n cael ei alw'n adran.
Efallai y byddwch neu efallai na fydd angen y rhain.
Y peth cyntaf sydd angen i chi ei wneud yw gweithredu dull
a elwir yn tableView: numberOfSectionsInTableView.
Dyna dim ond yn dychwelyd sawl rhan sydd gennych,
felly gallai hyn yn ei ddweud ddychwelyd un os oes gennych un farn tabl mawr.
Y cwestiwn nesaf y iOS angen ei wybod yw faint o resi sydd gennych chi?
Er enghraifft, rydych yn flipping drwy barn tabl.
Mae gennych nifer penodol o ganeuon ydych chi'n edrych ar neu nifer penodedig o gysylltiadau.
Os ydych chi'n mi, wrth gwrs, nid yw llawer,
ac felly dyna sut y iOS yn gwybod faint o gelloedd i'w dangos.
>> Unwaith eto, gallai hyn yn dweud rhywbeth fel dychwelyd 3.
Fy marn tabl 3 rhes.
Yn olaf, iOS angen gwybod beth mae pob cell yn edrych fel,
felly beth mae'n wir yn mynd i'w wneud yw ffonio dull hwn i lawr yma,
y tableView: cellForRowAtIndexPath.
Mae'n mynd i alw y dull hwn ar bob cell unigol y tu mewn eich tabl.
Sut mae'n gwybod faint o weithiau ei alw?
Wel, dywedasoch y tu mewn o nifer o resi yn adran.
Rydym yn mynd i alw hyn ar bob un o'n celloedd,
ac y tu mewn o hyn yw lle y gallwch chi mewn gwirionedd yn gwneud pethau fel
gosod y testun neu yn dweud wrthych beth y botwm bach glas ar yr ochr dde yn ei wneud.
Mae'r patrwm ar gyfer cael y celloedd hyn, rydym yn mynd i ddefnyddio'r dull hwn
a elwir yn dequeueReusableCellWithIdentifier.
>> Amcan-C mewn gwirionedd yn adnabyddus iawn am hyd chwerthinllyd o eu henwau dull,
ac mae hyn yn wir yn achos 'n glws yn enghraifft pwynt.
Beth y dull hwn ei wneud yw hyn yn unig yn dweud fy mod am i chi roi i mi cell.
Dim ond yn beth iOS.
Os oes gennych chi rhywbeth fel 100,000 ganeuon ar eich iPod
yr hyn nad iOS ddim eisiau ei wneud yw dyrannu 100.000 celloedd,
oherwydd os ydych ar ben eich rhestr, ydych chi wir angen i ddyrannu cof
ar gyfer y gell sy'n 99,000 resi i lawr?
Na, oherwydd wrth i chi sgrolio gallwch fath o ddyrannu wrth i chi fynd ymlaen.
Mae hyn yn ei wneud i chi.
Nid oes yn rhaid i chi boeni am yr holl bethau perfformiad dwp.
Y cyfan sydd ei ddweud yn eich galw hyn yn dequeueReusableCellWithIdentifier dull,
ac mae hyn yn dweud, iawn, os bydd angen i chi Rydw i'n mynd i greu cell newydd i chi.
>> Ond os ydych chi yn y waelod y tabl ac rydych wedi ddyrannwyd eisoes rhai celloedd
ar frig y tabl nad ydych chi'n wir yn mynd i angen unrhyw adeg cyn bo hir
Rydw i'n mynd i roi i chi yn un o'r rhai yn ôl yn hytrach na dyrannu un newydd,
ac felly mae hyn yn peri pryder perfformiad 'n glws.
Nid oes rhaid i chi dyrannu'r celloedd eich hun.
Mae hynny'n mynd i roi i chi yn ôl cell.
Mae'n mynd i ddychwelyd i chi gwrthrych cell.
Unwaith y byddwch yn cael y gwrthrych cell gallwch wneud pethau iddo.
Gallwch osod testun y gell â'r eiddo hwn o'r enw label testun.
Gallwch ychwanegu hwnnw saeth ar y dde neu rhai pethau ar hap eraill
gyda'r eiddo arall a elwir yn accessoryType, ac yn y blaen ac yn y blaen.
>> Gadewch i ni edrych ar mewn gwirionedd yn gweithredu barn tabl yn awr.
Pan wyf yn creu y prosiect hwn
yn hytrach na dweud gais un golwg i mi ddod dros yma
i feistr-manylion cais, ac felly yn y bôn mae hyn yn cyfateb i'r app post
ar y iPad â barn tabl ar y chwith ac yna y cynnwys ar y dde.
Ar y iPod neu iPhone hyn yn mynd i gyfateb i farn tabl sengl.
Dyna lle cefais fy cod cychwynnol.
>> Gadewch i ni gyntaf yn edrych ar y bwrdd stori.
Mae hyn i gyd ei wneud i mi, a grëwyd yn y bôn.
Mae'r bar llywio yn dangos i mi beth allai cell enghraifft yn edrych fel,
a gallaf blygu chlecia 'hyn, newid y teitl.
Unrhyw bryderon UI arall y gallaf drin yno.
Mae'r ffeil pennawd yn edrych yn syml iawn.
Yn hytrach na dweud hyn yn UIViewController rydym yn awr yn dweud hyn yn
TableViewController, felly rydym yn gwybod ein bod yn dymuno galw ar holl dulliau hynny bwrdd.
Nesaf rwyf am greu eiddo sy'n mynd i gynrychioli
y pethau y tu mewn fy tabl.
Mae'r tabl hwn yn mynd i fympwyol arddangos
rhestr o ffrwythau, ac felly mae angen i mi greu rhai amrywiaeth
y gallaf osod ffrwythau.
Y tu mewn fy ffeil gweithredu y peth cyntaf i mi am ei wneud
yw fy mod eisiau gwneud yn siŵr fy mod yn ymgychwyn y casgliad.
>> Dywedais Dyraniad init, creu fy array ffrwythau,
ac rwy'n ychwanegu 4 o bethau iddo, un ohonynt yn llawer mwy dadleuol na'r 3 arall.
Ac yn awr yr wyf yn cael amrywiaeth o ran maint 4.
Rydym yn ysgwyd i fyny yn CS50.
Yr wyf yn awr yn cael amrywiaeth o ran maint 4.
Nawr rwy'n mynd i ddechrau ateb y cwestiynau hyn, ac mewn gwirionedd,
pan fyddaf yn creu y app cyfan o hwn wedi'i wneud eisoes i mi.
Nid oedd rhaid i mi deipio y nifer o adrannau o ystyried tabl.
Roedd yno eisoes, ac rwy'n llenwi'r bylchau.
Faint o adrannau sydd gennyf?
Un. I gyd ei wneud.
Faint o resi sydd gennyf?
Wel, mae gennyf un rhes ar gyfer pob ffrwyth, felly mae hyn yn cyfrif
yn eiddo o unrhyw amrywiaeth sy'n dweud pa mor fawr yw e?
Dyna faint o resi sydd gennyf.
Yn olaf, mae angen i mi ddweud beth y mae pob cell yn edrych?
Rydw i'n mynd i ddweud dequeueReusableCellWithIdentifier.
>> Unwaith eto, mae hyn yn cael ei ysgrifennu yn barod i mi.
Nid oedd rhaid i mi wneud hyn fy hun, ac rydw i eisiau mynd yn ôl
y gell hon yn y lleoliad hwn.
Cofiwch ein bod yn galw hwn yn un dull ar bob cell sengl,
ac mae hyn yn ddadl yma, mae'r ddadl hon indexPath,
yn dweud beth rhes rwy'n ynddo
Os wyf yn dweud indexPath.row i lawr yma
bydd hyn fod yn 0, yna bydd yn 1, yna bydd yn 2, ac mae hyn yn wir yr wyf yn gwybod
pa cell o bryd rwy'n arddangos.
Rwyf am osod testun y gell defnyddio'r eiddo textLabel
i fynd y tu mewn fy amrywiaeth ffrwythau a chael
y gwrthrych sy'n cyfateb i bob rhes.
Os yw hyn yn llinyn, rwy'n awr yn gosod
yr eiddo testun i llinyn.
Gallaf wneud un peth arall.
Gallaf hefyd gofrestru trin digwyddiad ar bob un o'r celloedd,
felly pan fyddaf yn manteisio ar bob un o'r celloedd
hyn didSelectRowAtIndexPath, mae hyn yn mynd i gael ei alw i mi,
felly dim ond drwy ddiffinio hyn gallaf yn awr drin beth sy'n digwydd
pan fyddwch yn tap gell, ac unwaith eto, rydym yn pasio lle mae cell yn tapio
er mwyn i ni ailddefnyddio hwn trinydd un digwyddiad ar gyfer ein holl gelloedd.
>> Unwaith eto, mae hyn yn rhywbeth iOS yn ei wneud i mi.
Gadewch i ni arddangos arall popup blino
sy'n dweud eich bod wedi cyfeirio rhywbeth lle bod rhywbeth
yn mynd i fod yn wrthrych rhes.
Pan fyddaf yn rhedeg hyn, yr wyf i'n mynd i gael y farn hon tabl 'n glws
gydag un rhes ar gyfer pob un o'r ffrwyth, ac os wyf tap 1
mae'n dweud wrthyf beth ddigwyddodd.
Gwneud synnwyr?
Gadewch i ni adeiladu ychydig yn fwy cymhleth o app,
cymaint â chlicio eich bod wedi cyfeirio tomato yn.
Mae'r rhan braf am y bwrdd stori
yn cael ei nid yw'n unig yn mynd i helpu sgriniau dylunio ohonom yn unigol,
mae hefyd yn mynd i'n helpu ni glymu ynghyd ein app cyfan,
felly mae'r app terfynol byddwn yn adeiladu yw hyn 'n glws chwaraeon darllenydd newyddion,
ac felly mae'n mynd i gael sgriniau lluosog, ac felly gallaf eu cynrychioli mewn gwirionedd
pob un o'r sgriniau lluosog ar y bwrdd stori,
a gallaf chwyddo allan a gweld fy app o lefel uchel.
>> Er mwyn creu y tu mewn elfen newydd o fy stori
mae'n syml iawn y tu mewn o Builder Rhyngwyneb.
Os ydw i eisiau ychwanegu un arall sgrin i hyn, er enghraifft,
Gall tro cyntaf i mi chwyddo allan gyda'r zoom phinsiad bod Apple wrth ei bodd cymaint,
ac i lawr yma cyn i mi chwilio am botwm
ac rwy'n llusgo a gollwng botwm
os ydw i eisiau creu sgrîn newydd yn gallu Fi 'n weithredol jyst ddragia a gollwng
yn rheolwr barn cyfan, felly os wyf yn dewis hyn, dynnu dros yma,
hey, mae sgrîn arall, ac felly bellach yn defnyddio'r ffeil hon bwrdd stori un
Gallaf gael yr holl o'r sgriniau tu mewn fy app, a gallaf chwyddo allan
a gweld sut maent yn rhyngweithio.
Ni fydd y rhain yn rhyngweithio eto.
Mae'r ffordd y mae'r 2 sgriniau yn rhyngweithio yr ydych yn diffinio perthynas.
Gallwch bôn yn dweud y sgrin hon, pan fyddwch yn gwasgu'r botwm hwn,
Rwyf am i chi lithro dros i'r sgrin hon newydd.
Mae hynny'n golygu fod y math hwn o berthynas rhwng
y sgrin gyntaf a'r ail sgrîn.
Bydd gennych y bôn saeth o'r botwm ar y ail sgrîn
dweud bod pan fyddwch yn gwasgu'r botwm hwn dyna lle Dw i eisiau mynd.
Yn union fel yr ydym yn rheoli clicio a llusgo i ddiffinio'r mannau
ydym yn mynd i wneud yr un peth i ddiffinio'r hyn segues.
>> Byddwn yn gweld enghraifft am hynny, a chyn i ni mewn gwirionedd yn trosglwyddo
o un sgrin i'r llall iOS yn ddigon braf i alw y dull hwn
a elwir yn prepareForSegue, a dyma lle y gallwn ddechrau
anfon data o un app i'r llall.
Yn yr enghraifft rydym am i edrych arno yn y bôn yn caniatáu i ni
i hidlo timau pêl fas gan cynghreiriau ac is-adrannau.
Pan fyddaf yn dewis cynghrair, er enghraifft, yr wyf eisiau trosglwyddo
i fy sgrin nesaf lle y gallaf ddangos pob un o'r adrannau
yn y gynghrair neu'r holl dimau gwahanol.
Angen i mi anfon at y sgrîn pa dimau dylech arddangos.
I wneud fy mod i'n mynd i fanteisio ar y dull yma.
>> Yn olaf, dim ond pwynt ar hap ar iOS.
Os ydych am storio data mae hyn yn beth a elwir data craidd,
sydd mewn gwirionedd yn fath o gymhleth i weithio gyda nhw.
Gallwch hefyd ddefnyddio SQL i storio data,
sydd, unwaith eto, yn braf ond yn fath o ar yr ochr yn fwy cymhleth i weithio gyda,
ond iOS hefyd yn cefnogi pethau hyn 'n sylweddol oera a elwir yn rhestrau eiddo,
a rhestr eiddo yn unig yw ffeil sy'n cynrychioli parau gwerth allweddol.
Byddwch yn diffinio rhestr o allweddi, ac yn dweud yr allwedd hon yn mynd i fod yn arae.
Mae'r allwedd hon yn mynd i fod yn llinyn, ac yn y bôn unrhyw beth y gallwch ei wneud
yn JSON y gallwch ei wneud y tu mewn o restr eiddo,
ac felly mae hwn yn 'n glws yn ein galluogi i weithio gyda rhai data.
Er enghraifft, rwyf wedi hyn Teams.plist fy mod yn creu.
Yr wyf yn creu ffeil plist newydd, a gallaf ddrilio i lawr.
Mae hwn yn geiriadur, mae hwn yn geiriadur, mae'r rhain yn llinynnau,
ac felly mae hyn yn gynrychiolaeth graffigol 'n glws o ddogfen JSON
neu dim ond set o barau gwerth allweddol,
ac felly mae hyn yn y data y byddaf yn gweithio gyda tu mewn fy app.
>> Gadewch i ni yn gyntaf ddod draw yma. Mae gennym ffeiliau lawer yn fwy yn awr.
Ond gadewch i ni y cyntaf i'r felin dros yma i'r bwrdd stori.
Mae'r bwrdd stori yma-os gallaf chwyddo allan-
gallwn yn awr weld bod hyn yn llif fy app.
Rwy'n cyntaf yn mynd i ddechrau ar y sgrin hon.
Rydw i'n mynd i ddrilio i lawr i'r sgrin hon,
ac yr wyf i'n mynd i ddrilio i lawr i'r sgrin hon, a gallwn weld yma os wyf yn fath o
symud un o'r rhain o gwmpas ein bod wedi hyn saethau yn mynd oddi yma i yma,
a'r ffordd i ddiffinio hynny saeth oedd os byddaf yn chwyddo i mewn ychydig bach,
ac os deuaf draw i hwn rheolwr farn,
a dyma cell, ac yr wyf am ei ddweud pan fyddwch yn tap cell
Rwyf am i chi lithro dros sgrîn i un arall.
Gallaf yn hytrach yn cadw i lawr rheoli,
sgroliwch dros ychydig, dal i lawr rheoli, llusgwch y gell hon drosodd a gadael i fynd.
>> Ac draw fan hyn rydym yn dweud beth yw'r trawsnewid yr ydych am ei ddefnyddio?
Ydych chi eisiau defnyddio peth hwnnw sleidiau sy'n cael ei alw gwthio?
Ydych chi am i lithro i fyny o'r gwaelod?
Dyna a elwir yn moddol.
Ac ar ôl i mi cliciwch ar un o'r rhain, mae'n mynd i dynnu y saeth i mi,
ac mae hynny'n golygu fy mod wedi trin mewn gwirionedd beth sy'n digwydd pan fyddaf yn pwyso y botwm graffigol.
Doeddwn i ddim yn ysgrifennu unrhyw god i mewn gwirionedd yn llithro o un sgrin i'r un nesaf.
Rwy'n diffinio hyn yn weledol tu mewn Builder Rhyngwyneb.
Os byddaf yn cliciwch ar y saeth, gallwn weld bod rhoddais y peth enw.
Gelwais ei showDivisions, ac mae hyn yn fel y gallaf wybod
pa pontio ar fin digwydd, a byddwn yn gweld pam mewn dim ond sec.
Dyna sut yr wyf wedi gwifrau i fyny 'r sgriniau gwahanol yn fy app.
Pe bai hwn yn botwm, er enghraifft, yn hytrach na barn bwrdd,
Gallwn reoli cliciwch ar y botwm, llusgo draw at y sgrin nesaf,
a dyna sut y gallaf wneud fordwyo y ffordd honno.
>> Really yn gyflym, os ydym yn dod i mewn i'r MasterViewController,
unwaith eto, rydym yn syml yn mynd i ddiffinio rhestr o bethau
a gaiff eu dangos yn y golwg tabl.
Yma i ddim yn dweud yr wyf am i chi gymryd y ffeil plist,
ac yr wyf am i chi lwytho i fyny i mewn geiriadur,
ac unwaith y byddwch yn cael y geiriadur, dwi'n mynd i ateb y cwestiynau hynny un fath eto.
Dyma nifer o adrannau.
Un, mae yna un rhes ar gyfer pob gynghrair, a thestun pob cell
Dylai fod naill ai yr un cyntaf, y gynghrair gyntaf, y gynghrair ail ac yn y blaen.
Yn olaf, yr wyf i'n mynd i ddefnyddio'r dull hwn yr ydym yn unig welodd enw prepareForSegue,
a dyma'r dull sy'n mynd i fod yn tanio pan fyddaf yn clicio
ar un o'r rhesi ac felly activating y cyfnod pontio
fy mod yn sefydlu gyda'r saethau.
Mae hyn yn dweud y gallaf ei gael lluosog
berthynas o un sgrin i'r llall.
Os oes gen i 2 botymau a phob botwm yn mynd â chi i sgrin wahanol
Rydw i'n mynd i gael 2 segues, 1 ar gyfer pob botwm.
Ond mae hyn prepareForSegue yw, unwaith eto, yn mynd i gael eu hailddefnyddio
gyfer pob un o'r perthnasoedd gwahanol, felly mae hynny'n golygu fy mod angen ffordd
o nodi os ydych yn pwyswch y botwm cyntaf neu rydych pwyswch y botwm ail.
>> Cofiwch pan roddais y segue enw, mae hyn yn showDivisions,
dyna sut yr wyf yn awr yn gwybod mai dyma'r segue a actifadu.
Y cyfan yr wyf am ei wneud yw fy mod am ei ddweud
Rwyf am i chyfrif i maes yr hyn yr wyf jyst daro,
ac felly er mwyn cael hynny, gallaf ddweud fy mod am i'r indexPath ar gyfer y rhes a ddewiswyd,
cofiwch y indexPath yn unig yn dweud ble Fi jyst clicio,
ac yna yr wyf am ddweud fy mod eisiau chyfrif i maes ble dw i'n mynd.
Mae hyn yn destinationViewController, mae hynny'n eiddo i'r segue.
Dyna y sgrin Rydw i'n mynd i,
felly rwy'n gwybod bod y sgrin wyf i'n mynd i cael ei alw'n DivisionsViewController
oherwydd fy mod yn creu dosbarth hwnnw,
ac felly nawr os ydw i'n dweud d.divisions
Rwyf nawr yn gosod eiddo i'r rheolwr barn rwy'n ar fin mynd i.
Dyma sut yr wyf i'n anfon data o un sgrin i'r llall sgrîn.
>> Dim ond edrych ar y DivisionsViewController
gallwch weld yma, yn y. ffeil h
mae bod adrannau eiddo, a dyna beth rwy'n bôn poblogi,
felly dyna sut yr wyf yn gwybod fy mod yn dangos y rhaniadau sy'n cyfateb i
y gynghrair sydd glicio I, ac unwaith eto,
barn tabl gwirioneddol yn edrych 'n bert lawer yr un fath, dim ond ateb y
3 chwestiwn syml yn ogystal â nodi
beth sy'n digwydd pan fyddwch yn symud i'r sgrîn nesaf.
Dim ond un neu ddau o bethau eraill yma.
Byddwch yn sylwi ar y brig yma yn hytrach na dweud # gynnwys
Rwyf nawr yn dweud # mewnforio.
Mae hyn yn unig yw beth Amcan-C.
Mae'r mewnforio yn y bôn yn fersiwn brafiach o gynnwys,
ac, er enghraifft, mae angen i ni wybod beth y dosbarth hwn,
felly ni allaf ddweud DivisionsViewController.
Pe na baem yn hashtag y tu mewn standardio.c o'n. Ffeil c
y casglwr oedd ddim syniad beth oedd printf.
Yn yr un modd, os nad wyf yn mewnforio y DivisionsViewController
y casglwr mewn gwirionedd wedi ddim syniad beth yw DivisionsViewController yn.
Jyst gwnewch yn siŵr bod tu mewn i'ch wahanol. Rengau m eich gwneud yn siwr i fewnforio
cyfatebol. ffeiliau h fel bod y casglwr yn gwybod beth sy'n mynd ymlaen.
>> Yn olaf, yr hyn Apple yn y pen draw yn cael ei arddangos peth data gan ddefnyddio barn ar y we,
ac felly mae barn ar y we yn wrthrych y gallwch ymgorffori
porwr gwe bach tu mewn i'ch app.
Cyfan sydd angen i chi ei wneud yw darparu URL i'ch porwr gwe,
felly yr wyf am fynd i mlb.mlb.com,
a dyma sut y gallaf gael mynediad i'r dudalen cartref ar gyfer pob tîm,
a hynny drwy basio yn y URL
gall yr olwg ar y we yn dangos hyn i mi, a gallaf bori o gwmpas,
ac efelychydd yn cael ei ddefnyddio gan yr un.
Nawr mae hyn yn dod o fy plist.
Os byddaf yn cliciwch y mae hyn hefyd yn dod o fy plist, ac mae hyn yn llithro ei thrin
drwy ddiffinio hynny segues.
Fyddaf yn clicio hyn ac un yn fwy,
ac yn awr dyma yw fy UIWebView, felly dim ond fel 'na
dyma y wefan ar gyfer y URL fy mod yn gwreiddio yn unig,
ac nid oedd rhaid i mi drin unrhyw beth crazy.
Dyma sut i arddangos dudalen ar y we.
Pethau fel hyn botwm yn ôl yma yn cael eu rhoi hefyd i mi
hollol rhad ac am ddim oherwydd fy mod i wedi diffinio perthnasau hyn gan ddefnyddio segues.
>> Unrhyw gwestiynau? Yeah.
[Myfyrwyr] Felly, pan fyddwch yn defnyddio Dyraniad byth, rhaid i chi unrhyw beth am ddim?
Yn union, pan fyddwch yn ffonio Dyraniad a init nid oes rhaid i chi ei rhyddhau.
IOS yn mynd i ymdrin â hynny i gyd i chi.
Mae'n wych, ac nad ydych yn torri unrhyw reolau. Yeah.
[Myfyrwyr] Pe baech yn cynnwys mwy o dimau a allai ffitio ar y sgrin,
byddai yn awtomatig yn cael dewis sgrôl, ynteu a yw'n rhywbeth mae angen i chi ychwanegu?
Yn union, pe bai gen i mwy o dimau, er enghraifft, byddai'n trin yn awtomatig
y sgrolio i mi, a'r holl bryderon perfformiad
â'r tabl enfawr yn cael eu trin hefyd yn gwbwl i mi.
>> Cwestiynau eraill?
Mae pob un o'r cod hwn yn mynd i gael ei bostio.
Rydym yn fath o fychanu dros ychydig o'r manylion yn fwy mân,
ond mae pethau fel gosod rhai eiddo i farn ar y we
yn unig bethau y gallwch ei gael drwy bori Afalau 'ddogfennaeth,
sydd yn iawn, iawn 'n glws gosod allan.
Mae ganddynt lawer o apps sampl ac esiampl usages
o APIs gwahanol, felly yn sicr gael golwg ar y rheini os gallwch.
Dim ond rhai cysylltiadau defnyddiol efallai y byddwch am gymryd golwg ar.
Mae'r rhain yn rhai canllawiau dogfennau wrth law.
Mae'r URLs yn enfawr, felly maen nhw'n fyrrach.
Mae'r un cyntaf yn y llyfrgell gyfan o ddogfennau.
Mae bariau chwilio ychydig, felly os byddwch yn dechrau teipio botwm
bydd yn dechrau rhoi i chi yr holl wybodaeth am yr holl bethau y gallwch eu gwneud gyda botwm.
Rwyf hefyd wedi cynnwys y Canllaw View Tabl Rhaglennu.
Mae'n ymdrin â barn tabl yn llawer mwy o fanylion,
sut i wneud pethau fel ddynamig ychwanegu celloedd neu gelloedd golygu neu eu dileu.
>> Mae llawer o apps sampl o Apple a fydd yn dangos i chi sut i wneud hynny,
ac yn olaf, mae'r un olaf yn y Canllawiau Rhyngwyneb Dynol,
ac mae hyn yn y bôn rhywfaint o drafodaeth o gydrannau UI,
Nid yw pethau fel gwneud botwm sy'n 4 picsel gan 4 picsel.
Dyna syniad drwg, a phethau eraill sy'n Apple eisiau i chi ei wneud
i annog dyluniad da.
>> Unrhyw gwestiynau olaf cyn i ni orffen i fyny?
Mae pob hawl, yn bendant yn teimlo rhad ac am ddim i-we're mynd i gael labeli arbennig ar Trafod.
Bydd gennym iOS un, felly yn bendant yn teimlo yn rhydd i ddefnyddio hynny.
Os ydych chi am weithio gyda'ch cyd-ddisgyblion ar brosiectau
neu helpu i chyfrif i maes rhai pethau iOS ar hap
mae croeso i chi e-bost ataf, ac yn sicr yn darllen yr holl ar-lein cod oherwydd
dim ond yn y diddordeb o amser yr ydym fath o fychanu dros y mwyaf
manylion eraill yn graen o bethau.
Ond os nad yw, yna pob lwc ar eich prosiectau iOS, ac yr wyf yn gobeithio ein bod wedi
mewnlifiad mawr o apps yn y Storfa App.
[CS50.TV]