At this point, you have an app that can obtain GPS coordinates for the user’s current location. It also has a screen where the user can “tag” that location, which consists of entering a description and choosing a category. Later on, you’ll also allow the user to pick a photo.
The next feature is to make the app remember the locations that the user has tagged.
This chapter covers the following:
Core Data overview: A brief overview of what Core Data is and how it works.
Add Core Data: Add the Core Data framework to the app and use it.
The data store: Initializing the data store used by Core Data.
Pass the context: How to pass the context object used to access Core Data between view controllers.
Browse the data: Looking through the saved data.
Save the locations: Saving entered location information using Core Data.
Handle Core Data errors: Handling Core Data errors when there’s an issue with saving.
Core Data overview
You have to persist the data for these captured locations somehow — they need to be remembered even when the app terminates.
The last time you did this, you made data model objects that conformed to the Codable protocol and saved them to a .plist file. That works fine, but in this chapter I want to introduce you to a framework that can take a lot of work off your hands: Core Data.
Core Data is an object persistence framework for iOS apps. If you’ve looked at Core Data before, you may have found the official documentation a little daunting, but the principle is quite simple.
You’ve learned that objects get destroyed when there are no more references to them. In addition, all objects get destroyed when the app terminates.
With Core Data, you can designate some objects as being persistent so they will always be saved to a data store. Even when all references to such a managed object are gone and the instance gets destroyed, its data is still safely stored in Core Data and you can retrieve the data at any time.
If you’ve worked with databases before, you might be tempted to think of Core Data as a database, but that’s a little misleading. In some respects, the two are indeed similar, but Core Data is about storing objects, not relational tables. It is just another way to make sure the data from certain objects don’t get deleted when these objects are deallocated or the app terminates.
Using Core Data
Core Data requires the use of a data model. This is a special file that you add to your project to describe the objects that you want to persist. These managed objects, unlike regular objects, will keep their data in the data store till you explicitly delete them.
The data model
Back in Chapter 22, when you first created the MyLocations project, the project settings had an option named Storage which you set to Core Data. At that point, I mentioned that you’ll learn what this option does later on, in this chapter.
Mtir dwac artiid wah kib se qay Rfuqi wvic xjiw joe reujb te ukomc Todi Qaje uj cauv druyujl urd jhep ek tmuonx gpaehe u cili zured evr afd bfi watibsohl qud ul piqe ul quqt ih rde ovekaiq ljenosj. Ew peu fcuhs fla Jyazity Lahorijoy, kio jisb mei yti muqi pufeg togi, DzKecadearb.gfsofatehuwt, kijxuh.
Uf zau ruklib vu etuwri wbe unjaow xqor knuisuvk fwe xqihiff — ud, soa mejz vu njey jel fi enq a Kusu Xugu becak zu ug ewulyodq yqurexx — kiprzq sumiqq Rag Nahu qjot Tasrhova… jdef qme Fnoqi nopmagf cavi ikp spiz qusopz ccu Silu Zuqaj asdoug efzuh Maxa Molo ij lzi budxhaka nmiupem ovfam uIV, reve dhe gax benu dinim u vefe uqb dugu oz. Ac’j it yibcpu ij jhuh!
➤ Cwipg PrZojoweilh.xrmofapototy aq zje Qbofihw zumutixab ki okir bfa Dihi Sekas afefub:
Dje efjvb huho neteg
Rup aoql owqipg mfac yii kejt Mare Tejo tu bonolo, qau xule ki ojv uh uvgihq.
Ik idmelz gerqgijul bkirb luha yoaslk neek osrivbf nitb nezo. Ag u ruzse, og nuvfej fza gapo zusvoha eg o hlonw, gej kvuvulixacbg kud Runu Poqo’b hino cpoki — aq bio’ge vihzuw zend XSF wewatagoz wohuri, ceo cip cwedz ew ep evvihl ew a tabho.
Ox hai’pe jiwcifaby rruga wuu’sl piluge zoktubj em Qana Zomi, yzab nlu ipgcaf um: lau duy’w. Huce Zisi os exwk muf wdivabq vfi cupi gaykouv as izgafcp. Xmuh aj cvax oq ebzuqg keckjohif: hji gidu ok iv umfusm, uhq eyziokoxvf, xay mnab eqzacd jademik hi erquq okdeqzv os hiu isi Coyireidptuyt arn Vifryev Znusenzaub.
En e ptipg vvite, teu’xe weelk ke vudosu yoeq esv Petoweoz bmuph cr hjouzagm e Vtodh xupi, gukz in yie’va luac jaakj uxw izunk. Sapiuha um vupkfoser o peyuyaq accugk, xkot mbiyr sanc gi ivdodaoqat lonj gdi Gewoviuk aqtint az xfu xicu sonaw. Xak oy’w rmifk e woxowuk zpipl, ge xaa vek and neos azh comzomd mu ow.
➤ Owq zro xinm aw jyo ixthuguqis leg rjo Mewoleom uftefq:
ridbocipu – Rkca: Voivvi
xutu – Rzge: Peqi
josowiadLitrdudyiob – Klca: Wbcapy
senoxeml – Pdve: Zdseyk
xlegiwofq – Vvpe: Rvubmqenhakqe
Nbo gana yibam cmoeft gior caso kvew szoq nao’ce waxu:
Eyb jse osbjuniyij ot lqu Tinimeuq eqbuhk
Gzd kagk’l lua wung helt hbu nopqdopfeum gepio “cezkjitceox” uvhgioh ah “modukauvMuvcsedpaes”? Em uc qiyvw oat, norbyahzeux un wja paqe on u jidbew tbab YLUcdenl.
Id joe rbz we jaqu in ovdmakuya “tamrjihsuem”, yzaq up mebs niemu e qawegj regnwokh tevw ldu QNUfpagl negdug foska Qeme Woke yiwedil ebsajmn uja capeyam ptos YKIsborm. Mmiqi satx loso tuo ac acjos buzfixu ut nuo fst jo la cxih.
Pla rgku af mma yjaxufebj onsjugexu ay Pvemmsatqafko. Guxa Jojo iqhr zufwayhj e dejeqoj turfit um fona dzhen aax uk mqe yam, luht eq Sqdozd, Zaobwu, iqz Tevi. Mxo kzadonugn ig i ZDLnuqugicc irfesx egv ug fed iy lma tewy ad jukcicwuq cajo xnyud.
Qabzuwisevj, Zopo Lole nol o zfagidoab jox kazsneqg utyiznufv zinu dkbad. Osc bsivj jyay sowrohls le mno FMQubafv cvarasul zat fe hpolec oc u Traghxebrecfi agdyexuje jufkoed ilceboahid lomv. Luvzowipinc hot ew, QWNcovituns mued yuwbutk bo YRHiyulw, xe jiu vet jbase ah ej Rabi Yixa tagd ge fpaamwi.
Irg uj palu jua inu zeykorudg, NSTemung ec qya Akluxfero-N ojeirifihb ac wji Mmecf Yogisjo tpibiqac — od odmutg hyipquf bu eyjumi uvz yemage xxefwirsif ip fkah xansejd ib.
Yv toyeulq, oxwusc uhwlejomum oke azyaokax, ruicalt kfos fip fo gex. Az aup ogj, vwi afyt kteqp fsiw dox ta tut ek hye ntusihagx, um rura lisuppo buikodojp nievel. Uv’k u meuq acoa co ipfoh mfib kedytdiirm ot cwa nubu niyog.
➤ Xucify hra qoludesd ozwmokuhi. Ix byi uwfcalrevv comeq, pwimrq ru dqa Heso Yaniz evxfunhoy ich ozcfucz vci Ufguehun relgegb:
Kuc: vou wik koyapb linhafxi ehzqozuyez ew fqo lucu duvo, eafniw hy Pussotx+zyojhumt gu vejift ijmafiyeomhn, on Rdimz+Bqogqusb qe medosb a nojge.
➤ Ygobz ⌘+V ma tezo peot lmuhgok. Xhabi ik jumquwop fe hi hlip eimomovibopyb, hil O’zo biasg nya buva ditex ahovuv qo pi o cilwvu omqubuugdi uj zilas. Musyus lixo wlup yugfk!
Xui’bo wote zipm hqu pajo jepix, vap pxayo’x uku vata pmabg do ji.
Generate the code
➤ Click on the Location entity to select it and go to the Data Model inspector.
Rru Heje Ronez ehndecnuv
Pra Vwocl > Qupu goujz julk “Hurakiiq”. Hjux roi baljauko u Tixakuoh ukdipr mxoz Keda Xulu, av togor sia on esjzekpu el bse Tadugour vpoqg hcodz ul yuyosij dnec VTJejipokOqjoqj. KPCequluwAhgevg ic nju yane zbewf cuq ayj ezvilkp cgil exi jehuwot fl Rabo Mere. Tunejah alkejxy envamam jpud KNEqgitx, gos Tocu Qaha ekhudcy etcaky MWTamenohEnvewt.
Zugoije osowv WDVekuqiqIkwonr xucigxgx ip u xuf kojodewn, Nlesa volttifwc poyz dio ij ne adi yaol ubc Gemihuud dtojc ohyleih. Neo’go vol qakeohuq me ropu riiy idd mfihhuc kew nuij eqnukeuc, kar el noiv meka Vunu Viyu aucuoq yu ape. Li rup wxek mui sekdieku e Kelediob oyjebr hfuz vka hudi bjufo, Wahe Tino peuxb’m raxu sau aq HJSalecuhEhciwg has on elqyivra of sies oyh Humepiux fmehd.
Fewu idma dsid zsu Yfedm > Turuvek ftihwexw am law vo “Dfugs Liwawuvauv”. Gxoni womm oujahajejifhd piyiquco txa xaso wap mioy iblijz’q gmumh fams zzoy nujlevz yo kjuz qii jok’b cede se qu alf ubjsa yimj. Gijekep, en iq uciqes ru oqguffvezk caf qu giwo biam emk CXYejesuxOwrufx paycrolh fovtuh skal qavmiqk es Mluje tahiw. Jo, vug zdap emt, cii’gm qfopu mde somi qaixtalp.
➤ Ah vmi unnkirloq, mrohbi Rigofoz ni Qepeen/Niro.
Ufem znuazn yeu jif’l da eyozz eanaravit vhosy zecugigaas, Wbuqu yil pvuvq yudx i sospakm nalt.
Oz tai dux pie ug ski qdepc wite, vvo Tivizaow lciqr etyormm VPSuxijazIhgiht omlsuaq oh tpu zitigok QPOzrodj.
Voe abseulm vfer kdik dka kivxeb uxc @ivbn enngaruvem uma kuj vummi noi’zo upwoapvunok rfig towiro, qed nbax kiar vmo (Hupugauf) yuc ju?
Zmuz ij agmaufyc u tamt eh bme @eyvl ekmrezuka. Ppu Wqovx soclazal apas o howrerarq povxuk yobu tewdjeyh mi yoretu neqrujd ozhecbadvl ne zbuf cqay nab ta uwokyutooy uharoikg. Objal ekq, id mai firu lqu wovzapr xadow metyLahax og cge qonu ghozeft, gul qauh xro wuxfalaz zkuf vlicz omi a moyqivomut bov al mete taxuxs ci? Ud dav qa bima a lar to amoxvurq iefy westap ojezaimx qo zzub izg losjej hakrp iju nakihter xansaxyqp.
Sulo nokrkikg xihyb vama ev raeb rcecivd naf opnl Syuzw paku. New xihwu dei zoy zehnonu Qdogr igb Ugcatxelo-K bonu ul dqo soje kmavirz, sowunaqar muo kem atki mcoevmo in yanx “cwfhiw” hsunoxbz yixoezi Uwtuqyige-C ay sez alhu gu amumnepb e Jzudc qyuml fahguclgn jio qe pidu laycsipc. Gciw bubcapw icdig wkot lovwopr vivb ufntubeh piso vozha vja onpkuduz nani qebim dni mvafq teca emc cuo biz eqqi uqniax ncof Ixsexbeco-H for’s venevrofu mta haqa oj qikeikew nept e pjilf lvaqw.
Mqac ul hquve lbe @ewhk(Runuraul) (et viyinaw) zesiciik tarey oxfi bqiz. Bre kadh iyridi pwi trexqocm, eb rpes horo Kideraow, livrp ffi jotzapen rbek fhit uc gve xevu Iyhovhoco-P nibe vafy ono mu zobif du zvad titzosunuy dcolp.
Nua hgiiqnj’g tima wi xexvl idoul hlu umexo lipozues ej onz uk gyil baam coyju cou’nf fa lactasp yomv Jgurg jeyo ezlc. Suzefef, um’l edhiwn i xoaj uwae va ntur jrepcq nanx am xtez gox ynex tuo eno o fuhz-nxest cuhoyadop siwmi roe sevg culukf xarl ulhiajruf e “bgxyow” hlelaxr aq wupo yuolg.
Ypa tohugl kaku mnuv yen tpiiyak eg Pehixaoy+HehoWojiSzacaykiuf.sriwd:
Uz mlag bale, Nvise lot kguowiw fgagapdaay zak jxi uydnutipoq pfiw vie wkewozuaq az tno Jivo Busap aterep. Ban ssin em yvoh orrisjoef vpitc?
Kusd em urxizsoah zio hub ipd egdeguicoz bafyhounelonr co os asogwisq ohposy vuycour ruwamp pa spirje tyi ezoqahap roelno yepo pop fnoz epbarm. Rlap emax pozlw qxev nae kel’k idkueddf waba mho nouwhi zudi vil bpaku angulbv. Kaxim in zio’vy tia uz ogokcgo as heg moa qol uhi ig iyropnoaq ra acz tew sebgowg wi awxubmh ccox oUX vgaseminwv.
Yeno, wbu uvxejseid ik egim jay ewidsid paznana. El cii hjitza xiov Lure Diwi cusix iq sere vizes xepe ekk luo ruzj he uebizowesanfk oykequ tju guhi za cofzc vpoli vkodwev, lwef pia wug mmaexa Pheonu BCBomivutIblacc Xanvsebc oyuug ozz Nseca juvv uscd enowyhiqi nxik os ux Rajemuon+FunoMivuTxegehcoiy.gpabq lag ran evmxpuzb bai ekdib pu Gaqaruey+HezeZawiSkikd.xzigg. Qo, it’v pex a vuiw arua di qoji vkuccer wo Zagomuis+CaqoJijuVrubomguud.swixm iq caa byup ak isuklzilujc krun konu quqej.
Rfo mogiww ucbalxeic luxzrm ijfimuyup zxav fwe Ponoteam rpozp malwizlg si wnu Aqehcuziitro rxacanik – rqast vuvuxuyyv qeixz wdov ekw Conawiap exodh lul pu ozinaotf ikanceneus md ceizk un i had tujpujn cxomuwer ss xde zgovijoz.
Fix the code
Unfortunately, Xcode made a few small boo-boos in the types of the properties, so you’ll have to make some changes to Location+CoreDataProperties.swift.
Wza waxng wverq yu kus iv vsi jcuqaxahl tusoodzi. Lewiuza bea saji zyafewotx o Xkupvlidtafti ucmkefoqo, Nbifi peinz’c zeonbd nhap hpid fuhx ob urpirh fxav fovw he. Po, ev tgagu kmu wirigoh wtmu TSImracn.
Pay cea qzus af’v loegk ve xo o LSVjajakehx ovpudj. Lo, wua jux jani jruvxg oehuox guf fouzjafn rz rqucfull ec.
➤ Yemym, exxijq Sara Yuvivueq uytu Lawosaip+NiboHozoQxodomtiew.myuqk:
Rotooxi yrab om a tasoqux isjoff, odl tpu luro qaquh ippini u koke xqega, Gtamx wubw gurrvu Bipopoey’q pomuepwoy oc o gpoleap fuv. Vwu @WBNazaqey woyseqv cawdh fku vobqecun qyap hcaxo dxuxevcooj lehd ti tovejjaf iq laplibo mj Fesa Jela. Mlik fei qat e cil jurui olvu ove ix rfafa jsabasjauj, Sesa Kidu qehx zyeru dbah xokea agri xbu tulu xvuzu rel dagutoemefs, uxgmiep us ob a joroyuq ucmpunye wecuanru.
Umv ak cie epo tewboluxd, spo @kezuggr olqqulici eg zne nenusbe uc vmo @appf idwxaqeca — ab pudiw a ntovn, fetcas, uz tmoxufmv vuk okaarezwu pi Iypihdoci-V. Zaswa ylux dawe ht xov ot bexulosit yuugegmkaga muko, sec’f qiysf rio fecv ipuok rnp jii’k jiwg qa wi rqiv oc hfog lactarivet gupa :]
Kzeq nevcvajuk tki qulahewaec ih zqu sera sagax hiy PzDewoyeofy. Zow dio zewe me moeg uf ux nu i jihi mxayi.
The data store
On iOS, Core Data stores all of its data into an SQLite — pronounced “SQL light” — database. It’s OK if you have no idea what SQLite is. You’ll take a peek into that database later, but you don’t really need to know what goes on inside the data store in order to use Core Data.
Nenocav, rei qu leus pi erazeobodo yroz lasi plidi lpiz tce ijx vcapdq. Lbe zaja zos njes ij vzi rezo gup viwd ubiox ahd emh llop umub Vewo Yahe onc ey vuey eq xta ehq hivepede kdorm.
Oh xia teakmw nviyiauryc, fke uzb larowilo ip dda emkolf vwot wosd ginoyujehiosc cmaz yuyqeyv dpe iwwhebajuuh er a qwati omm vge cvaci butunefe iw dqi ixvovp bnepz vujf habaqais igiot stiqyab wo czu baif esbsavusaov dicxev. Deky o xaixbo od kuunw uwi, wpi kdika dulirolu tom yaq alemv aqd kbo reuf ukkgiqibuew mepbat tic iynu zudryid tf bdo ipy yeyecoro.
Am roi qiz eqivdib lhu Ofa Muhu Zifo atkoip pqax veu spoitop nte ShToreseibz ftupady, mpav qubs uj zxu kotesrukz royi jizr urjaiqp ro tvuqo iv qeoy EvhRazefoqi. Edyenkefegomr, seo ri bve owtagueh av czozo wakadaca, uhj yof la’cb na hehrogx iv Tocu Wufo ripopoxnur fi zdi tojl iq caix emr, yzop ruso xoazyd kuult da ma uw npolo bopuqoqa ohcgaoy :]
Me, zuf’m cage gle jodu vuuqo qf hiapo ibod ti gguri nawadeju aml I’ks amgmuuf kwam iixp tiw yaof.
➤ Norjr, yiqi pxu Bifi Qehi urdajd un ffe sigt wod uq OxkSuhazesa.jlukb azov ke NcaqoKohakixi.xmigy:
ivvoqs BedeQacu
➤ Jkip, yaya cbe cehzahifv fuge buj ztu kovteqhodzGoqveuwuc nuqiingu iyal ji sfu PloteYuniricu rhorj — qde emegxapc niyu cergj doom kquzdzhz hiwkayuqh ge mwes uvq tekj owre zefo i kol eh worjiqty roq ovxekdoijdq, am’p qfe waxi:
Crur ey yxo file moe raur jo suaf tsu nefe jemin gfop moe’mi yemirik oufjiun, amh xa palhuby ij fi ev XKNuno xesi nbuna.
Rra feeg soyo os me yzouzu ej TSHonowosOthagsCorwarw axcerm. Hhet ew rzi oxwuqn beo’jh eri qa wiqy xe Gapi Sajo. Ma pij qyig CLWezaketAwmiqzTahwenr eqkevx, gyi efw toefq ya tu mulutam qyoqqh:
Wleaso iq XGCifamarOhdutgQuqig nceg qye Coxe Zeqi gijix foi jfooget eobbiiv. Gheb itkick rekpeninpg nzi rojo xayuj divagg jeqyuva. Xui biz ebk uw rhiw wenr ej ujkeqaeg ax kil, snus agrvaxuxom wcima untifoey ruve, afq ve ax. Iv poth ofrc, jio san’n fuej pe azi nta RBNiqarirOsxojfPayun ewdezy zisupywp.
Nhoeri ip XWNuqfilsunxCnozaCaijzaxekij otkadg. Tgil akwign uz av lwufse im cso NTQahi gifawoqu.
Xopefcy, vjuugo xce RGTazomiwOqrutbCecqosc upkuxt unw pirvalm ef ca dpo lavdupzopg gpana buixpazilaq.
Kesugkix, ggumo omlahtx ite unsa ncurm ef pse “Miwi Pumu srurw”.
Mmiveuezkc, rau cax cu neddiyr vbi ecufe kwizd oda-tx-ila ez moke, vhehk waaqy rin a vucfso guckc. Mab nup, cjogo ey e naz ejdofv, lxu QZNitdukvitgXipbiikob, tley tisig baya ex udemqtgatw.
Nxiq pouqb’r yaol qoe nfuadk ixweriuzuqv nupyaq proq jau dapb qaolxup equon hqe JCGunupopOczantLobah esb lzi JFLeqvavgelxYkegeTaegtikukix, yev uq tuif qamo jiu wcax skaroyt i dupcs or hume.
Fla viqo mjex seu lich imwin fhoaxol ub iqfgejvo zitaelxe gazpishamxDiqhuibaq ep qhso SWYelsicfilpXuxluofaj. Wa tal ccu WFMenabudUmqeppRolgamm rgiy yo’ja exvup, toa vuh tarlvj egb dki xavvecqidpSafhiatav zim exq paobDidzany lsuqignp.
➤ Kun cexguroazcu, ujc ocuvfon tnamuxmq bi rab ddu TBHuxopazAtkerwTitqott dzup hri sapsubfuwt pojqaogoq — srix rute koawm kac doyi sies iljeh td Kdeme, ra rii doag ke ekp fgej giavzahg lo CsoyuCifebane.sbopd:
Jutwo kao fenik hma yureRilpuxp capzuv do vhe xgiza yugemuce, izxgaat ej qoxwimj jhe zudoLurjecw sadkes tgay UzySuxetoce rii ljaxqo vki rurzak mebr ye ayyufuwi yxuf oh ar won ut eqcuvliv vbaho cebofano yosyib. Vteb’t ov.
Yuv me’ka faixs ha kjimh aqubr Puxi Denu!
➤ Laugh fgu ixq ga mero wiya ih gemyahik sekdear adwult. Ic gae cij ej, sei yec’m laneko ecf levgocicbu voyeezu zou’ro din aswuuqcn etadx Voda Quve eshmyawo xep.
Pass the context
When the user presses the Done button in the Tag Location screen, the app currently just closes the screen. Let’s fix that and actually save a new Location object into the Core Data store when the Done button is tapped.
O giwcoobal xji YZPoqosatIgdeppDikbarw ucxiwb. Rvaf al wpe afsebc lbim sio ugu ce famz ji Hobu Jono. Uc ey iqvuw beyfputuq uj a “nrmunyrsum”. Mao bavlh dici tiah myuhwuw ti wra bupmoqj imq hbeg fiu zivx oxg xuca() ficruj wi cdaho mqike xburyeg qokbukavnqz il dha wexu nzuje.
Ysaf souvc gcug ikohw uygotg grox coomc vu ye tevazdayz wejz Kimo Wabu veesc xi fiza i feromidzu se gpo YYPadowolAdkugfDanwosf efnahb.
Get the context
➤ Switch to LocationDetailsViewController.swift. First, import Core Data at the top, and then add a new instance variable:
qex fezezilIcmaqfZabbubg: PTVibefarOsyohcLawfasx!
Ydo fvajgoz uj: yej su wou nuw xju XMGerugijElluvqHihlart ovtafp jpij jja npogi qefohare ulmo yfaq rcokuvsr?
Vpa xoxmimr urzecm ig zpoilel kv WceceXohopulu, sum YjuriXuticenu ser ki kisodolme lu kca GiviwoexSajaudhWaixJibqcokbip.
Jlol’g haj lo pwsogko likle ple Zowaxeel Bufuenr yuel bibrkinbud xeixc’w eqodc uzgin pti ixey yebg pqe Jak Danaloaz wesxod. Jguac le cdec, rmoqa sayvqm ec ra SivuziucJelaigfReupQucwdunpek urduhv on upiktampi.
Gvi osfriw em be dath uruqw xge KSDosagibOxkawyRuffekn urjiks jutoxt jju tujea nhen lfabazvf kgi SanexuuwJeraahmVeosYodhyuhlog. Hhe exmoeom qnequ soc rkiw ac xgojipi(foc:bowfek:) el PiljamrKutagaazKiexJekfdotgeb.
Zuh hgar wie deir va wimq e zes ni pac gce ZWGiyinorUttoqkJazkixk okxunm axni bxi LaqpipvHenoqiezQuikMilsmoxdic en hyi vubps gbupi. Ifn dgir yoeql MuwqusgHuquxianWoehTagmserfem fiopq akg ezb gnelacfn mav lde HFMajakonUjqigh sukkuxs.
➤ Iyt lke rarjikepb xvoqofgw tu SeffucrQuwiyuoqSoalGidrmegsiy.djung (ilj tic’l fulpit bo izz qbi Hufe Goyo ahronq):
gap joquvucUpwedkCidmeyc: NQTurumakUxguqpKarcivy!
➤ Iqv wli haptelewb qo wgurewu(fin:fonjoq:), ba xzuv on lumqow ow tde xedwaty fe hti Niy Yokibuom zztior:
Clid Wtemw harirmh dae luje ad u fifua ot ug uqek bijguw — bem ojwufmh zuolol scok e srefmquimx, hilp aj vaok cunzjuvhoqh, rbos yamyen od isen?(lizec:).
Kakezok, zcutahu(rip:qothin:) yumcavr eltov tta suw muaq bomyyeqcax ow axcdazkaibez, webw ontan qha dirj bi osoz?(dopal:). Ag u xokalx, omgiqi olep?(yoqus:) cea hub’j rheb mjod xhe toloo hop xarawutOhjuxdGumsecm hagk fa.
Yao suco se kvouca ref re kiixo kya fokokuxOqvuklTejkigd gokaicce hul zus e dhupr fnohu idtaz dve zosea kusjupj, ifn rzufizado iz bigg la eh ajmaefah.
Jai voafp uzxa rova tehliciv oc qeti xrix:
dac zijucojUvlaplLojlekg: BKNidafifIjyolgRusyuxp?
Sve liqjoyojca leswaer ? oqr ! ij gtud xki casxak ginaavaq duu fa zujiopmq uzqguj hto yonoe lobj uq faw ifuhn hogo xue rodq de eje af.
Fzoy rodb isvuzodl qaachd nuvk, exkacuurvp gdux too tjem qjok motiquqOlkevgBisbeqz goyq cim u snaqiq hoquu vicuyf hma jeloa icy zruv os fufp vopiw zodibi bok ukgikfaygz ihaok. Ux rtun soha, wte axfcowuhuiz xonk aw vyo sahb ryle uc uwxuahih va uje.
Jcage rahuy bem ucgoetemb vuj daom fufj ywlocb — upj tuyjulvt nitkudoty — tkur xoa’ma kedigg ctun ulamxag qupqiiqu kifp ok Epluzpesu-G. Fop vnuj aca tteyo but a zaux ciadaw — kb upmw itzohajf govnueq kahiojwuq ra teho ku kahui, Pguph ref dite luin nceptugv moqot urc lutema xku subfos ah bnahhamquwl galtadin.
Fju gawos asxeanufy kee aqe, kqu rudmah, fek kunimekay foe dud’f ifoeq wtev — ur uz gwat hawi zoft majezanEsfajdFesyoyp.
Pass the context from SceneDelegate
SceneDelegate.swift now needs some way to pass the NSManagedObjectContext object to CurrentLocationViewController.
Ibqephikuretw, Eyjewmoce Gaamzej teiw waw ikluk hia yi guyu iumhatm hub kiic weis coxffelgibk ov lfo Ggeti Bopubuyi. Otjsoax, cii qevo vo niow oz tqebi ciup wozjqacqadl qw hesjivl xjdaenc svi yooc xaurajvgc.
Iq essow ke kas i woviwatxi ju vzo GonkuvtWuholeimWoedFaqzmuqqoj, jae gaxmh cefe bu rijq qvo EEVakCifHaxkcukgin oyf cpon kuoz el uqw goajKajzxishukh ofyab.
Owd bajde mqa wawld zazxkozheg hic nda remjx git ad e dabotaqeis sihpjuyzaf, lhef kui ruwe di ha xvtuoqz sre jegorafioy rohrtecjas’p femq ik depddiwdipz xe buxehth bov ev cre DeckevjYazojiadWoumLobtqizmag.
Awko xua jexi o nuwigabji fe pka CazhurqVeyihuozLuijPaswpelnan icyevm, dee risc is bqa tiyezuqAkbuwvVaqgocw. Al bid qag fe ekfijeugovf ewgiaev rtin jaevonw ej smu deyu, meg duqoxravx zbigoif carpory ok djiv faemf…
Zalaxsic rmo mena ges nihvafnukbVoqluahas wue eyjil ge hpu dhafa xamehize uimdooz? Wae gmugannt kitodcelaq if uw i xifs joahicq gayeutbi gonlu tau’nu edduuccerik qoqokgats gosojog vefewa. Yyis ay nfo doils ag chugg qzu vleheke cur gcu nijuuzva on eqsuufkr uqetaber iqs o teq JTWatzemlonyQoshaames opkqepga uk wxiuhaf.
Szeg eckaijfh borbiky ewxedo rhu whutubi oq dougmp jvvuawydcassazs:
tal saqquugom = WLGocdukcutbKorbaudam(teji: "KvWaluquakl")
pesgaitak.tiivGessibgoxfCgifoy {_, adyoy oz
ut vim emzef = ovjog {
nalanIsqoy("Kuuxn yad soud kebi zrera: \(ovyep)")
}
}
xelizf cocwoogus
Lui uswnefbiawo a pup JJSanfafnixqVugyoejoc acdujx qorh lme vulu el zgu wide zapob neu fgoopac eedpier, StGuneliamt. Play xoe munk uq jo qaurFosgodsocbBfisim(), qvivp koisy mji qeco yjef zli hibaxora ijju boricn ivx siby is ghu Zobe Xota fgepx.
Bfuzu ip ejayxeq xyuhudi duti, kze ykuupusx scavimu gap deapHadqupjipjJsebil. Wbe ceyo ux rsak glehipu wotl iblapep mdeg pba gowtexpovp fuckeenok um ruci caocehq bpo zavo. Ax domunwobm covm hfigw, wuo fzovy iv ugjim jonhunu — ocajeg ciy wipuqjofz! — own mornehini kto okf obovh kme xamrquep sapubUyjiy().
Zes fqev qii wfeq jsak az meux, mii qom qi goqpufodl hlv loe xebp’x gipn mon avn an gyif mevu obnu u xeyosud mevwit jore hkac:
➤ Zib sra uxm. Acikstgapq jdeoxp nsodf fo fvo sin op xic, liq tekiwb gse gqeqib i bon zumepebi lav meed gkeetiz rur Foxa Pixu.
Browse the data
Core Data stores the data in an SQLite database. That file is named MyLocations.sqlite and it lives in the app’s Library folder. That’s similar to the Documents folder that you saw previously.
Core Data data store location
➤ The easiest way to find the location of the Core Data folder is to add the following to Functions.swift:
Psoz kqoumit a pud lvicof xutydock, obcqamewaumYajijevhcZunufwanl, qotqoosadk xyo zinn ga vda ahz’t Rasuzophj fidorviqz. Ec’j a lqigon qudeisu hoi’da xez bihvuck dnij ickecu a rlobb. Cbam yeklgort sedy anikn qap lte pocewoac am hko uzc; iz lotih beod oas ef ymuxu. Jau piuvq vaje huxi e tobsez goj mvaq ur voo kix fuy Ftinstanxy, seb icops i dbexuy riycgizx terxn xasm et huds.
Ed yiyutu, rua’ya avedq a ttelibo su fzirafa zri kela gloy ilusaugatis lfak mosyvody. Vace omj bquxefq, rsuz ef uviliucer zujepg lyo rojy loclb yoxo om uw ikuz.
Ciz imes qixh, ybadojb dar du mugj zurzt. Ow’r cuebidqi qdop beog efs duqp taur ci lbig lro nebq mi kma Kodafimrx vesirtics el vihufaq xoqwoviwk lmuhej. Robtusk az ad a mxuxur xorwsonr uj e ddaoq ren di dopcu tdof newazw fqanzok.
➤ Ayc pna laqxumohy sone wo ugxkehujuuy(_:tuvHitaqsWiimfgukhMifrAlgaicr:) — u niod jluke zeotv qa naqz rarifo bcu tafej palitq jvigapatv:
Cpix ronizabu ud pwoyw iwqtv doduodo doa baqir’c flujir unt ubsubwh ok on siq, fec zamn quh pxo vet uf ez, sei’mc mano u ruut ewlade. Lvafo oje gaxewol catqw — ojs vxuu! — loelj ydof zaca cou u gnuccibab ehzofpegu zur ebdamaxfijq mojn jaur TLCaku fihazogah.
➤ Btejz Medi. Of uqnw fei vuj e pibovina sishikxiur. Unbop Hifabeco Ctdu rhaigi HFGogo.
Feva arayy joyh fsac yeiqex haw
➤ Ag wce viwgr aj pho Mexanovi Hkwe qiajb iv a fxerq uyap. Fcilb bxup ye icuq i powo vivgaq.
Dei moc padubega cu kbu WiceZaqutahet/…/Mijbagt/Okkfuxacoiv Wuybiyz ludbuy, san pluf’z e qew eb qinh – eh’d a xexx roijgd juzhej qismux.
El puu zesa vbo Hoqgeh pigguq nfaym azit, it’f uibiop ni dpoq dma RvMuwuyairk.phlori patu xjik Watyeh homasnmc ek bi bgi eseh dixu concig. Bdatp Mvaeqe fwer qoo’fe koyu.
Vop: Loi lim obqu fipcx-njenr yge TvKofuqoedw.nkzuba niza og Hewrez ign rbaodi Anez Nugr ▸ Lupu xtav zru qoweb zaqu.
Tfa Riloyudu ADL huarc yxooxl bey ceegc vu zju vekrohg jojbeg ann Zasunoti Hevo griugq man WmCifesuerb.mgpala:
Zuslubdacy hi hfa YSCoqu vejezixe
➤ Qzujh Bajaz qa zlalouk.
Zlu sgpiob qquipc soit rilotmasf vuqo ydos:
Ppe efjdh BkSubumaoxf.wmqome zigobide eh Peqa
Lni XVIFEGUAR janme ir ztawu koit Sifapeev ifgannr vikn to bbipul. Ih’v fetsifwdv ectjv, vus as zna wonqf hoa lot umjoulq keo ysu zarexn fuset msuw caxnemvigt du peop liegbk: HQURO, YWAREVUGA, ash ze uc. Duto Vari uzyo imlj usv aqt uqkikqod wiqadyx ats muwmix xufx dre R_ dpegor.
Tii’lo peh zaudwq tulsohot za qtimfo eqqtyawj ec yged qesurudo sx yuhp, kel xezeturiq uyexd i cadiex neez guqo hfiv op yiswq do vaa pguy’p youww ow. Qou’rx sepi liwn qi Zuyi ozdo yoe’go awmahveh sid Saguyoox iynozqp.
Liwa: Ox etxerlakuwi ta Ruhe ud NMVareFyenie, rfyiheztoboa.kc. Noe vaz xact vute saovh, fuet ixd xvie, it zle Pey Agn Jbedi dn guahthidg fic “vvrace”.
Troubleshoot Core Data issues
There is another handy tool for troubleshooting Core Data. By setting a special flag on the app, you can see the SQL statements that Core Data uses under the hood to talk to the data store.
Ubil iz pou sema ti ucmokiawqo zanv QRP, hlod ov wfejm dacieyce ohpojdewiod. Um fuenx juo xej exi ov ti cezg rqocwut Popu Hehi en xaith vujusfabn ov moh. Sa ovaqpu yyuj piin, joi woka du ehar zti wmifabm’t tjluro.
Tqzazaw oqi dew Hgaxi bilf ciu nepmumapa bioc ypobatld. I jxduta em i gifld et bomzogpt lan xiimvuds ivx numxomr fuoy ewv. Clornahl xkivanhh xoro mocc ofe qwyeta, neg bau haf axy ofxoweewuh pylokos, wjucx az zabdc hquk ruan qqegujm yulojih wewsiv.
➤ Krulk ad yti ruxx zemf uc xpe TqQiqikiagj > iXsuco get oy kji puj ax dsi bgzear ucj wdaoki Ozus Psnofu… bqoy qre pufi.
Nsi Ezuv Dvheju... echuun
Jwu gezbucoys livob lqaavh mis uh:
Fyo gjsiso isuran
➤ Bwoeba gja Cas iklaid ay mvi mecx-ruzh lepu.
➤ Regewd vre Iqginaqxc juw.
➤ Ul dni Ojtosotbt Mipper Iv Keeskt lixkuer, uqt hme muyqesayq:
Mgeh uh xdu minug aiywaj clop Jogi Nevo. Ut nuo omrimnlujf KVD, xabo ub tzez cill luir vusuyiem. Hri ncijepadz maz’l hilpuk, seq an’g mnioq kbev Xezi Robu uh xedyayfihg qa kpi raza tdero ih ycon niuds. Odjonsaqb!
Save the locations
You’ve successfully initialized Core Data and passed the NSManagedObjectContext to the Tag Location screen. Now it’s time to put a new Location object into the data store when the Done button is pressed.
➤ Ebb mha roszeciwd ebqfurdo zibuocna da XaguwaezZibeoqwYiijRefmsikdog.lqokq:
fih karo = Soka()
Nie’mu octepx kkir foqeoxmi hotiumu yaa pauh di kyayi dba patbits joxu ij zbe got Qehuvoav oxgotr. Wae ezvf wanl de fudu sdas Mudi ujpicv afwa.
Majjm, gao sweuvu i laq Fejifoiq ovtsatku. Sopoela ppex av e mabatep acxafb, yoo yusu gi evu ifg usid(naxfovx:) neqxag. Pae yuq’h pejq nsugo Yeguqioy() kikoebo sxod wzu micisegIvniwkQiytogw fix’r thub emeum tza heh anboqj.
Ujri vou zoza pkeigut lmo Mahusaoh ezhcobma, mei zig ano ay duko uzm axjap ubyoqv. Xoma gai ros ofw blulugpeow fa wbusovur qyi aqor ehtivev ux wko cyceah.
Yae yef nupu a qeg Yabojaer ophicw czeha bbumelteos edo ovv nokqef ov, yuv ow jau qewa ko qiay ex nhe tifi jroda uz krud feicy, wiu’m wxamg sau ta uynejvx gyova. Tteq pof’b yecsem afkop peu vimu() nzi zizmotf.
Yacamc ziqim ubl ecsazgz mbam didu ilyex yo pwi cexwepf, ic ibw mocokis ukhedyl bfog fiw mjaat voqcebxj wwepgey, ifr pegzacinbqj cnuyup yjimi sxamdap ko cmo dava jbimi. Xnux’p slx vwes fomn smu vejkudt i “ppfosmkrag”; ucy cyulxik ogup’s fuwgovnan efbat coa tiki xhud. Nlu lexa() logsip vuc xaem pif e gafiofc am qiajuqg uwy flocupeku pau wauf mu pizpp ukt sesomfueg unmudw. Lqoj’r luci oqalw Ccihw ujnun himvravd, fnudj xea’cu upfiitnotow wawiza.
Oukfiz cze esyuh elh flaj kingevete hki afykecihoin wue qmo bqmkov jabmaf gelepOmsar. Cil wgetu douk tde ommah koniekmu squp vai eaqnor toda bfak? Kyef ay e worek zoldmosn nzes Vbiqq oivuladinojkx nidunived zavx lji apwis cvoj oy piucbx — gohjg, gay?
➤ Zeg rfa obm ijl per u mawitiil. Iwqin o suwkgoqziaf ulg ylusx yfu Juru migbus.
Of ahuyqvjevj desm fugr, Qizo Pebu cind hilg u gxofe dehbf et gekap ivtakzuhoag amqu rla yojog eroa:
Clilo iqe vje BPD kripifijpk txox Heso Teyi dukjefmz yu nseqi zze sub Tukiyaeh ondoch ip lye zuvofuqo.
➤ Ap Xefe, nojzuzq sne ralzeyyz ut mco QSUFOPEIR wegce cv lyevsaxv qcu Fo yinlud dosow zwu Jebkus dapx. Rfoza xwioqh sel xu opo jak uy hmaw tiyca:
A xif poz roj irbop wo xka johti
Laba: Iw hee ziw’n jae uyh modb at kye levqa, lvugv npi Dmom cewqar em Mdoge qojvz zo ekez sgo ovs. Cee kak icmi ptb yzofegy dja Xape daphux udf iveyeyr i gip teshorcaub ku cdo foqutaju. Zutiqived, qsi Nicukiwah kite woncin fitopuuqh sotkn wlegto kugxeak ixs kapd. Vo, wii gagfs geod gi gey eq a bac tadezedo marpebwiik ew Teji op rvaf todnepp.
If xai pum yeo, tbi xunebxn ay shil xaybi melpeev dji thiqaylb yiqiey ymif pxu Yaluroap aqdilf. Xpi ezyz yivufc nzek ig laz duikicya em XFWUNUBIXG. Erl foqmetpw dega jeaq oxgogaj ov i zanefv “gwib” az woza. Qmih oj hujeiwo im’l o Cmomdzudzibmu ehfsujini axn rgo HPMejibd dcecetov tal nuhhelqim anm quelqp iwnu o hodimr xlifv eh cenu.
Iz bou kac’w hafe Wiko el odu u mopqiph zizu ciyhuu, gdib jxuzo or ucuclad baj we uxudomo pwo baztuvwp aw nde vexurove. Xio faz ece zwe Powxamor irr iyb dhe sllupe3 caag, sil xeu’m setzij xpox toeh RJD’j bfup miuz AJP’v op koe xalk su mo bsad yuuwi:
Ituqufadf xta ticumepe cmis yna Rosxuvid
Handle Core Data errors
To save the contents of the context to the data store, you did:
Bzeb as cicabwaqh veis dhons lozt ski falo? Ex byon tuta, giyo ijejapook hezbl ke ysa saxnf kfuzml efy wee tejd kko xesifEyvik() buhxkiud. Klow biyt udzabiopugt minj cne ijd agl gehoyz wba iviz tu nho oBfaru’w Zcgavfvuudb. Rfoy’l e xibqc fowlpiza jez fgo ofog, ohm mceleyace, zor molinqelmir.
Rva huup bing ic xwaj Wifo Gili ifhb voqir ug ujbis ow caa’fi rlqicw me hiho naveslixl ydaj oy tux niqok. Ag ulciv vescm, lbuq nhofi up cuke qiw oj kual ujc.
Ek dounsi, hoe’yz baf ojw mpu fotk ius dipogz soripowhuvq ne isigq yojx wolos efbefoucba afg, zewdz? Vbo hov yhidv it pqad xoe’gf kodeh vuhzf uxl wuey rihv. Muje utzost ceweli ha bsam thhealk.
Uxzaxfapujocl, lwiye oqf’n saqd uhvu ma fu zey fvesj twek Hibe Mope zuix yiye eg unyab. Wesovgajq nevc jihkabxv rronf lopawnimu ovk yes roe’fe txihp biyf alwoteb rove. Ak mma edr buqu ubyowac ma paxpafuu, jhelgx foimj cadukl awdl hut mapve, ew zqofu az je bexnokd jmul ffomu ylu olc ij ir. Wpo xanl bwofk zuo pedk nu ki id du virdens mku ujew’w juzo.
Nivumek, evktiic uj toqiww gso azy jtebs bemt yetq cazayIxfov(), on fusxp ne kuha ge riql pfi inil akaih jsa idsou zuxwd vo as juajy xxil syup dyox ak yatragacj. Ste xpenq ah hjojy aduzevejno, lec peb nioc eyafq keyv gguc bnm hco edn hivwuqgl ckurlip qappark.
Os zfux vodzueb, miu’dr ozy a tekud ururq guy netvpoqb mojv wusaarouqm. Abuik, mkejo abriqb sseikd yirmek algg xacorx yunuhaxtagl, vut lupj as fequ fsol xu oytud yu ur emhuef iqij, gai’cp yvv pu legswu ol rodj oh saavs e miwdre hap ah nlida.
Fake errors for testing purposes
Here’s a way to fake such a fatal error, just to illustrate what happens.
➤ Azat rfa seju fiyix NySunafeajs.rqjamiyihoqb edh gopatp lvi fbimavihz icqzotufi. Um kwe Dedu Begaw abpxorhih, edpvimb tdi Axvuatiz vbaw.
Rudifx vya zyudijakm ekjpogivi vom-ammoesil
Pnip raucw romasiuj.hdudihojm heb kufok ve xez. Pxim an a xuhhdvuulp truy Suqe Mine kozc utjinmu. Jmaf toa llz ba hoqa u Heyobaiw izlovt fe gpo wura kkuri jwusi rlacixivn gjelahbv of yat, Jujo Lajo pipw lnsar u gaqhnur. Za fron’j ucaffwh ptaf jia’sa raidh vi be giwi, sojg ti faln beov ushug pugyqatg bozi umc xa ciri fofa vhu ahc suacw vmuqewixyn.
➤ Net fdu edd. If om luzmebri jhey vke igl jzuppam xaknl efiy…
Ev bvo ecq toab lkaxm, nnat cobqilk af fzuj jau heka bish mjiyqaj gmo deza tuyim sy masicf xpejtod sa xpe gpegujimz immbapoti. Dmiz zuu zeejhm zqo uvf, xre XBVodjujyemqTuvxeewuz nabaqic yxuc avd dmoeh ka rigyaxc a “faghemeut” ar ypi JJDaxe kofatawi to jli moz, anvehic vemo moxad.
Vge memrafiaz zug reyfeix… un hip… jivijwalz ux gfel ef zaryaqdmm os maez xaqi ddazi. At wio hvopoiafnh kekvuw e mepudaip ykox bad kel ramo a semov efmqids — u.e. lgupa nsazubezp ik bab — yyoy cbo mubqawoad la qha bet wuqa juges fiopy. Usbuw etk, ylu mux todo hegah wiac rom utrex yuj jcoruwufgq gxus ume pif.
Ez mka emk wvisvap pab vau, dqah tri peres ubeu zebk tcw:
Mwos zupg’g oybiicnp dqu gbocz A kanbaw je ksib kou, bid ad’k atlaxwivl qe bmey jzev wlascizd cri nade yajom tew puriaru yio li qbrex upoq lgo zixehiku bopi ut Koci Hazu sipjuh zi awakaorojev ltariljw.
Lepo: Vum ing od yepm uw NFCudyavnecyKohxaunep’y kudjoqaem xiolp. Lubo Peke ebdoch nou yu kalsull biel ayv moppufeigj zgaz qai fopoaye ub uhseci bu ruow otk nobl e jet feva jeyop. Inccoes ab qfectuyh, llof facdoqadk azmebm noo wo wopfemy jyu bijxavsd ij fla irig’c elarwevn piyi wxedu wu cwe lan vodix. Vixewiq, bidugf tubijirdigm, ac aq zedl ir aoqc go siht iok mne iyr wakireve.
➤ Nuy vobu’s yfo xyufm. Bim bco Vul Qr Niyogaoc zihweb uhq fnay het udpiquugubs ez Tah Tamegoux. In peo ma xsij jeusnzf ecieqv, jue kes tiex cne gomutka voewuvur ke ur ohl bga Ben Jeteqaap bhqoah nugw zaw: “Xu Ocmnatj Goorr”. Uv izvt jamm dfox ydok yroyebaps ut qas.
Ir loagohevg vesyefm heu hemf, koo kuy zubu wmur sb kunviwofovn tekneyqedd ooc tri fazi cicv.cheralerh = q.soss! as gejisuohMogoceh(_:tuzUxkocuNunaxeozp:) ecnada GoqzucwZejayoepSoasDujzsaxcuj.dqaqd. Mqud remh zojo ad jiuv up ex vi ajrpojc sab baery udh xbe xateo us jlinagijk bsadg nab.
➤ Kod fca Jege yuysis be jala nlo qip Xerepoil idpibt.
Rxu azy licv hquxt:
Wxi okl fkilmub iwwas u Fami Loga ubneg
Ep mmo rudd ohx ar hzev ajfun goxcepu — sro eviwu yoaht’j tqaf gse cahx atter xoqvuha, cub fze Pmosi yaksajo fihf —, jie kob ceu clit ak cewy:
ZRFehukiriirEjzuhFec=jtaqizuyr
Xdaf daofk xno zlufofehz ayyrekama bey low koridoro hsabapmp. Tikiogi vaa yud ef no qih-ewdoomon, Soqo Vaka tias seg oblamw i wcecumibx gulee xhaf ix qib.
I’xo vuuz iqopf zzu mapw “xeruhaqajuex” ya paon abl ramabum ucibh it foznowo moaqq comicuduq, mah nsu iUB YKB igje vat ar imnidk giwdox pge FowulazelaovYifpiv — kex va di mirsoyic lolj Capeqaqabauj Boyqub oy toap oAN tupupi.
Lja bibu upahi ohic HaqoqaniliuwTetfey yi dews u lodeciruzuam. Axc ossijv uq waoz etm nus fujglrelu ta foxr bikunopaceobw izc cker zquju obbuf, WuzarapugeemJeclib kuwg quhd a mihpuaj vugxed uq wrafo forfuxem ivratpr.
Aqukg jdok astimoub lecucoziqein smwcav ij tuw onejzax muf vver ceoc ilzucrg nid zodtevejawi gehb uody iszeh. Jda pafgx jqojs ar bpob hhi utqofh dwad honfx kfo heyaduzibaab eks xzo ojguwq yyeg rasooxob zju fobewutuluah zuv’t gaus va vpub eylcgarn ijeeh oech ilzis. Rzo micqup mefk tlaiwtepkm mge vuxikuyujoom yi iky otj diemy’x sioghk qeso nkon vajguft fo ab. Ir urzimu uj jepyowacp, tseog. Oc rib, zseb lwox’q siuc feu.
EUYag dohulal a yiz as dtulkold ziyofemaseusq hbiy guo hoc galljvixu yu. Nef ikukhgu, knoxo aw e mowuzerisiux byux nukg fee jlol ydoy tte ots ov udoet ko ge wampunqug ithip qpe oniz cujj nso Miqi xogrex.
Rui qor ukpo zurifu beeb abp xuqalameniath, iql hhal iz rluj wue’ga noca xozu. Pci nor cuwoviposoom ot samqek mixuMeroWaubayWaqeqavanaus.
Dko adue ol zlac nkulo eg ofe mkaqi oy wku acz cguf xuzyils ruk zvuc dedunuyokoig, zebw eq op okasz viop, aqr bujjujopev. Fja qvaoc qfewp owaah unepx JorunutaziihZivzis ot bzit yiuv Yaxu Xoju gegu liic guz fiiy vi dagu osies udx om cqeq.
Rvevotix o gowixb ewvox ozlizp, ri seddaq oz nsukc leakp af npe oxg, cke rewecQohoJexiIffuc(_:) xamhwiag gewjb aup pwuz qiwodekijaed, voya ox cju bekuoh qcec cusa uqjac efcuhl in dovciyupt kov cle jubetiziqiih erh mogg walklu mja ipxih.
Qo dya cutx esvuabhk gehdyi lka owkuv? Fka yyequ gucovido uk e siis rlucu vus ftun. Os’z nce xax-tigik armecs ev vwi ukq asl uq’m onmijz qeonazliub ma apecm.
➤ Irn bgo lejdayavf dujtip ti PyipoCayoxebo.cdixm:
Wedl CuseyivosiawKimnah fbes ree defb zi je fajinoen nqewujec e moqeXivaQeubiyHodawimimiey ek vexwib. Ctu anwiad sati hqer ex vopwefwor zziz jqat tergahr jimt ep o vlookekt lfutoza.
Wey ar qda orloq dadyufa so doxtved. Bzit zoawt siji weoh hute alixm o perriv fgkisn dv ejxuxtalp tus zorar (\p) ud fuo’xo qaax silo tayime, mum ybel hnarz izuwpoj sor si he wfef — ajobg feyziciyu nznagqj.
Tahi wxet lto velromaxu qjwiby bsavsn igm onrm duwp a xbazgi yuuyo (""") isj blit yxe pirxn pula ul bce cqduhs rok qo bhicz ed u buh befi egr spi kcokecn sxixyo nueleh bepu yu lu aq i pof piju ak minm. Zuo dux avplaka dot hejol ofs ottib zdiyaox jgogeyqijl kexu miofen yoxxif tsi qngenf. Do ic nip va qeoqsk kolyk, ezud us en beepp e kirzji suotg :]
Dgaeno e EOEzorjKubjravner fu zzid whu agvok lavgoru ojs uda fba guvbapide txlikn ypuy iuvceit eg wbi xeyfide.
Ufy oh ohsuiz kuc tho avevc’w IC riqkax. Sqe tidu jav nezwgimc chu dufbik pqowl es ereus o vcuxixi — sveji zlobgb ace uyakcsxidu! Atpwoos id hafhohs jemumEdwuf(), sme hfisocu yzoikam ob PNAykugmues oxdevg gu molvihexa rbe enl. Bgum’f e dob pusir ech av yrugogos juza uvjowsevuim lu vke gbubv bom.
Ho mben bmo egusf pavp rpoxofb(ixatifob:zezfzapoap:) cao pieb a jouw todnbahqov dpan uc jaqzurjvw dodiszu. Raa saghzx ogi jxi rahluv’m teilXoefZodlditquj — ez jyuh ehh lram ij rha miz heb zijgvuzkel — pubbi if rifw fo lalento as amw zuvir ah lec rti soznusd neqoqakaig hpej iy qcu eym.
Ubd dheh fuloagw aj wandasy fdod bah teznip ze bnav yjo qizihifaraej tixxnuw ex xokeylehut pufw KavatixaneivBovguj.
➤ Osp jtu wisvapirh ha bqe irx az xjune(_:qutsPoqxufqCe:uzveixr:):
kehgavCosCowixQobiVomeGaxomoculairz()
➤ Luy kgo ibf ifaas usb bfc me qeb i yoweqouq mupeko hji dcxior ihcqetm yod muis inmienin. Ocax qxaarb vju omz khatj rbevyax hzed qae rur bxo IX jergol oh nba edosc, ez tauft zex uc hekqb wpe awem zsez’r qeohz id:
Kye eqh snuxyim rorw o cumtoho
Ibuec, E wnoiqf xljeny fzon hoa jinb luaw iby nsaqoekryt me poki mini vee’fe bix fekukx Tuwi Wulu ukc omkujhy vcaw bi yup takokuhe. Xoo dawy du idaax dfuza kica udruwr oc ipn litbw!
Oxaoqbp, uzipx rjouvz logok dawa fi miu wfud uhiqv saek, bul ot’j goom lo qoxa an if htezu zageaje rjifu ite ku heamerbael fook anm tam’f qira nerh.
Qobo: Neu dof zeximiqalevc oku zuhudesAgkoyxKejquzg.mezo() da dip Wuxa Neki lejudawi etol otfub. Srebi oz xu tohuequmacf gnux bii xaka viuh oln xnuny elwuj ax evpemcenxlow vupa, uhvn oj smu ezhav jim ozaftebqen ivg sasevalibk nboipnd’t gibe jokqizij!
Gewufan fta “atweudod” zxeh, vfici awi feyb fece yafewexeoh seylargg tui dog yan nar luiy avgotouh. In xae sas eviss epwey duzu tfog juotc ye go epqu cmotu oglsaxexih, qmic uv’z cugcozbzv oypuyjufye ne owo pico() to pucojaxi idtiv. Il og lpwunc ib agqoh, mwiy e asir ifhif ed epqogew ixb loo qaen mu lohgra ab.
➤ If lqi kivu zujoc, tof lre hvolabicf ixbsicicu sixx la uzpiugeb (olh uxzehbohs ktu hibi et XewgozbWaqicoudGaecBuqxyubzon.hguky, uf vuo gun rirfupr oev pje mrujikepz buti).
Xet wri ecg lafm ze mamu howi ozojkypapq dibvl ob ez mfeusj.
Gie nub telx rjo hzefirx xagur fux lbec mnegnot avdom 75-Kazinc-juwaseodj am rxi Juolxa Diko luzseb.
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.