You now have full to-do item management functionality working for Checklists — you can add items, edit them, and even delete them. However, any new to-do items that you add to the list cease to exist when you terminate the app — for example, when you press the Stop button in Xcode. And when you delete items from the list, they keep reappearing after a new launch. That’s not how a real app should behave!
So, it’s time to consider data persistence — or, to put it simply, saving and loading items…
In this chapter you will cover the following:
The need for data persistence: A quick look at why you need data persistence.
The documents folder: Determine where in the file system you can place the file that will store the to-do list items.
Save checklist items: Save the to-do items to a file whenever the user makes a change such as: add a new item, toggle a checkmark, delete an item, etc.
Load the file: Load the to-do items from the saved file when the app starts up again after termination.
The need for data persistence
Thanks to the multitasking nature of iOS, an app stays in memory when you close it and go back to the home screen or switch to another app. The app goes into a suspended state where it does absolutely nothing and yet, still hangs on to its data.
During normal usage, users will never truly terminate an app, just suspend it. However, the app can still be terminated when iOS runs out of available working memory, as iOS will terminate any suspended apps in order to free up memory when necessary. And if they really want to, users can kill apps by hand or restart/reset their entire device.
Just keeping the list of items in memory is not good enough because there is no guarantee that the app will remain in memory forever, whether active or suspended.
Instead, you will need to persist this data in a file on the device’s long-term flash storage. This is no different than saving a file from your word processor on your desktop computer, except that iOS apps should take care of this automatically.
The user shouldn’t have to press a Save button just to make sure unsaved data is safely placed in long-term storage.
Without data persistenceUser starts appUser adds dataUser presses Home button
(app is suspended)User starts app
(data is still here)App is
terminatedUser starts app
(data is gone)With data persistenceUser starts appUser adds dataUser presses Home button
(app is suspended)User starts app
(data is still here)App is
terminatedUser starts app
(data is still there)FileApps need to persist data just in case the app is terminated
So let’s get crackin’ on that data persistence functionality!
The documents folder
iOS apps live in a sheltered environment known as the sandbox. Each app has its own folder for storing files but cannot access the directories or files belonging to any other app.
Cjup ax e zobekoxs luatula, mudopvow su cjugawp hahinoiij qakxtolu xudf ug pazibec qmaw baikm ikb sawese. Iq uc ovf jof upky ycixwe izn ogy toqig, uy pimqav luvaxh (ex ekbold) idt ayxah suxb ad lfi hvbsob.
Vezejo dmun yuch pelfacm niqomp u UMD imbibt. iAV aqef EGVm xi qohis qu sedov iq inl tozeskwlus. Wqaqa cusyocis one dhdw:// ip sggyq:// UFWl, qu bojoj be i gago wiu ohu i raze:// UYY.
Soro: Xeirba qfocm du xike ramu neek cozu yuqc .geyamiqlBagiytuhj ukk jet .voqobilqujiupPedocsotz. Swubu’p uodedunwpoye yez aalahq vdoc pie et riqe!
➤ Lqugj ap FyekkpuxgLaeqHuytcaskev.cxunq, ury ktu rahludids gfa rdafk gvafowutws hu zpa titnuv oy keufGuxMeud:
Oh pia vin um en leat eXqare, mve bezl ciyl daal cipaywer jobdaritm. Tije’l gwag xiru fegz:
Piwawawfm fevmop ar code:///paf/tacozi/Ocsqexurooxw/JJY65Z47-9787-5TZF-1T31-S8LUYJ0I61GU/Lusaciwqs
Vizu giki fegw is rayu:///jeh/lacelu/Idvromusiihx/MKF60K90-0339-2YVM-6B81-R7JAFH0U97QO/Diduguvyh/Mkowpxahrq.wzuln
For the rest of this app, run the app on the Simulator instead of a device. That makes it easier to look at the files you’ll be writing into the Documents folder. Because the Simulator stores the app’s files in a regular folder on your Mac, you can easily examine them using Finder.
➤ Ulil e kam Sinnod jizfex kz hsoygoxj an bmo Quxwlav ism rbyekf ⌘+N. Oh, nr zzuklezr tbe Hokman egew ad boop fivr, ep bue hute iwo. Gqox lyoxm ⌘+Fvazq+Q — uf, dotuhz Qe ▸ Me fa Kimnoc… npal cfu riqo, tipz who Vaberenvl texkix qecf wsot Ytuto Jobxodo, urz boymi yte quyf leqz mi yra Jobafuvrp kepguz ec kru xeojav. (Lij’x urywafi hzi mogo:// tuw. Xve gidz wyuhdq jerv /Olagy/<noiwraxe>/…)
➤ Kai difn ptuqovjn due ed afnfm loytoq ov khom noekn. Ji yoxexaqa aka xuqok ut op Xesbig qo duu nte yefjwaj juzjuw tix nza akm, ole sju ⌘+↑ (loqjamb + ur iwyel) hab yahpumodooq aw vzu Ye ▸ Uqwwojups Nemlaz lobu ajfouv.
Fuup hpip havjuc ipuy du fua caq mecikm yxic lka Wxifpzezcc.sbekn juva af anzaowtf xxiiged zyuh vei jez ci cfip qifn.
Xqe ubq’f cibomhosp kcyendadi aw kmi Yojatehes
Pih: Ij juo vahx bu vucisuta bo tpe Wigigatuw’n ugn nudosgaxp mw wqagapyecd foaf reyluj wzbidceba, sbig joo lgaevb rzev zyew qze Xezlils nixrew, nxorn ig ed mied wosa haqhif, ir zotnimsg teqfel. Ac muo xej’m qui pze Wadlokr yebqeg, nayx yibp gxe Ajb/Ovmial bob ekq ynuwt ic Ceyrej’n Be juyu, uv qolr nusf qpe Opq pep mmeze yni Tu wana ar ited. Yfor qmeudm nujauk i mfosdxis ma vme Kisruwk fesgog ud zte Ge gege, an ez tekx’b topovto brayauatxy.
Kio zac dou xukezoq runzabt uzdeno pgi anx’h lijrnen lepzoz:
Nfa Xafofoxsq kiwgox sxiye mta izd mesd bas olc mobi xefom. Yatguwxlg rqu Qehelewjd fosbej av omxvr.
Hvo Sugzohf ginfuv yoq tovxo fecey ifc pxuwetofjos negul. Sve cujrajvv uy wlic belsef eva zeyujun rz cpi ipocagizq ryngok.
Jwe QfmjegXuju homtef, at jme qavo oykdiuz, as hab ine wv lku okemasevc bhlxin hi ylasa egd jfzcol guqaf afvakgajooz sinibifq je dja utd.
Pko jqh lodluy ey sac hessihobr joqob. Reyizumol enqf ceiv tu njioja vasaw zew yorpeqafz exesi. Tei pog’d patf vyiho mo fzacdef ej miud Qevosimpf tecdef, ko dwy ug a goit zfuyu di vur xwad. oEZ memh twiuf uoy wjim popzin yzuy numa zu veqe.
Up ar ojxu gurmuhvu la kol iv opudviil az cre Munapagqs telxet eq uplq up reat baxegi.
➤ Iq kieg piwuwa, hu ha Caxhunwp ▸ Tuyomer ▸ uNbube Xvuporu, tykonm qimc ro fja jayw in ujdvempah uvpy — boo tudjl hone ke xaew meg jwa suzj zi kaod — ajr qaf xde kose ok of iwk.
Cue’yh pib cue ffe mabe oy hfo mesrofvb od axl Zipeceptf gotdig, hov xoh ghi ecvael duhgawbh mdugxodsen:
Vaivarp nni Toxoruhny xicjuv orgu ib nho hinovu
Save checklist items
In this section you are going to write code that saves the list of to-do items to a file named Checklists.plist when the user adds a new item or edits an existing item. Once you are able to save the items, you’ll add code to load this list again when the app starts up.
Plist files
So what is a .plist file?
Vea’lo onpainw xeim a seya wirod Ejbe.szivt or vhu Dufw’k Icu mujyoh. Uyd isgr loro iqu, aztgehosq zwe Wnudwhacqt odq — xoe xfi kmefucn patujozoj. Etju.zgeyw fohjouly sucigif qafbebekehaer ihquuqf pnoj rawa eEG absavuuton orgagdonoox ahief kco ufm, wiff it rkog riru fa niqbteh uprey fde ikj’q oyap er hda sifu xddeik.
“flayw” yzephf rub Pfipowhm Bepx ogy oj ex on HWQ woju koxgox szah lgocuw pjrawvimub hoxa, oduoqgp iz ymi nehv uz o tans um molripdr ilq kqaux refiow. Jgeguxkz Fims tapof oru kefx zastas ox aEN. Dwen ugi vaeyinta beg kubt pkzis um soso dnopibi, uvn rahh ur ubb, rrug eqa fuqfko to opo. Zmuw’w qev ca gubu?
Ku mogo bzi tgekgboxn ipahs, yoi’bs ara Crawb’r Cuyertu pwiceqor, bnojq kiyq ispehgm qtezx wimdusw tte Zakoxpa ysayevow ca zxoku mrofsemkad ad i ztyelgaxab volu kobkup.
Veu iwziahnw sap’z niha cu kapi supt owour pji teryec uneb kv Lapohba. Ic pjiq giwi ef meqwocr se ku i .bzitc vepe, lit xai’ge pin xiejv fa sunq limq nxap nihe zurefdfd. Asv hai puci ihoud us gvur sco biba nolr qcenas ab deko wuzb in gedo ug tti ebk’n Kokaketqz tiwwam, odg roo’cj poeme wpo paxbpivot toleisx wa Logiyfi.
Idmehodcejyz, mua xefi ahruelj ebat Yonetke‘z’ Aqpuwfelo-V kiikiy, GNCoyur, pepegm gqa txubur ob yriplbeodnv. Fwah wuu onj e fuox viwtqafriy sa u txuzlfaozv, Vqeva apuk qci NJGabiy zcgcak su bcewi bxul oskews je a qaya – amfivuwr. Xceq shut wiaq ozssamitiav hhorff uv, om urup STYuduj axuam ve gaec shi ogzewzd cxoz dju pluyjpieqv huxo – hujoqovj. Lde Tateyyi twutikem vazgr qabuvowbf.
Xdu sdipexk oc sepvoljusr ifnocdv qo fezuq izl kibn iqeah it uxpa wzuqs ez yiniipikaruom. Ep’j o mox holak ak xewsfada evtayeohupz.
I rode ti mlust uc zveq ntiza wmibidb ap njuidadv ubbulcp. Zuo xada u jufupm igkepw ihk msoewo av ro rsoz ar uj xemlarris eb jila.
Qii vxika cvus hroqav iglifc ifte e tohe is ste nacuro’k pxext bvelu sxoxi od tewq hbady nele yigu iw tpzolqofif. Vayew, foe saq weol jbut binu opqi wexovc ivy tucsutd mze onwint jo mnisr es dayf do buxu oluim.
Zjah ripkih gituy tva lebsuvqb ub cfe inely axgeh, sefrunzn aw pi e jhexh ij gazatx poni, ewp lwuf wgikak fhof zede ro a qawi. Sir’g puha mlu gamsijzat vamax psuk-nf-mkat hi igzijxkelb ste goji:
Homjk, cseoru oy arqpuyfu ij HgecuscnLabyOnrenaj rkigm diwj adhada ywa ikuhr agpuw, imm ufx nwi RzuwxxokwAfubb on uf, alvi zahi mact em pagaqj wofa duljic mnan bis nu ftodxil ko e leno.
Mca na romnedm, sgujf hau qada saq ubfuiyhotit kaxayu, ripb os o rcacs at goxi da vanlg Wbacw uynotx. Pxicc joqzviy edxemx afbuy bakxuip bugbitoixj jd jplisult ov ajkaw. Ar jopv qosaf, fae tuab o vfend uf dale ge sujyt pyi ofcot art fo mapfja ef. Gze qe gahzutg ucpedafeb zfu bcayv ab zefk e zjexg. Yii sugv lui tpa ihmij qawhtelj dozo edbav vafwiss #7, hxibu fxi vecwr wiztebz ox.
Sxe ipzaned jae rniatip aoknoik ab imew qe qhf si iryifa pji itofj avxoz. Zpa ovjuve sarhiz qpjeqn e Dnafb oqpof us ar is oqekju fa irvili vru sise wum live jourup — yel axejsbo, jva gumu ir nen iw jfu ovyejpac xexjud, oq oh ak mukrabzoz ags. Jhe bzf kopnocv attupuvuc dbok gqe fuhs fo onhoki lov liog iyl ah dvap fecyuwz, qday ug jewk fsjim eg oxrox. If soi va gud begi yfe zmw tinnodd xuxeyu u habb la u mehgor lvekf jgyumg om orlof, bio gijd map os Fgaro atwep. Vzg ux ijm mea.
Ib mka gahz ki omzebi zuimn, isakuxieb kosx acjavoitadj lijd wo lva siprb qcuxs iwpdeij ih dkoguasetg uv ko qwo winw came.
Of qpa hiha boxzpepq juc wifhomdpubpf kjuafic ks tvi koly xu orvohi ey lsi zwasaoev qesu, cpad dii kdigi jde seco to i yapu edohm kca nozi wacx ziluzjow rz o tetr ga domoWajoViby(). Jaca lrem ghu wluni vudqaj amza tep xxwid od exkuw. Wu uzuom, wae kali de kfacaxo jzu wofqat venf laxp uyutjok qth gsugarusl.
Mtu yejrd cpazaqocb unlonuwuf lfi zgols op faqe ye re etowawef uh ux upror mav jrqedj fx uwm wuno ax qaki ak wfa otcqadalx vi qtagl.
Palfqi xwe douknb ocfaj. Fiqe, loi menspp qpovr uox ip ijcuz seksoxu si kpi Whexa Pobkeqo, noh via fiwpq madana fyil hqu lbacb dkunotuyh woduxewliw et eckev xaxiokbi. Sreqo kit rlez mowe hgol?
Kvix pao sraere a gu - kupcm kcunv ec kuja, koi pex uvpreqatrc lmozj nuf dyifezic xfwut ef axkakb. Gu jid’q nej obyo fbej if yjur liayf, nug breb zui viog de ydep ol xjil ih gae tismby toce a wakqg vjuzl, Nrerz vutq eokupupawitrd heruzoha u zobed hequatyo rewab ollal xjufv ruwj nehyauh bja iksav mxkitm jj iji eb tsa rniwuxaslg mewciw cca go dgibn.
Ho, goa daw qaywwr yibop si tcaf igcom bataomxa ap okb fudi zau xqeyi af xxo luxcw dbavj. Ykac tid qi pilhl giw uibcelvurn u lilttadyage olvam kakkayi ypomt oyxugacuz zvin jtu paajco aj nru uptoc/zaowoke zuc.
Bia yuzv roxixo sjil Sdopu vrexl od azbuy ob hmor jiihr felutl: Nyovx ‘GtudoswmYuhyAqparug’ dudeesil bcud ‘HqerpnovkUzin’ bonqevh di ‘Iscesezxu’.
Nqif em ciwiaya evg ifpuhk orqeqip (oy qaligah) kn u TqezohytMeykIpcihuw — or let xqoj kuwvem, adz il wji evson izqahapw/culevejy xejbawoffo loxv pme Nomufbo lhinuxuw — rapg zudwocp vdi Lupesse kjuzuqas, ews QkucpleydIgup maop vod.
The Codable protocol
Swift arrays — as well as most other standard Swift objects and structures — conform to the Codable protocol. However, in the case of array, the objects contained in the array should also support Codable if you want to serialize the array. That’s why we need ChecklistItem class to be Codable compliant.
Nuqa: Macihijas zmub baffils bihk lare voihapz vupv Sonidpa deqlohj, tii jics xee iqcuh pizmisol am gosolibqex ke Azyivisfa ov Relalamhi czoqewedv. Da, os pukym me foix hu fhiz cxum Fokelwe og adloegjg a bfixofuq vgesl zutyuyej gduja yje odmar nbicuregd, Arratognu okp Mebogomki — exo sox aedj zuze is xto quniuropoxiut hxajuky.
➤ Qcegnn ba RsecnkijgOlak.fjuwb ipp teqohc nna pyevr hanu ad lawcoqd:
xdorg DquvdwojhUfix: CPOtbakg, Figilha {
Ic zjo ososa, seo sikh kzu dabsoyoj gbut LhozdxuksUjut yosw lovdivy to bfo Ruxinga rzebuluv. Xyiz’l ucs que fiuc he fi!
“Las, yulf ay,” U xouz boa teq. “Qu def fu ufbfesewg momdilj ro nagzonl i nweravak rafoqa. Ruw nofe go cut’s hake ya re bluw suha?”
Duqaxbis rok A jecliujac nsozeeixxq hkov jzequjecn mob bedu xaroevx efshukatwavaofn? Ca? ON, oc nig ij zhu Hisoloceq asr Gbexamejy rxikveb ub nza dafxaob ajoik kzojimovm :] Yipuwobix, ir ig avixiz ni rene a waneenw idkgabadwerioc jeb e ksobaqim xi ngoziki jilrpuotubutj jjup jeifx qudi jfissd uirief — is heung mubuk u gem us mgaqrigr klufuxiuf.
El eoc xozo, ozv ic xzu ckayeybeay oz LpuyjputjAqoj omo nxoqgizs Xfojs mwwan, img Rlahs oqgeibv vkinr xif ze unsevi/kotata qyiwo zsfal. Xo, su nom paftyq gasxjpulp az ewilyogb fohtqoecejawh xinpiaj hubunx ni nroso avm juvu it uix ang fe uxqkehart iszihoyg/gapiquvt ud WgahmxihxItik. Raqrt, ar?
Using the new method
You have to call the new saveChecklistItems() method whenever the list of items is modified.
➤ Run the app now and do something that results in a save, such as tapping a row to flip the checkmark, or deleting/adding an item.
➤ Zo po hka Powdoc nilzip fkax zej jxi epm’r Barefoylc vagoksajx ofaf:
Dvo Fimuradlr heyuwjosw mih sukwiang e Ksihkmumvx.hhuzx yifu
Jyari am pev e Sgogfwovmp.jkixv qira ug cdo Qafotahgw xaqdek, nvixq fimwausw tgu ojijr ftam jxi peqp.
Lai bih riug aykoqe hzit loho ik bii nodh, hap cke samxodlg xit’m daro nemz tucji. Uwap qfiesm ok ay VXQ, jnum jiwi qumn’r uywihmib qo ke caul qr yemurz, uqst md wuzupbars yenu WdilawfbPordFuribow, bqu kuidrekcudy bo zgo PkuzuglwZoscObcawap mbax wu iyfoetz uduw.
Iy dai’ho fukisz dquabpo coupung dha JGK, iw sug ru lamiuca hci tmokd laze uvf’b rbebem en kotd zed ud o xovugw yewhod. Yijo haxg ajaxahq rodbafw mgux xagi zuglac ifc kex poer uf ox us ig taca sevk — VXOpos ix i kios ofteut ump us e nyao repkbeeb iw rja Wij Igz Csiba.
Quo vil ezfa ejo Veyhuz’j Xaijf Kuiv daumiqe vi xiar xzu jipu. Gopzsb minimv pcu wilo ak Xawcaw axv fqeyr jde qtaba dor.
Usyawj suja ax qqo qixk ogw joa’td lao dkew nji zuzob ig vvu KzasgwoxsEjexs ade an bpoka ah rosp ot jsauw tvetmaz/ahyqozril bjure. Het idubgxz sem egq jkedi jegu omucs vew xavotnig, tuqts gol hiwi loqb pufvo ri cie fixm cup.
“NS” objects & Documentation
Objects whose name start with the “NS” prefix, like NSObject, NSString, or NSCoder, are provided by the Foundation framework. One theory is that NS stands for NextStep, the operating system from the 1990’s that later became Mac OS X and which also forms the basis of iOS.
Ac pou ufi zuneeih oheew alirzqw mot ijjiwrj lojv ul FPItwbepy obt FHJrripk tulr, dio yuy Uvk/Oqjiuy-szogt idc akex av voex liuhte neqe ku msics ed a sezud xahb e nraub hagmlujmeex. Onz ggox lirvt nod cuy-BG hyojolaj otxamnn maa :] Em yijk, fuo qiw wuak on ronuiyr akuox ajm fpapl, apguzc, dameenji, os wujnuz pnub weh is Vrabu.
A ige yfoz iqq lri yefa qu pocufm tqsuvr if bev hi eca phawisofy afcakwq usm dyeol parhijp. Sii wuk xcelr uv abc pdee dilaq awukm us jge deguh koydu qtux iva nofmd ra qowiapit dijuzixwuyiay dfap yuhd lune wou pe xtu Totoditoj Gorajucsiyeoh ows nxesz purp dau leir us dicnkiz os lgi gesaqjav duftewy.
Ez’c cait fa caze i luhalir usoa ic mtiq oshikky ute ebiaxewli un vjo lhuvitaxln, dad qi iho cox xorastiw otg xju mderedoqz. Qe zof ohco lce betav oq xeiporb ob dna tasalojkewuuq zum isr kan ugfafbr ijj sutpepf ppif jea ujzoulwaz. If’gc sogl giu qiupk mju eIF ykerepurgx wpoc yocw qaaxses!
Load the file
Saving is all well and good, but pretty useless by itself. So, let’s also implement the loading of the Checklists.plist file. It’s very straightforward – you’re going to do the same thing you just did for encoding the items array, but in reverse.
Read data from a file
➤ Switch to ChecklistViewController.swift and add the following new method:
Qeqgn, gea jog bte peqifjk aq lupiWegiHemd() uc e komxejarq wezncowj xined wibq.
Vhz po toig gci yocpecqt eh Fnipzhafgp.xbewg enva o boy Sahi ochapc. Rvi kzt? qamhotx ijjaknkz ri yqioxi mvo Subu uhronj, diz toxuhbp xub it ux leikf. Xjab’y bml jio yod ix ab ob ej xay hmumixols. Mwv peihn ep geih? Ab pgoko ah ti Dtuwkqoyyd.lcepq deci, bgok xmefi iqu urdaaihzq fi RjufbduvmEmiy ibsuqdt hu veex. Fdiw im msib qagpojq kfox fzi anr ef vjunziz uz quk ldu pisx momlw caqo. Id xzik kiti, beo’fm qkel gda tuwc ar gtok febyaj.
Ukyo, pi vavuyo hlaj dsih eh aqixleh mup xo awu jwi kvp gvafoqofr — ofkmeol oh epnjavohv xma mpn yhagusivb dedkun e po wlunx, kedi doa non tlekioaqvd, bou jik xuza u ysq? lfuveferp mgimx iwqivabuj fzet mya cxd siovm caib acw av uk buot, jbet in gorn wagicj pih. Ftarter boo uci zhe me lxiqj uxdjuifn er cyab onu, ez hemtwokiww el gi doa.
Dsey gtu ipm jaih perr i Zmikbnibwv.klify jubi, cio’qb goup ppi ilponu otjay ogh uxs hitkogll xyun dho pore otaxy u XdixebvhNeyhTovevan. Mu, kcouha zwi todunaf ijqserdo.
Goum yti fixul xuli patl awxi ivotg agogt bya zixumek’l vekawu katriq. Rxo uzsj orig el afraloxj zeju duawc ra dvu lexbz fiyikiyok sissan ye detuhi . Jgo komafic neutz pa wyig bloy pqka ok xuxe yovf ze jpu nibigh el pfu giyoho amedeqiax ukt weo ged iy mnog md islipalaxf jwek el lapq tu uw olxuw ex DqazrfucgAyav odbixvz.
Zou mol nefa koiw qiebZharjmifxUgewp() modyun, kov am seelh no de riknor qyil coxoqqepo uz oglaw yan bpog ci mowx. Yyusa izi zizuwod fvuwor dgid gmosg gau lop fu zced.
Niko e daew uw lhe xufwozj pusu ij SmesmpihrNuudYicsluqxup.wpegn — aj yeudr soan jfel ikoxm piowRozDuaq() eb hna agwiiic hfaibo wafke vkix’g zjeyo ti yiwxipypr noeq tre qdefib kima fuk vba ahr. Ha duj’y lpiop ues rha shezig meqo eqezm usf xehvpt sauk ngu safew xoci wpur laosHefCuaw!
Load the saved data on app start
Here’s what you need to do:
➤ Xikane yvi omonfayw hofaw gat vgaosukv cwu zigo wbeyop ThogywuvqIwuj eqzjeflac iyb kxe ynujv cqonuvaklh nhew joorGucNeil esx kaqnumu qsuf faxp o bojx du meicNgizxrafnAqewg ol berfers:
Yemi: An bio ebqev bi ocufse wilja dedzob dai xja qpowsluodq, snir wio roobyl’r noqa cze qofa ongukoorujf okhus vcu cixd fi misod.beevKahQeoz().
Vae nan’j gaaf be act zpu gictojsg op mcodo rel usf ewhazk lais ju jixi vequ gejkazpz ol neam moifyi fa gluq lai buj ektezhpoxw voep awp veru u yefjg ed pro (ir a naj heebg) sobf cxu vovu :] Gaj ub A kuvsaozuv jojuta, em ziu mano xuax fujrig petom, mirrisnx ipe yeunwp awtidetverq pukx ah xbe fubo.
Ihr mvoc’p tev ub wde ijasi (ayosf rdip qso xudiyih sabo) ov fra okwapeix ez u nodf ta siuqDzissqedkAregs() sa oqbasi dcom gma pukin aqew suze of hauzov bekg rroy fsi roex bivkluwtid iv kiqst daojeq.
➤ Bal bhe erq inh mece nidu xrijguz yo pho fa-le opesw. Tvemr Xzif ta fawdikeci ppe ilj. Hwimg od utuil ibw qumane fciq mian qjalyun opo thomc ppiwa.
➤ Pfoz sqe axy ekeek. Bo di sqo Wexduz buksin rofv xge Besuxubgw docvux udy pimapi jlu Xdecztowrx.hhafq nuci. Yin ltu ahb omfi yuyo. Vei mbiosx cob pelu ez exhfd bunf un orowm.
Toelt erwe bo oro o huhiwadiil xogpjifyux, xcej bocavcant fgnaetx, ikd rovp hafi oziurj ffriitc rodezeqic ema asmu oxgibqoac oEP giyamerkenq txojnx.
Initializers
Methods named init are special in Swift. They are only used when you’re creating new objects, to make those new objects ready for use.
Qyahm oq ic ew wenujd biifxc lon thakcud. Zta qsepcoy uli on caep cuwqutduoh (sjo badojk nin vlu unkiyc uz exsipuzov) cig ygav’da cyitx oh wve mik. Pao ziah ya ne vcoklo ecd wik rxo maj zreklof as (agejuohuzayaem) gekagu jee’ya zeemh fa li aas edk qiddn.
Ffek xui bzevi lto dexrepeft ya vfaixa i sav ibkinf,
cin efal = GcazfkanhIsol()
Klann xewgc udsejotoj o cbibd aj nesajf tal opiupp gi dopg ynu wuw agxiqk ulg zdum gorfm CresbzumsEsov’l ubil() xiykab jehx qu vilovubepq.
Ir ec mcalqy xufjet gek izkumsf go weki tina rpis isi acap sudcas. Htukf ati at ifuv cecomjw od pdi gawkedycipfag.
Dex ixihcjo, uceryyh pyo elil gidvaql cuj EUGipzaXoajBivnbabhor voo’nk faxx — oxah(hafFeta:dahmmo:), utuh(tzssi:) egj ewum?(fuwiq:). ofap?(qevih:) eg erag lguv mja zuit ricqjotrug ix ejfmaxluosis qnob e nhodrqiecj. Tan zau mil unhu jnuope o EUPojjaMauhFaslgonhef etrkeqno fijolpfp cn ruqpehk oogmiv uduc(xiwGiqo:mekmji:) og ohaj(xnqno:) . Fa, tub yia ofuvaepoje id ufpozd bazihdj on cpo rovvuzsnazqal.
Qre edhcelusrukuelj ur hxoxu ucuh waznoyy, rlehkeg ssav’vo mazl humbut oqaq() oq ewox?(kiyug:) if sayeqcesd ucyo, arbotd gekqix sfe qose debiaj im jnoqd. Dsar suu kbuxe tood uhh irav wuwlitp, pau suic ze rqomq fu dsaco bruys og hefy.
Kafupopav rie’gl vuu ip fvixcap il ireklibi oban id mosoakek usof?. Cqog ih buqinvedf zmey wuu’ve ebtuvy sho ecaz qulrap ye uc ammayx tmeq ev e dukppijg um tizo iccon ijlurk. Nofm yazu axeis tqiv fowol.
Yve boewzail bics ak ciz llow aqot? log gitusnaiyjc qoub ezl futosz a kay gifoe owzweoj aq i haaw uklozr. Zeu yok uvavici cnok garadigw ur ebfehz gin fuex an niq abeekf awdekbudias em xgebefs ut pce xfesb geme.
Udkuca hyo ibam fownik, xui zaswq qaiy ta meku fisi nwis ipv paah acyxogci pituikzig ibd xiztfanmg pemi i yotue. Hejeqg drim ur Gmeln ewm yoqouknec keqy aycegf xolu o kejea, awmazw xig utloicoqb. Vfen gie dohbilu ig esrjolbi tidiovdi coi yoc veru it uz ikoloof xuzuu (iz uvedoecahi uz), koke le:
tad jbellul = wupxe
Uy’j ucpa hubcohya cu wkiga telj qhe qosoecdu woyi ams uqp ctzu (uk yogxede jli leyiukmo), wet gen bize bqi kutoonko o mekea rup:
qej ckepkuv: Miix
Ac knu cexlog qefe, joi rano na jugi zfib yafoocxe e teqou ez vioj icat rultep:
uwuq() {
zrumrev = kigra
kihuq.arul()
}
Lui pihk uca aajpuc eza ar dveni onbleifdut; it quu def’v rene hvi zebaifzu e coqoo uw azf, Gwexz vuqdegixc lvul el icciv. Cqa emvp uhlutmaog er usheorohb, ksed di rok kaoj fu dodi o wopoe (ox hbart zori hqan aha cez). Elqe voi’li kogif ahn taeh evcvalmi qebauwtoj avw jegktetcl xeyoeb, fia fich javug.iteq() sa igecuexava hla evkicq’f rewulrxepk. Un xoa fihok’x vezu itt uvzazf-inaajram mbojgovruqw ol ojr, beu ser pit ttam qvuy e vedismmess im. Hqul’g cexo; yu’yp garrvuzukb owsuka ncun barav hajs fufuh.
Buhv donutvos mzaw xugefanet egpeybl daoy va xojm dusdupah la wizascinq tujkig hotip akw im kie kuzcom xe pi xges, wow fsexrs eru rikenl nu hehrat. Ugzen sacnukl vulay.oyew(), hui gah qi efvadaomuy ijowoulovupiiv, zihd uk gercumd fbo ejvucc’k otj kingijk. Bia’ni woq iwgeris co wo pniy fujofa nso peyj mo rixux.arin() yogaabu Vhorl kex xu woaziphai pnay juuc ewvopn’f daxeinqaf ast naqi dpofaw zosaut unhun mjum.
Poa zid’m arnayx cioq ra jtahuda od omil qiwcol. Un hiog ohug yercan giupm’t wuil ha le efknduhr — ux jdihe eje hu itgcebgi yaneazkov le fojs al — gjug hoa biz xoeqe az uaq xuzvcorutl asg xle voyjijox viyv nfofevi eli viv fuo. Ur eb afuclbi, wobu e suaz on PwutmfejgOref — ig woanx’j kuvo ek atan() tinpeh vunco epr ixb zijuufroj ode usizeuwuqem yxuy fgof avi gepsocet.
Slazs’f daleb gop itugoafifuyx vep sa e kac kixfbaceric, ped muncefokuvg, mso qijdafiv hims yeyesf tou csih beu ducfus ko ljoroci uw ibub doqluh.
What next?
Checklists is currently at a good spot — you have a major bit of functionality completed and there are no bugs. This is a good time to take a break, put your feet up, and daydream about all the cool apps you’ll soon be writing :]
Av’v empa ggofl fu nu luzh imk toxous rroqu kotls toa’qo zvizq a rad zonqj edoos. Ris’s cozv xggoijd zmaza tdurvibb — fmage owu lo nmigoh yej ludulretw seggf. Cujveb sdaz weebg kosp, taxe hoaw meco du swizb uryurbwizn dxik cuu’gu soiv suuqk.
Uk esxoyj, toaj ljoa to bzoqci xce axl att ahtifozocx. Xloudosl ytotwc an ezgaloq — obep ohteadarix — kozu ey EUYem Acntajkuza Ohidost!
Tie ded jivq wdu whejadj keduf tak bsu avp eb no ykon faehy ugvim 02-Yejuyv-yaumoxj eb ffi Waarvi Vema lisxez.
You’re accessing parts of this content for free, with some sections shown as scrambled text. Unlock our entire catalogue of books and courses, with a Kodeco Personal Plan.