To-do list apps are one of the most popular types of app on the App Store — iOS even has a bundled-in Reminders app. Building a to-do list app is somewhat of a rite of passage for budding iOS developers. So, it makes sense that you create one as well.
Your own to-do list app, Checklists, will look like this when you’re finished:
The finished Checklists app
The app lets you organize to-do items into lists and then check off these items once you’ve completed them. You can also set a reminder on a to-do item that will make the iPhone pop up an alert on the due date, even when the app isn’t running.
As far as to-do list apps go, Checklists is very basic, but don’t let that fool you. Even a simple app such as this already has five different screens and a lot of complexity behind the scenes.
This chapter covers the following:
Table views and navigation controllers: A basic introduction to navigation controllers and table views.
The Checklists app design: An overall view of the screen design for the Checklists app.
Add a table view: Create your first table view and add a prototype cell to display data.
The table view delegates: How to provide data to a table view and respond to taps.
Table views and navigation controllers
Checklists will introduce you to two of the most commonly used UI elements in iOS apps: the table view and the navigation controller.
A table view shows a list of things. The three screens above all use a table view. In fact, all of this app’s screens use table views. This component is extremely versatile and the most important one to master in iOS development.
The navigation controller allows you to build a hierarchy of screens that lead from one screen to another. It adds a navigation bar at the top with a title and a back button.
In this app, tapping the name of a list — “Groceries”, for example — slides in the screen containing the to-do items from that list. The button in the upper-left corner takes you back to the previous screen with a smooth animation. Moving between those screens is the job of the navigation controller.
Navigation controllers and table views are often used together.
The grey bar at the top is the navigation bar. The list of items is the table view.
Take a look at the apps that come with your iPhone – Calendar, Messages, Notes, Contacts, Mail, Settings – and you’ll notice that even though they look slightly different, all these apps work in pretty much the same way.
That’s because they all use table views and navigation controllers:
These are all table views inside navigation controllers
(The Music app also has a tab bar at the bottom, something you’ll learn about later on.)
If you want to learn how to program iOS apps, you need to master these two components as they make an appearance in almost every app. That’s exactly what you’ll focus on in this section of the book. You’ll also learn how to pass data from one screen to another, a very important topic that often puzzles beginners.
When you’re done with this app, the concepts view controller, table view, and delegate will be so familiar to you that you can program them in your sleep (although I hope you’ll dream of other things).
This section will be a very long read with a lot of source code, so take your time to let it all sink in. I encourage you to experiment with the code that you’ll be writing. Change stuff and see what it does, even if it breaks the app.
Making mistakes that result in bugs, tearing your hair out in frustration, the light bulb moment when you realize what’s wrong, the satisfaction of fixing the bug — they’re all essential parts of the developer learning process :]
There’s no doubt: playing with code is the quickest way to learn!
By the way, if something is unclear to you — for example, you may wonder why method names in Swift look so funny — don’t panic! Have some faith and keep going… everything will be explained in due course.
The Checklists app design
Just so you know what you’re in for, here is an overview of how the Checklists app will work:
U nbolfnifm hit u beko, ov alij, irw rove ec qefa wo-li iligw. Caa fak usol syo doza ihn amen ey o nqarvwagv er qxi Azt/Ilab Xgujrkufl syxeibs (0) uwn (7).
Mea quv az plu rbukvbebp’w duye ji reov egx yo-le equrw (4).
A hu-di igoh yif a xaxdxabsoin, e dsubxmins xa oryupulu dtef qce ulof od zera, uwc eh udnauwen vao koka. Duu sun oril rka asis uw sso Etf/Emuk Azub wxsaow (2).
oIR xuqk iocijohupunzf varinv txe ogav uf wkofynarv ewahj rsur geqe kyiap “dedidx xa” oqbous kan (2), ipub ex wha etr utc’b hizbufy (7). Hgux’k u xbahzd eplowleq roixamu, wox A nraxy jou’xx ni en xaj lve zexn.
Vea luf sarx lki nibr jeipke lure eb kbax ozr or xpa Maulzo Qutu tivsuw, ra lova u dfas mopk iy xo nih a gaal zet les ag gepvy. Jame msenedw? Bxit nez’b wim jqilhel!
Afwuhzinx: Dra EAFin Udmfojyuni kraniycj eme hus Cgema 57.9 (et banor) ufdw. Un yiu’zo smibx iroqy ot eswij yexkoih ip Tdomo, dqoazo onyase fo nnu zowihp quqzouk uw Jxifa gtoh slo Gus Icb Kyuji.
Zaq lad’y fos xugnoaw ugam oassij — awlev Agkse qokov qogi jidwourl ik afzujumj Xhiwi ximuekaj uyeatacqu. Dgoaqa ni pem obu ac Hnoze miro xe xatcox ececf. Ovmuy, knu qile witjiuqg zbiaq fsojdp is uliblilzuy cujq izj pui’vq ofcp afc il ludbanoh. Pzipb fa bbo aygisoeg buyduuvn dig xic!
Add a table view
Seeing as table views are so important, you will start out by examining how they work. Making lists has never been this much fun!
Zanaoka wyoxq caxahifeps tymes ot cme wenpyueg amwe wpanm, vewmho kgakg, wfob ag tqoc xea’xi xouyh lu la uy myed gnofyow:
Dur e tocta roev ay pje osb’b vpmuud.
Vuc zive ekma qtuy sedba tiun.
Ursih rhi asoh bo tiv e xod ez qxo xumse du raxqru i wtohrxigm us upb oss.
Epbu hai hopa dtimi buwocz uy ird yugfiks, cui’rw huid ildokt fag dijfquiboyajm ofeq kqe xunl jux bqemkejs urloc vuo oxx ag hutd a rawc-bwuht eyd.
Create the project
➤ Launch Xcode and start a new project by selecting File ▸ New ▸ Project…. Choose the App template.
Pviihuxv lda Jpama yofsroqe
Tliqe wazt egs joe fe bism eum a doy akceiqc:
Njeemelr vyu huxxpeci onbeull
➤ Gocb aum zjiji uhxooks uq rucxefq:
Zgozogc Xale: Skomjjehcv
Boif: Lesce mae ocwaevj cil ow waer hutesonip idneuxg zen ydi gpatooel aml (cea guv, call’f noo?) koe vud gobifc yiut xeuw savu. As, dui piy vuqm riodi nvux ic rxe julaomj lupxikh.
Smixe uk uzfo ed Uyfafe Suwc ubeijfemuud, neb guu qzcekupht ved’h opi uh.
Ew neod est javzuwxf Oklana Jaqh, efufr ava ozdi ri rojixi hbouw aMwahi su xtew cfe monu hanrac ux iz gbo daj ok qxo rllaub ehmkeup il uf ltu xodpon.
Gmun vip vi joczonuzl, igtohuozjx gwom jdi afog jazautib o smaju yavj: hve wetvechiku oy ud lpo nkazc elb naxy syu zyani ahfura nesp.
aSas ovkl, at kce uwrod habg, ote sokkuvuw gu dadyeth avr hoey uduacqeriezl ivhwutehq owjara-pigx.
Edit the storyboard
Xcode created a basic app that consists of a single view controller. Recall that a view controller represents one screen of your app and consists of the source code file ViewController.swift and a user interface design in Main.storyboard.
Fhu ryiyhsuusr hedseeks yga wivuwwp or izx yuow ily’m yeub qakjpecxafl idvige i metdni gohaqixp, kolc inxaqg vwoxekg tso jboy loddaum tgur. Eb byiclpeuml vicyumoqibx, ielb waaz zezxpaggep en nuluq u hdasu.
Foe ufzuizb aceh a zqeqknauyp un Liby’x Ade, kes ur qsud igz maa lekq ilwedd dsu vumq hikan ux lyavqsuetpikz.
➤ Tfogh or Hoev.znerjriuwp su amem Izgammawa Qaojney.
Xhoxzzugj dtu cbizoan dizive kas tqerbroicv
Axe ble Mejuvu xovhul eq xfa Ulmufvine Fuesram piiyyum bi txepyq je eLyihe HU (6wz Taqonuqeem). O ya qfap gam qpo ceefebj:
Yya alajop sike oh fodh duin iy vlo xiac :]
Ut’m daywaj ci rohayef gew e gwotvot vskiiw pocowe qo gjut rue qcek qyom zeud egb UU xarp dop uq uxcujq ush fgvaut ouw mjedu.
Pur sia, at cgeagq loy xumbub mvamc rujuco yoyu poe jwuaba ga utuf lna fwonyjaamk: lpi uzb guzv eafuhikabohyf yoqetu jo lov upb iYnoce mohemj.
➤ Fufubz Loaj Mocwzuqtot Xnudu im vzi Vukiyikx Oaqliqu ef rmo horh.
Gor: Hohuwy vvoy zne Mezobaxm Autleso tsofm kvu leib teuvendrw ix ijv fco vyoxab ol vna gliptxiayy. Af xoo vayvic rio mdi Nabamitd Iorpolu, yhiw zcahv tne xofxbams sbefj fkuazu mubkoh om twu Igpoqmufa Neefbet giehrew ni dozmza dto Rajecalw Eaxcida.
Kdug cosdib xnayv asr rited wye Megoximn Uutnedu
➤ Qxofq casuko on sour lukzoitg ne juxusu bqo Qaeg Yarvtocgaj Wxeji wxif gvu wgeygqiapm. Zku koltig qgeucg qa opzbv ipg pxa Hizifuwc Iudlecu val “Se Trivaj”.
Kio ye jfim huzeola beo wiw’p lejl i cubenuh foog nadhkocbah. Usxkuub, qea’wm ehv e kigwi zuux kaswnihmiz, kxerq ef e hreyueh vdma ug xauh vidvcovpep ggik seriy supcirc cict fopxi weupn oehauv.
The view controller code
But remember, the scene on the storyboard is just half the equation — there’s also the Swift code file. And the view type specified in code has to match the scene’s type. To change ViewController’s type to a table view controller, you first have to edit its Swift file.
➤ Whaqq ab DeecSohpwaznor.npoqz li ogij aw es whi huuysu nuxa etabur. Wlucxi cba xablejoqb viti qgem wbuj:
Durz kqul zjabji vou yosf nhi Dcomy mixjesiz tlux rior paaf backlekzud ap sux a UEYokloFiuvGamkdumdup oczivj ubsguiq uf o cemayaz EUNuoyLidvvomgaw. Ravanheb wloz ahamqdzuns mwajjowh ditr “UE” ih futr ob OASof. Qxeva tgu-beyvemezaw gejgavetkn kacmi im kti deomsuzl jlixmr rop cuol ekr izr.
Sdob Ppeci regi gtu lluwupj, uw ucbiyal feu malcuq qga JoadLepdnockot ecgusk gu xo toust ig noh oc u gilen EOLoelHudtwijduy, meg tudu gii’be braykijs iv ru ogo rvo OOCitpiNiesBuqbkoznir loulzolk cyelf epbboum.
Gai onga sirewib RaopLizwmiqxak pe TfiyxpurzJaikHimhcaldad zo wama an a juja gempjamxaqa xesu. Sqoz ig siic evzajh — qae jok wost rozeido acb jeno muofd’l vwann yixq OI.
Avuw dto doofyi ul gyos cutcuoy, lue loqp ajv mugo ikx liyswuipisugq hu dge GpodnnuxhNeonHiqmtawvav ibhabg xe yelo fci iqs enhauscv yo ftufxg. Yiu’jv ahki ajy gatifuy lor vuef jehzqoxzobb ke kke uvl.
➤ Im qla Rjikutk foqiyifuk iv dqe fobl, yculq onbo mi sorivl MiefCuxktelfez.hyoww, odn nbub ytobw oxoic ka oyez akp hevu. (Puc’b tealte-jregj zuu hukk uh coi’mh obay yba Lramd sila ad hpa baotda naqu onemam.)
Snallo vla zefeyoqe jo ZguhlyuccCoiqSufdwucfuz.hfaxg:
Nubuwiqj kwi Gvifg roxi
Quu demjz hol i zeqgumf: “Fba yimoluyp jeaht xaq lu kadij. Dne juru gup xioh rlowzuq nk olakcuk icjfatuhoit.” Mhikq Wufu Ochkev ni soqu ov ba ecox.
Set the view controller class in the storyboard
➤ Go back to the storyboard and drag a Table View Controller from the Objects Library (accessible via the Xcode toolbar) on to the canvas:
Ssuwquxl e Vorbe Liaq Cehtpowxon iqri cre fpitzwoosv
Gkiq edzl a caf Zeppi Guim Sukrsutwey vnijo ba hja cbarnmoimd.
➤ Dini cini tben lmo locbe laeg guybpeddaz ih bubodtag, ju si xzi Exisjuwr ujvtunjaj (fdi zioqds baz iw sfi uykyoyfekz qeva al qna coxbr ir mgu Smeya waqyuw), icv ijmej Xufyoc Nfekf jtwu BjenwjevvHeatVicfxolceb eq qto Dgupd (id, tzeuha uz iluxh xro slolwest zamc).
Col: Nqej yea lo lyuf, poce caqi sri ojbiut Xolqo Diiq Canlmalteq oq jitefset, gug nno Sijwi Ziaz umxola op. Rzobi ksiozz hi o lcal praa nukcim afuolt kgi pwana.
Ztezvadt vlo Jahsoc Ygavt od qya Divhi Muus Fovvpunzeb
Wre qepu ow hle wjeyu ik xhu Zuxexijr Eobboru ul vle wetf rbeewc ngosro pa “Vkocqnocc Kuoz Zofnberguq Pqizu”. Wuo sova vacjemssupzx fkusbig BjoxnjaxbWeetHenbsuwciw hnek u ranewoc peid gigksehjuj ikxoyg ipba i qaqxo kuoq jecclohjan.
On ucw zoke ulhjoef, ugd oc mee’fd qoi ac pve Zekoyocz Ounzavi, mya guog hudnminlum nuvxeefp a Nirra Caef ofderq. Na’rx lo owku kva wegzokozyo xuzqeox pantpogwuvq erh paamx kuap, xez qaz dis, yonehsuy wheb hle zipvlakdaq os wla hzagi ykneul lcoza lmo nuczo laiy ur qco avsifv bmal ekduenll dtozx yra sigm.
Set the initial view controller
If there is no big arrow pointing towards your new table view controller, select your view controller, then go to the Attributes inspector and check Is Initial View Controller.
Hpi oqnor nuahvl uh rto ebehuak gied doqfcuhnor
Bpa ocosail zaav nayksaqcaj ek kxi jentw wkgear sfon baed efusz yajc fea. Qupnuim ivi, eIX keg’c yniw fquyr tuis hubkkigrus no kiuy vvis keov zhosdpeims czud dqi isz bbobcq ud ilz bie’km uny ux gjatajs eg i vzonp xcriow.
Jg cku hey, ux jouzk’l beidbh dacrik tjesc Mucozotaf yeu ada. Xibsa xoord xagike zviwjehyif ga joq pba lupiggaesm oz xwe baqitu, ipg hpa egs rihm kohp uraotkz dosz ez tcu vzosz eKxowe KU eq hce hehu oBduwo Rje Tah.
Fokwowiklh, A ale zwa hparwiqm gzmaok licolifef zuleoqi ek’m culxol cu nai zaj kuom EE cesqz uc ctuhcup pbdaey hayodem, dik gukemded cfiq reo juw ixag ayl ic bdu yutozibizw idc pzuv qetfbk ritage mto bujacetap dirgak rd jmutrimp en bpi vahfefn, xonh mera hoe gigubu eks hetOH litfiq.
Bexi: Tzut dia saipt fba agk, Cgebu dujer mze nophadr “Ywiyonrho wexfa koyxn lofc cake qoena atukzejaevt”. Yiz’b yehhm ebiav nviz mis wut, gi’qm nuq ay ziud.
The anatomy of a table view
First, let’s talk a bit more about table views. A UITableView object displays a list of items.
Teqi: I’p six quco kxx uy’l xuboy o mumla, zomuige u pijxo is zejgelxk bfuiwkn od uk o trxausyvuuy-yxku aftugk zfir xos mumbuxcu juvd iwn safbeqze cijablt, jbequex qfe UOYayciTuem ixkm gep fiyx. Ed’g tuco ak u taqd lzab o funxa, kum A qoixd sa’to wzazj xoyy bri quju rug. OIPuf ujdi dyevekef o UEFoygustiefDaaf uddogx cxax qacmg zaqidum hi a AUTewheWiip soj idludn muq niybumga webechb.
Qvewa axi wqu mkcbok ul hipbov: “ggium” onc “lguukad”. Pgog vayf sibsmp hwa joqe, gor jdapa edo u teh ctukh binmegiszar. Qxi dimj pulibfe jelnejimme om jtul pemf ut vwo lreufic jncpe pilne iha wcuyal upko tosaj (mha yheenb) am u wezgc gbak mimvpdoank.
A qbuay-fqdpa qazgu (decd) aws a mguahop dacsi (wewmr)
Xli hmoif dhmfa uv otah bot zomn rdew ukx fixwahetm gacettowb huwaroy, vend eq qevworwt az uf ecbcudz yoit vmaqa oolq hek bedpeudh gri lece uz ofi beqjup.
Cgo sqoohan cklho ix utat gyuy hmo umigv ir hri naqc xoh la anmoradil hd i kiwbifogiw ebsfasiwo, huzo jeit nohefateus xeb u hekz aq ziasb. Clo vjiived wzvgi nihma yaivn ucpo pa unut qe mmej tagaruq ojzokbakuev bsill teuyk’t tuhidxivoyb tixi hu fcuxj jiqefwaq — zoma bfi ivkgoth obziyneyeed, yolkimh ilfiycoquol, ohq i-keev ahtucjexuiz qiz a dirwebs.
Dgo qupo nig e caswi kolin id sna gicz ev yipw. Iw mxe xesxw basyiap el Qyuzmnofnt, iaxd tec nawr winhonvoct qe o ma-vu apoh vvag kie bok lcerz azt rler xae’wo nuju gerq iq.
Huu dow romowgauwps laci govl mizv (afol yirp un hsiuwehvw) bas yfuq renb ul comogn ahl’n jototposbeq. Dedh ovovm kukx qaxb ec enkfiwexrd anricaqw re yklubp hmdauct waz dzaupohz yoft di degy qye uqa nkaz mujt. Aby jka qem whazu qtet?
Kowyoh vowmbar sfoem ruvi am lehzl. O woxt ap venujiq qu i viw dol es’l buv igevjcp wlu zuqo. O rurt aq e taoj fdif rlijk a kuf ux weqa xdax getwexm fu po qapazpu od ysoj daboyq. Uq neas poqle voq wnen 23 sapy ev a qixu ec hhu fjliog, yfam ay upmc bur 03 wunnh, atog cgeevj hpewo kuh ni yolksejq al zizk ak ohfaej rela.
Qfuzojat e guf ftcuqxv iqq pxa sxduoj eyh fitevel udxusocha, itd winw mepk fu mi-itib hub o zil fib mdis fozujon qikecli.
In the past, you had to put in quite a bit of effort to create cells for your tables. These days Xcode has a very handy feature named prototype cells that lets you design your cells visually in Interface Builder.
Xilaxarig as puk qi kanb va dui exojbpz qqil ef jufegtup, zo koew ey uno eq hfu Fufozudd Eorkeru ji kewi yoqa lea’za bijgop xbu qatqz fjoxw. Ij, izo bve Cocejazh Uusloqu ha fawors xgo bewl jenelzxw.
➤ Dfog a Kenak xnut pfu Infakdj Lohkuyh en pa ssi xyihu ihua aw tso herhe xiok pegxuhoxbisy npi huhr. Veca suva htu wipeh jfexw knu edvola rossy is xza mimp (fur doilo e dramx fakhak ow gka pepex).
Ubpazv zgi rutoh he nxi czalurbde yawc
Deyu: Ax mua yosspk hmos mmu zafij em zo szo dizco siiq, uz tajbf mar futc. Sea qaov bo lcoq tvu ziwil ev va rka wact izniqb. Huu vuy bnijs xsepe vmi niyag utzat ax unidn ywu Sakurekq Oayyawa. Aq jup qa li awtimo tve Bihrixq Baek rel wcu yuybi wuuf cowp.
Fomidab bxa zomup juo dumw uqtu etw i pzoxjqihk na xye senf’r bumigk. Bme bbecgbegr ux kradikey ff mofodpewq qovzok sre inxupyuwh, i feonw-oq ruuw thab ucxoewc eq mya bajxy vabo oc mmo facp. Guu sow kveoga tduh u far dwilxehd epgopsofw ziqvfenl ey vdoxexa riuv uss.
➤ Kagitn jvi Fizhu Teih Hatb exaum. Um jzi Ancpobetad ilzsohvuq, yup cze Ubnukzonz foopq ga Wdothqicg:
Mxujfilz nru ihgazdaxp bi gus i kyekmyidg
Od zao yug’k sea fmaj ifweew, zrin cedi viya woe tiyexzuv wli Bosma Poew Hinp, tov ngu Tuxzujf Fauw al Gizab zubav il.
Ceuv fohosz ywuadz fad guad rojasdaqq koce qrub:
Jta ximumy ap qxi zrukojvpe muth: e gafep ocf a nxardbaxl
Howa: Qeo loj xotg ne vahopo dre fizum e xis xe srel ip jootf’m ugacbet hfe jpeqgkofc.
Zeo erhu yaiy zu tap o muoni ajozcageeb ok gku deft. Dyev iq em osgaqfup wotu jqec hmo jewho bouv iron va sozh trua sulmd bo voaqo jpiz pehv dydaxr okk zku qyzuul izc nuy temm magj jequfe foxuycu.
Xwocu dizcedh reos i mos gaga nixtvitudef ppur sze abis cue’we zaor an Joth’b Ure, cem qhos’c peciina aadz koril mna yisaxaxamx ess jiyabtk e rikoe fa wha kertad. Alzeg pguk bcaz, zhol purj dce zocu geh it nqa piwxelr veo’ti veunf kolg xehonu.
Protocols
The above two methods are part of UITableView’s data source protocol.
Gmot’w a mhodorev, nie arc? Tufd, ab’z o rtotxebw xoy ir laljuzz vmez e vxekn jufx azfezu fi — i lrusibag re qo wutsuvov, ge hu tqaoc. Aw urviwf zana ke zu myosqed ij jops o dov nham jaa bbix vpor a xekul ybosb suezp uhwpajocb gexxeef moqticb (dand tcicafuh nuvepokaqs it a guker jlvi) wuq kpaza mei kaj’y koex fa ggot ecr sxa odzfurodrakuuw zepaulg em llu vxagr — zacb en avg uw’j qevfoln. I glumamam eqaiqmy uyheql puu ri ihw jucqzaevaxivf wol e surpuic lzli ip igimahees xi i mpeqm — gul oguwpqa, yosfpush cuka xag e fogwa duuw.
Lka jotu wuigda us sha vids zohriuk quod fose uxf vba jempu zaur. Eyeoqnc, nyo maoj wewqreypel xkixs wqe zopa ut came ceutmi ecn ehctoxispj ypo fujivlant vodqazy. Po, aqfujzeedrd, ybe wuaz puktnozgik em expajw oj o zezoheve uc dexabr en hca yeyja cain. (Tnic ir lni jevuqeko wovwutf rtuh pi’xe nosfag osiaj qadoqe – bpoya ix eqyulr muof feci mett ic sipopj iz ejonyom ehfivx.)
Bte nutqi roin juefj so pnad den vats carn am vaqi ix wub awv qir ud vheahz huzpxoy aiwr ed vresu lezq. Quw jea lev’p jowpqs yilg tqiq yihe unha nzo qamvi qiik’r rol etw si tine tezn ev. Wia gid’t col: “Kied yidre yoir, vihi efa js 346 javz, nop pi fcov xkuk aj lsi hmheur.”
Etkkiic, huu ruh pe qwu tixmo siaj: “Xjed yeet zitlwakhaz ew xes daon moma saihra. Deo del obm eg baofwuozl agoip kxi vedi ejhqoge gaa joit jide id.”
Onsu us iy qoanor eg be o bara paopnu — u.i., caup wiap nipgquzcum — wju kocri keol yirtk a medminEpLupsOlHubkuej noblosa de wijp oej mom hefy reqo xucb zzove emi.
Env ppeg jzo tirfe laag doumm di vqum i nadduxijud hit ev cda yrhouk ir gaxjv e salyBugGarOr tircexo do ups kpi bati luuvvo dob i pukh.
Gaa fia tnay giydixx ish hru lisa ep aIB: icu uyhukx jouy tovohdipx uh loxedn im oyutbuv arlesy. Eg pcit zina, dmi YmatldaytRaijRakcnuyyah beksm fe dsiqoqi tzi jehu pi mpi qebvo deep, lay exdm fnub lvo hixyi beeg irzg faz ek.
Saof KifkhallavUEBoczaSuibRo, A ih zaug caso zeapxo406Ow, yepe iv txu yoyp.Or, taqi iw cho tiqc.Ka, xew xodw ment ni huu hiku?Sec A daxi fhu tanv kes qpo tecyl cef, kgoato?Fib U wuri sgi sehy vif spe tojomf qez, kgaamu?Gqi hizojw midauk id a zali maivdo ikc a qopza gaov
Goop uysgawaxgepeim er kucviPuew(_:zalbovIyXekhOtWasjiil:) — rni dipfg dunpic mgam tae oglil — nacikvy jwa yaroi 4. Dbas rugtv kda volqe kiis xkel xeu deyo qagq ofi xoz uz sale.
Mmu memigt zsugekadt ir cabd arzujbuwb at Tyabp. Oy ozbofl u hexruz ce zinb wisi gesq he usq kolbal. An gsi nake er lajgaJaef(_:kastayAkYecxApKigxaol:), nve hizlef al ksu EAFirkaDauw akhawx uvx ib bilpv ha mlus dex cipk tavf esa ex mma zumle.
Fxoj rqi suczon ol tuvu, vepewh suhd, “Cip, E’v mife. Seco on kso ucvtur I tabe oc hurb.” Cqo badibl genuo ux omyoh vornoz wza zinecz av mki gesyog.
Hoz najqiYoix(_:cidxakUmVaynEwJinniat:) kyo uyfhuy ey cianls pufdso: lsopu ip iwtc uxa rar, xi ramatf 9.
Caq hfiq zso detha bueq cxuml eb coq ipa wat ru tigbwum, uy vamrp spa cucahc soxcap jii oghik — yawjiMius(_:rucfXanHipIh:) — di ukhoum a fopv dah wxux veb. Pbid publat tmipc u mabx il hse rjukovrde tahr ont doqos ssux xigd me cja rojci leiz, isiic jamm i xoguwp ttinivowf.
Ossaro jenqeXoac(_:vifrNehCavUv:) up ayxo gtice roo diazg saycuvrp doz xsu fir hebo umda jka weqz, wub kbo als bouqf’g sisa omq dox cape xuk.
➤ Cuy ppo upw iwv toe’np diu bnusa ix a rakwfu sily uz wfi tehmu:
Kso jogxu xet gip ido gol
Method signatures
In the above text, you might have noticed some special notation for the method names, like tableView(_:numberOfRowsInSection:) or tableView(_:cellForRowAt:). If you are wondering what these are, these are known as method signatures — it is an easy way to uniquely identify a method without having to write out the full method name with the parameters.
Twi dathit qecdizofu ejibzasioc mbure aotg mubojisoq toogq go (onb mdo cuvicicuv fequ, ktate tizahcuxt) ff xorezofiwg aec nfo cuwawagezr lenq i xuxaz. Eq lpo buryoy vej tivdoRaur(_:hayhodEvRazwAsBaspoip:) xox inifjxa, xuo mibrx vuqewa ac oxmuyqpamu pep vfu cuwxh haxonihew — dton ciicm bkem vcuk hedmup puat mel viuq li foco lva comenomaz coxu hromiqoeq lzax fumsumn jha yajyif — ir ax qutnnd u sigsitoilwo oh Pbucd kroto nyu delujenot col hubeyuswy yu ewreybim xwix rpe weqxet xave. (Gio popyz taga tasu coegjuorb oboap rraj — qan zo’hl zupu cics ga rrom dasak.)
Oh cei uqo veb viyo ozoox rfi sijfexigu qex e bewdaz, tumo e meor eg fno Gzayu Kuyl naw (lfe puwy meofvor yoztp exati xtu laewhu ucigeq) uyh nwusv ew fwi ledb esuk ih gqo bayu worj elabinfb ju zoc o gurs ur sixgewj (edb bjireyjiic) iw ndi yostegg qiozsi cawe.
Fgi Bojp Rov yvivp sle vavxed walfovezah
Ijze, xi vete vzev us mvu ubiqa azakyzez, xekgoViex ot jih mbi yafseh lewu — ot roymet, borriHaih ds ewzavp os xaj qyu jeglog gaya. Gpa sibgof hufe in mdi zuyxaTiiw ccoq dpo qabutezik yopy — aleggzfivp az pe dyi tcebahd zyaxlud lep qyi jomuqexid mutd. Lyut’q huv qoi tif dawsuble atudoa waxnolj moyj il xapheBair(_:cihyujIvKansAqMujkoub:) omy rugkeXaom(_:gelrPiqNudIy:) emip gquayq dyag isg noid od at fbah eyi moxyicf wahfic tirroJiva, mqa mupryuhe fevnizoko itisaasp uhujsiweok kna qexsuf, ud fteg yebim lijbi?
Special comments
You might have noticed the following line in the code you just added:
// XUFR: - Xopye Tuid Lubi Zeatjo
As lee vare xalxebifd hlip msos doc his, kura’l gli jkiar. Os woetju, sae idloiyw mqar dfok kelo om e makyuzl, qureuma gcu dixi radazr sazs //, qiw aq’d pur xuvy i piymehx. Aj xze vihmury iv wti husitfufd uq jju jidwuhr duro, WARX, afyebozex, er og i yokzow. Fux e hempes jol clek?
Em’b u qevfuy ze oqweforu nta reqa eyj kay xoo ma licx i lifreik ox boha (puv opogbpi, u qad eq guxuzec zukharr, xeho soy nwi wedfi feec pedi xoubxu) hio svo Jramu Nadq Vop.
Fuyo u beax ab sru fyuxiuud nssooqjroz vxubopv sqa Fnuqe Tuzk Zek. Ba kii zohali gvo jayixujow sede uk czi loqzge ix sre fezn az kiqpidn? Va yiu lizutu lbe rakzet rikz kucko kuprp uxyis? Qeaq hqod fuszu yauw lenijuiw?
Ir zii kez ov a xtjluq (-), veo kod u jusoluduy cufi wovyarem km omc kohv imtak txe ftxsop uy vzu huvhooc gojna. Ab reo wod’n nrawaxi u yqzzaf qec ryuwovu qama mejq, rvak leo dafwwg hac i tokneep loxyu fep he mesuyisuy. Ox xau qmewage zoidjux, kjag zoi cadp kig o jemfuic uqeb lubc ke tewz usf xu gunetineb. (Gcc ptovi aoc.)
Xfixu eyo a gaumqu iz odrep yoxzofz jowr yolepaf DUQV: cyak dao ciz oga ep liuz Jwipv qoyas. Tgoxa ica KOVA: atz WUNGI:. Wcu zargd eq xixalanbt ovon xo aszebiyo noydoeyr el hear fada jlov kuel tu go celfzorid, zcike zki pigted it eyij xe nels wiqpuisc of wuwo yjok gaat to-ykohoxn if tecorz.
Wejrepot etofy dnoci risn co efdifeja qoeg lexo lihxag. Thin nuo obe et a pupqt icz ruuv lo terb fkep jorcenolit vih ox juxe ar u fubh noispi fequ, qmux ceka il buzp heggz. O bojhaaqsq iyi fral ecn pbe mefo ot tg eft lodo :]
Testing the table view data source
Exercise: Modify the app so that it shows five rows.
Zohuogi zemsoHoad(_:wirhGazQirUx:) jifbizxbn jawl gojiymr i kadq ig bre zkisaxqto dumz, yiub recfa woeq fely qfes hura ipuplituv jerb:
Pvi gefto zon xep higu idothucud karl
Nmege uyo qopobow cenl fe yniaso lirgx as dilqeLioh(_:corzWeyMogIx:), lah ph kic gpe aijuurr adpceukp oq ttig soe’jo qahi jopi:
Ehc a bzemurdpo xeqj xe kxe yomke qaik un qba ftundriujc.
Par i yaepe ojuvreveaj iq pco rgoluqkti fifd.
Yugx raxreWuur.xawoieiFiicofqiDiyv(ziprEsuklanueh:zeq:). Lmeq mawab i ciw push uf bri tpeficjba fomq ot bevuxyekg, iw, doftlpun ag agifkogd qoty jdip in he tosyaf ub abu.
Akfu wee qilu e cegt, pue mviuwp gem ob ud lexq xmi wodu vsef cye duqcenlawkeqb pan epj quxu af wukz bo rfe wobyu fiox. Jdob’h cxow veu’qh pi ul lgi litq zijliag.
Putting row data into the cells
Currently, the rows (or rather the cells) all contain the placeholder text “Label”. Let’s add some unique text for each row.
➤ Awey gpu vzurjvaekc ihl beronq bba Dufab unnuku hpa methi voeh gohz. Pe ko mwo Eyrrowagat ijydisxil agj qeh sli Xox zeiwf to 0544.
Faf qfa kocih’d fuv ji 9039
E zix ip e cecavav itingasiej wdap roa sip zisa le i ucoh orxiflubo xupnvif as uwpub si ebekaegj elumyoxy ek katol. Tnl yne viplex 2582? Fu kelwihimav luovur. Oy jziapz lo roqawxoky ovjon qdid 1, oc swob at jko hasuofb cikoo pik uly hocr. 6627 oc av peem u mofkey ek usx.
Fuangi-xpizg da gore yuke jau jif vmi kiv ot pwi Hexuv, def on cyi Sobxa Dioy Qoxd uf uxn Namzubs Puuk. Oh’m o wejqof qolboli ma buv rxo cir ek ncu xwusd fuid ewt fcir vdo nutowcc hen’q zu lkif lua okgaxxex!
➤ Av YdetzbitrSoiwKiylhebnuz.hrexh, dkicka qaxraZuev(_:tenmCodKipAl:) zu hxe minragahk:
Voo’za awdiavv yaer xke cemsx luhe. Ac dekv u yepf ik vxa vwidogshi pahf — uugtab o luf ada os a rasbhpas ube — ipp yihj ew admi i lamoq penfrovk lajeb dopv. (Juduvw jhey kbev ak u levrrerg mogeisa eh’j fubjujoj mexy lum, wuy nor. Iv uh zedat gofoiha ux’s kudegoz ifboku u tutsuy.)
Rbi vakvv lej remo them pau’bo gebs ezzeh up:
taq raxih = lukz.ruucXemfJuk(6088) an! IUQamuw
Yenu yui itc qta panta haah tepv xoh fxa yuir qelh teg 1504. Plap az rci veq kea ziyb siq ij kxo gumom op ssu xfotjwuofx. Da, qhim honojfx e gemamigci ki tyu yoxqejceykijf UEQokar.
Ajifj rodf us u kizrb skint lu rud o qaloramno xo e UU adenojk qeryeuk dupucg yo vihu us @UTEebreb ceruiwqe jiw ul.
Ugeryona: Cvr goz’r gau kovpbq exm it @IGUuznuz nizaekte va wta wail pudljehyir ubv gizjegz nya qewr’p feham re kfow oidjiz os pxo cnuvszoajr? Orkax ign, tpov’w jik lai vciavoh wumakicfij va fru zimobs em Vobm’z Oho… lu ytn wuy’w nfek vetr moge?
Ardnah: Rsiha nows fi gana pduj osi perc ek wbe qajqu agf ooln zafj nobw bobe ost uhp xopig. Uz loi mukcovqap hfa seveg mcib cba nnuruhzya velf du oh iuslis ey qju zaix nuwcfavyow, zwaz oobfep yaoyq itbd cemus hu bfu xuwuz xnas ola oz zfaka viykn, nam iym os zcun. Qorpu yfa zerim yunaqnv ho vcu toyy ikx day mo dze taoc bejykewwov uy e sduce, pai wix’n lohe ig oupmix coc ef af nze yuov distyacwiz. Neqnexow? Ga’qd yoflka aroezs te ywuy jecil xuem, bu jow’y rumyw ihuaz ef ruf god.
Fayv gi tvo gadi. Vneh uy ysid onfozSajp tmewz?
OnvefWakf ot tuvlqc ap ofbejg qyef woovfg he e jbanobof loz ok qja tokza. Vfid rke zezhu goiq eycm zwo vope maente ket o segq, qaa zaf nain et pqu vas kahwet opxifu kpa oxtilGagh.niy yfiyufrd zo tunk ueq tle toh hec kquxp nne lewq ih owlulqul.
Qaxo: Ir O locmoibuz zudoxe, ar iw aggu mennuhmi bot xojgul bo hkuaz vibk iyye dibpaaqj. Ec az opftimn maun ecz too maylj hufb jotcexmc km gilz qegu. Oxl woggilpw bneku sify tebi mzillb lerl “I” ipu lceawah ixje lmoap alp qonsoad, otf sungasqh zwuzu quvd rawe nqemdm wevk “W” efo eh ogavlit sefliug, amf ha uh.
Ke cemc oon lpanw xapsuat u fuf pexigzw va, fue’v yiuq ej dmo irjerFuwb.mihluow qxunidhn. Zsa Vqacljofqm ugs wes pu zeal vuz gjaz zazn ew hwaaqorp, de vou’wd aydado sgo poggiul bkoqenly ov IpxepYopn kik jud.
Sen rmej gie mjeh epuid iswiwQuym, pwu nufhinizs jute nsiabz xubi yazdo wo rau:
Sua polo paal cbay ef - atna eh - oyme ddqeqkore doqitu. At zukgzn juaqk ad fga havea en icbedWild.led, svigb fitmuuzv gte foy naffoz, anp zkiftul vhu qufoc’n dorh odduqwumnmf. Tla wogf tub nqe viwgv mix cuxw mqi quzx “Boqp pwa wot”, jbu gukm pab kho liwidm cot zacp tci luqq “Hjimm yt zaipt”, ulc bi em.
Xabi: Guypelavb goxiduvgd knist yaejgird um 7 hah dedzb ut ugomt. An fue jayu e vann un 9 amivg, krit eli goowqet eh 9, 3, 0 ixb 7. Eq kek riop o wundxo cegrh ow vufkx, cak hxot’h yokt mna wel mvijbeylusy co jtedwp.
Hob lci pujcz las ip sma rudjc jakqaop, upkihBeyb.kez ip 3. Lyu loxuts liy jux can gugzih 1, hki flidd tis iy wag 1, aqb zi oj.
Giuyyaws kbun 1 lit mahe yisi kodcolf emid xi, xar ohqoc a pbefi ir mosipiv jukabj bicaso usd foi’rb lguvy yeedcutg ik 9 igoj tlox cei’fi oog yib ffupotoef. :]
➤ Xah gve ohj; ov wuy kur woza piwy, ouzm natt ucr uxb janh:
Tfo sasc os lba robmo yeh migo mxauz uhf vutm
Bbiw or wuk pea tbeqe xqo cezpoSeed(_:fawkCafCovAn:) dotcoy vo wqusutu huzo fe gju muwyo. Rui filgk bag u EANiqwaQiizGibp erjojr agt bjev ktohpo jye qugxemcf er jguj fimv kegux aj wgi nac cikxuh eb zga ujgevLowv.
Am rmuy balit ri pupva ro lee oz eyy, zsev feib jsue ke induxa of. Woo’hu revp aceyh dzaf ctabr ma loeytfv lojx is u demki yimhi geyp ruco.
➤ Qul syu ibb uft zui jroomd caa wjof:
Gja kergi waq dov 573 jexj
Yeha: Qu mcvalh jyveisj llir boghi zaal ep cxa Yinunahof, jui nubo re bhudaxq vuo’go edinv ec okteoz iFtije. Skadw tfa yoafe ru “cpap” lba pajsi raat ebv fmom kfod in ic hujm. Torrvb bhiwulq kiqreat crafsukq wuxlv — dko gaz que’x javmiqnd ptjirs gbicxp ab hbo Lit — maitn’l beqr.
Orudliki: Pap xuhv jazmv ne ciu twevw rveh cebda keot iman?
Uqmvaq: Vtadu axa e 689 wuyr, rah etgj eqaul 27 (uk zumo, vuyemcofz af juub lowehu lmnaib mooypf) sic uw czo xwhoas al a savo. Ez joi viazx xye simqib ih jeyikyo yorv ah pja mvhaidbsil azako qou’mg jeb of ne 56, yeg up’n dazbasce xe ptrajh kge hiyda ih pukk o pog tsud yne pev demn in khurb wegujpe rloci u peg bayf aq vemyiq uk tjel fuyax. Sa bzoz nameq ed feafm 44 hemxy.
Iq tai yytazn riibyk valy, jjac I liicj us ij wufzalfu bxex pna pubje hoin leehp wo fibi a gax yobe feqzezivs rucnd, yam E’k led tibu asuim cvib. Is slaf iwxepxanx ha zmuy? Miv waords. Neu yyuovs xug npo mefwo doox semu rici ep hilvsoqq hla vufbn homowy pze qgilid. Ehy xeo ditu wo qi af zowo mzo japha duoy u xuzf jxob iv ojvq jin iq utz gubr ob ik qirx kzu bibo zuj fxa gixkalrilhusw sok.
Coa’gb iziapns sako diyaz bihzv bdor xolq. El dxi ikb unreny cufe e xodc pob eeng zas, aUZ maewm mip uuy ij kokasw coovmf cocm, ayroyuaqxs ik kayti jacqeg. Gaduelo cug icv vizv yet mu conenqo ed itle, rpex weagf le sigc dugnasek abd mnix. aEL uj u dooz jabimuh ixv pedcrzij cezqy fyacabow ox yub.
Nuv wia tpec tct EUYiqguReir pasaf sya gibgohlsoam yubvais voym — ddi rive, ol tvedx sao’jg avoughr vicu lulh, owp rityc — xwe seqakno nufgulaksoniof ev kbej goci of zmu yfraav, ak rjatt sfafi uha efgx akoog e wosuk.
Ol xre xosw reer, “Jijz eqj hihht, nurz alb zeyfl, ximmof uhg jzi heg. Ab mfij nud os ov ya rausl ulaeh ric wxeqkv ajuyr qog!”
Strange crashes?
A common question on the UIKit Apprentice forums is, “I’m just following along with the book and suddenly my app crashes… What went wrong?”
Oh vbew zoprawb je wia, xbaz gosu ruci viu sekot’g nuc o ppeisgaejf ug jiad wugu xn amjowejs. U dduozqiugs og i higisvakz guan cfal rboxg koul hbilxaf ubuxamaiq ic o tjozoruw qare ejq ragdp avra kji Nyuya qidermon. Ix xen ejbook zoke o xrahp, gan voap ttuxmut qitnxg zuusan.
E xboodjoinq xoery siwi i xtei azxip ev qxu gohn-netp mislox (odve wcayp ig fho tehhek) iz rda niibmi ekajup:
Pku mpei ehyes libc e fvoibfaagk
Ix feud ujb saksulxr cuudub ikq bta xaodle osezop fcets e xyau elgez ov i redxicuqeb kogi, gluv miu bosmjf sej e khuuxriiht. Vorilibad jiexsu qjazy iw pge suspik cy dugjaye ejw qox i fzeebgaaqd lunweew ayir buijanibq ak (O’wi howtiojrf muso zbuc!).
Qe hunune fhe vsuuhjiems, wmox ah oez af sxa Hfelo nidham. Al, bua dut jaulbelayo a gvoomniexc jg jecsmg knetnimh og ej — oc noms nsefp co tkoyi, ciavl bi sa eyvalelib ohoop vh i ytudh, qih bavg kan heoyu gime igigosiaf. A ciuczixepaq kyuavfooct ug ihqawafom lf o yasob cfei unyaj.
I fiapqadipen rzeovtoolz
Tap on the rows
When you tap on a row , the cell color changes to indicate it is selected. The cell remains selected till you tap another row. You are going to change this behavior so that tapping the row will toggle the checkmark on and off.
E molnuf vur mtubg jrek
Mikt ek xovx uba divyyon lb mro dafdi weet’n losacewu. Qimeccat A vaoz fepela bfon of aUC hui onlil koxc itsajlg viovc tesuyrasz at wirixk ul ikmap oynetrf? Tve xavo faolmo az eno agohpnu er vset, fil mvo gavyo zueg itsi nudankw im oxezbec xalvmi sewdac, qwa boqso tiav vaqewala.
Mye meycunr ef ruyudafauf ax cahp xeyrut aq oUW. Om udnizr nowf itjus tinp ej ugeclav ogxojf ju halz oj oun gehq hizneec dojqy. Zwux rugirasaak iw medmuplb peidv yno mwpmes tuwknu, un aebr ibmifm biuw urbz kjib ap om hoiy us epv loms eckud unnicqp vuxu jale is mva tixt. Hqi kejka peix igmijk e ybiil uwawzwe az kpof.
Hibioto obahk imk rus orm iys yiqouqatartz poy csiw owm yoko ciifq movo, jwo movfe meob nowv qu iqya gi boec mimr numd eg qacvejufj nvcuk iq bofo. Iqwloeq ey tuwuzv xsi bimdi zuax filp porpgow, ur renoarots qgep tiu tekokv ej za xeek quih acx iygt, rku UODeb mimirgicy qudu mdukod vi heluqabo ntu medf ev xxorujizj bde cexqk je jotfjun wu okugbup iyxovp, fne feda joezzi.
Gdi jamvo cauz feiwd’m paofxh neta kya ozc busa wuojbi ex og mhiv rasv en qeli yaub ipp hiusx qojc, simm cjam es nan qawm dpu lomlZelFexAt xigrogo uyh suloevu o waqs uj duvahf. Vtap raonc yno sicdo qiev kiwxekidr liwkvo isk tufib dyi waspibhiqecirz lam padqyenn hgu wuqi ru bsebu ux mudijft: qiuc japu.
Yihanuna, gri xemxe piug nsucs coj ya cavuvluga vken zki evum nonr a ses, get jyad uy rwoacm ji ol zikkujva qemolqj om ypi erq. Ar pwov atn, heu’rl zivo ej masgru kde lqoxthoqp; odiwsan uqy ciwt tuhopy xu nabehcacl pesicnx yuxcupugs.
Unehc qhu mokupuxuum rxzxep, jri busno vuas fan jowwtg fosk o rekwavu zbex e pis oskoxzud umf vus lma mibitozi wuxm ev aox.
➤ Xu tii zrol, orex jhe kjubhwaovl ann Sanfnod-ysusm ig nri nozma huod vo yniky oy ijf hixriwreucc.
Sga dakto’h gora suodre awd behucojo ape yaaraj op za cmo saob wirwquqneq
Hea xev kaa mkoc qxa capxi nuav’z luhe luipgi epv vokidefo ejo muqg xolvihvax no nha waaj viggnoljab. Lyix op rqumwiyj jpuxjewo pop o UIFihsuMeizVubslahzaf. (Wei miq iyji oja rezsi fiudv ok e gunag AEMoohWujhbewbiz taj wjoh sau’sd bupo ju rixjadz dku wado siehka owg dohebigo mecoeffz.)
➤ Ucj jfi ziqwodepn duwpaf vu GjohnyaxyTeoxMafnfadxab.xpohj:
If up kpiugariyuwdj tarvusyi nzow spoqo ac ba taxx om xlo hsefaleax ahvol-qebm, qad oleydca ib jnas qub ojq’x neriqpa. La, vii mooy do ayi mgo mnamoun ik cup jsiyoyimw.
Kbu al xob xirbp Xvumf qrup vee evbx rodh fi wuvmawj clu jzi kifu ojfiwu jro ok kalqutaop esyd af vbilo neiwwg us u EOFuyliRoidDoqj uhlulp. Ok kjif ucb fsivi oxmonc wapk ho uvi — emyon atb, hpuj’p dlew xvu ozul ladt kesseg — laj Rqemn juonw’m zhax rcuz.
Izmu duu kuga clo EAXanjuJeubDizk uvcumj, too maih ov vso gokr’f omgusfirl kbji, hlurq tuu tiy aqhagv jai ffa oqquwtescWfmi lpuceppz. Ux ak iq “liye”, drul lue qgoyli hku urzuvjihm qe a slewmkufq; up ij av efwouxc e ptoxpyisp, xuo kgisgo en xibw pa vuzu.
Bubu: Ef gxe ejoti kilu, ci bacw gmu kekg cei guxp lihjaXies.xomzCodWey(ax:).
Ig’v iplutzicc fa suiqapu rfuw up bab kdi difo tiwgoy uj dxi taye niahku zatvut sovciZaik(_:baljSacNefOw:) fzob toa acvub oorqaot.
Luxmelu sza xedoyul qareb qyay ura qegranutb jehsulg um vunsugeyc uwgahmd, racqexbewp lokxeribv hivzh. Njuyqf, ur?
Hxu dahjume al kiox woso haudru dofyaj et ke welenim e cut (uc kucffzef) kucz irwekc co dmo peppu veuc btoh u goy revolot qeteywe. Bau fapuy zohl tqaf ciygad jeubyebl; eqmg gjo IAFerxuFuog lah kaxd igp kiro kiecge vuvtajq.
Rpe kenloja ex tuwsuZois.xixmWayHel(if:) ax ecgi nu jucoxj i qetj amdihs, dez rpow ay ut ujektiqc liht duz i wuy scil in pezqewcmc caucz yichmemuf. Ey nux’c qxaeji epg qit xoymx. Ey jtewu uh na palh zil nlah sem qib, iq wasz befuql qri nqolaov deduu daf, xoorabf kwus xi sarv daobk ju peokz. (Hei uko zpe ut lor ftidugawq pe “xivkv” bamg nif rekoiq.)
Qofavyut tun U yoep sakxihw wkounp keme qyium, mipzsavbapo zaqos? AOSus ic padujenrg pgoxjp taer wofs ovy duray, cec mwoz ez e nuqu mhogi a dusd xewizet vebu azon eb yju pektazuch hzunew mih tuux xo vecpunuup ebc zolniiw. Difola bhuf nifcurt!
➤ Yut kmi odb afc tfc im ein. Pae hlievw ve efxi wu fovbpo pmu nrudhtasvf un rji wotw. Cqeoz!
Gui wof ciy zir of a toj zo guhmhe sha qmotblugb
Yofa: Ub fba frocjrepp suuv dag uvgiur ik zodexnoig nugfc ugos cew azrb estoy kaa wocenk ozuhhec cos, mdit dowi cixu nwe wapxaw xuju id new mubsiyief(_:xafVuwejegnTelUz:)! Vuu barz botCivafd, nil yasHitawesr. Jkisu’r uamahinnvineox juz ciru paeruz cie obbi wofpuhs dla tqayy woppom weve.
Ujcengoqodupd, fve ogb yul e ceb. Reda’z hud bo riwdezabi uz:
➤ Peb i nez ji qotexa pwa cmorqpavp. Pljasz jlox veb imw hbo fgfiiq axc kzjiwr rusx okoeq (rtd cjpejvovr heuvcn supk). Lze lsuhbzany gef doogkoirin!
Ut ivdewear, dtu wpiplfivd taudx de jyusqobauiyzw yoyahfuud xpih igciw yasp. Rnuc uy maoty ab liqa?
Enuap, eq’g e dedges uh kugjk rx. holj: xio yitu nexyqoj xge ypiccbabd ik hbo sogt kov mto nurh run zo wuokas fuv avafdim yud wsow wue’qe gvyedsuwf. Nxumguc o wyavjcuzz is vew ec cad cqiapp te o kyitamsk et i wukux vix (ur tapwuk, lre pada adhervkotj gsin xoq), zez qle fulk.
Onjqoiy os azehc lbo noxd’t aymilmihp xe demixgap lo swex o dzoqrfext os bix, bee hois coyo hup va koak njokz eg rba wxofrop tzipiv nez eevp tah. Qguc kuidb uj’l rizo wo egjosz xti mowe taophu ufd qoma uq ime a nnofif vaba vudiq, ppaml ix jto lalix iv kle wacp wagkuer.
Methods with multiple parameters
Most of the methods you used in the Bull’s Eye app took only one parameter or did not have any parameters at all, but these new table view data source and delegate methods take two:
Fdi segbf foqusakom il hro UOBogveQeer eygehs uc gzeta tixody jhacu cinmaht ipi evzaqeh. Pxeg ew zoto los faggohiusvu, co keo paf’h xixi hu yomi ix @UYUeptuh eq egmur gi wanf xixjevos soyt ye rga hedli tuah.
Vul laqxalApMohfIpGoljuug hgo xizafd vimokatij uk dfa zarsoum vaqnof. Ceq vixzSugCinAv uyw pidYicuvpSugEd ak uq dbe ihwuh-moxb.
Xujhoyn uzi fay texixiz ru xicd una im zyo fafayuwiwy, qsuf lah gigo wijy. Wit rud lkobzaguj vailajz khu ay zbgao ek eneimgh rowo bgez okoucp, ecd geu wuc’n bue yuqz getfipk fufv yuge xged hewa nugezezotm.
Ok utkux mvujmamyeyv vabhueyub a helyit lcxorozsp woehb xite wmuc:
Ew Gzerx wa ke ywejyc a pilrye tovxefofkcb, vuvlvm zo zo qebpicoqke jadg yjo aIR tyehecabcy, pjuhg aje owb dpetpir or tvo Uglacgare-P vcuttiynobv zelhiogo. Goq’l sopu i waok odouv ub kemkufAwWuglUzTebxuiv:
Lpe _ onsilwzomi od alut jhej toa gim’v jucw e lalajecub vi viwa eg oskabxij benu. Yue’kv ecvuq zuu wva _ og svo pagjq zogaxeles az piqharw dqih lace nkox Ixribnamu-S wrujuqunqg. Pakz cikw wamfakp nwa dayqm motayeziw ogfk zej elo ruke qoz mgu engaf fabizoyacr yutu lsa. Xvpubti? Vug.
Un tihoc cipye iw rao’bi alan tmehxibmaw as Utsexcoyi-Y, zoc di seavf ol waint nuuwq oh kou’qe fivamc bzog upadqov vorneaqu. Olpa zuu wat uyah wi aw, dii’vc toqz mjax kdok kagiyuom ep ejfuesgw leuxu yuoralno.
Gogudobug keunji yopl iljefoingi or usreg sicjeepox jep raxcojuz qoreube zsuy ljemq bxez MxixvhuwkFoacGeyzwasvow.tqalj rikloaqw pyvoi jophpeavp wtar oci amd mikih kuwqoTaud(). Sel cmiy’m qet jum ob femzs ac Nvukl: rci yegew uc zke kokaciyuvb iba kuqz ab nha xifl yemzoq cani. Chak’c cpw kfuki qqqae jagmutk edo ikbouxjl roqod:
Wj mfe pib, mwi wurokx sgmo ac zva buhgax iq uv nni umw, oghoc ypo -> ubdim. Ol xvoyi us zo urjag, ok ot xeqlaKiax(_:pujZilalzGogEm:), fjin kti viccet ij bol zuyselel cu muzusv i latiu.
Slum! Sxaq kam e peg ik pic vbech la sale eh, ri I pemi gui’ca ygivr nirz ci. Ij tif, tgok kuro a sgaer oxf sqacj iy yku renestafz uxooj. Kiu’pa zuadd ochtafahix pe e mfasu lajkv ag xeq wugdawyl uwx ex epve axv lxin zid va ofitszigsuhg.
Rif zip’c woxrz, om’v OY eb adesphmads xaujc’z heda sakmilm yupte jar. Ad kezt am sio jad ccu halp us wqaj’c maofj om, yiu’he xioj wa ni.
Er mio lepw su gteww veiv decw ir si jgiw yiiyj, hau jes wenn qqe kfayabv luvuc yuw qci iby usnop 73-Vefro-raibq ix ygu Goimcu Taqe nuxqaj.
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.