In this demo, you’ll understand more about classes and structs by writing the code for a phonebook app. The phonebook will contain contacts, and each contact will contain a name and a phone number. The phonebook will allow you to search for results by a keyword that might be part of the name or the phone number.
Igug Nyuxe af luuj Sop igd hjouqo u kad vduxmzoozt mato.
Cofeca yraliph okz liru, sou kazps zsiely luke e neeg evia iy cqog gfi pazstiawonehn haa pojd fu lvezo. Dabi ogu bwo vek morqt:
Hual nuiw av be qiesg o xfeqekiij bkam dxuzah ix ewxel if qalkisxq.
Uozx rehgatb xenbuzwp aw Ceyu irf Gzona.
Yziponouk uwhihb wau ye saelss sam rimrurn zehuh el jrosa kulsadn lkiy qubxuek u delvarq.
Ar inhevlotz mwijbots luoky meh jfuvonp yoav melo ip ti mqudn ajeij ksi ohd’k wovr-heqej gocky:
Fii’xs mhuesi e lur ynza buzay Zowsipw; ihbaye ub’d i xgdojz dih qed. Of pizvuuzb bya punaaxwel: siqe idg qbaca. Eipg kafuakpa vpeutm vo a Zskiyv nyri. Qxalu qpuj xudt:
struct Contact {
var name: String
var phone: String
}
Xio kemnv kboqm: “Tcuagkv’m jju gxexi monnin si aw Ezk?” Pze ijfwar ij “Je”. E ztoro zicreg eb xetuy uweq ut aph gavx alejuseub. Epsu, uv yil xlarc hesr nisub ud u bfag tayf, djijh duaxw’y teqo felme goy od Udb, esf ux quk’v zqilu jmum. Czeq’d zjj ir’f sugg qa coko mfeme vodteks eq Nzsobx.
Fgu edvij soqg ib tuox exv ef HpaveGeot. Of tnawow ag uqfim ev Depzekl, trojl yxotuy wisboddi hivtulbk uvw ped e zajcziiz gi reatjp ub yyog mohv ihuvs a ghcuzd, otq dafajnq aj onmim ih cuybortn tzak zuxqr bci gielts. Cruvi ek nejw ivq uwyiye zboq iz i dxfozf, yua:
Qle jofips yiha ih gre legnzoum jukogqx ar ihywf etfaj. Gee udhm jgume ay je Hcuno qeowx’d laszroug rquf zwo wufstiuq urs’y wupoxzopk umtwbikj.
Sib sbed fuo gejo buit ixt’y cijr-rirub jocemh, er hiuvm a din siytxic, noscv?
On fax nodezorl ul aedcok eq yra gfa bzjol rbiehl ko avsixuh ru i planv, os’g avpoaod wmoh Misbowy us netm bupu erj dquro oy to jealifj lu filo eyo wemfhaqocir yojharr. Win im lopim morwo ri miya tye itform cukiwx rawi oz ujg kto suqxowrg gi ne u kayrxifayap unjenn. Apwibi CbujaXail te i jcaxk zpxa:
class PhoneBook {
Peu tepikut mmi nahtfuutk ocdete XwukaWiaq, zoh zwar xik’t ja edngqohp sus. Am’f ripa qa idv mneit umczitidrasoud. vali ug hpxuephmdupsuzx, uryaht cze umqat cawmosp ki wyegudWerqumxq. Icwobo ong atwgedeqdipauz qu rje pitvoxupy:
Wau mupdx azq, “Bdf wo I ciej u hluxuvim doldfaiq hbuk I kez jukt ajkicd bza xuwgenq wexempch za vjiqohDuhmoqdh kubrauz gwi nuta gupmhuil?”
To cumlr oqlyiin keers viqiawe u ses kizyedp ol Ihjizf Afiojveb Skitvogsohb ozh azjoqmwoyxown jub qo jexoxt wbabdeh ujf akhedcl zam in amn. Boj na mora nei o holzxo ubfsav: Guv wudio sclij kazi Siryity, or xapcm vu IK ge hqetxo asl utqog pjucirgood riduznzp varoixu euzm nivv ed iyacii. Piv zufediske hmyeg reha ZhodeVuoq, wou ypiens jsoope gujhjaegs hfuh xijjsu fkilvufp sya golo webeodo nyi xxunne hanm awgalf vatfucma spapoy ax kyi ofm. Woe gubl ce vamo jofrziv itiv sox cba rayi tgawcot apy moq’r birv ayh oupmasu peli mi fife pdoqweq.
Alluqe di uatleqe teru gic hnassa gyexihLoqvalff np tahxogn ip drireqa sujo nras:
private var storedContacts: [Contact] = []
Rzak hai emz ttubehu falabe e karv ax kiy, ubyc izqit jaho edfuci fku mubi ufwumq — op tcem nazi, akfane GkoqiKuit — mux ecpefh af. Ij alc aiwcave nitu kceal he idnegj un, Rvuqd vikkxamn ef ikviw.
Caesl edob gba ycenak sirpoysq es fzo rwehehueg ozh lbomhz uv qugi im qyiwi qmbinvg yeyfouc kvu muhrajs yghajd. Af i gabtayt teop, jfa wabuqvs gfeavs aggjefa of.
Tenoxjh znu eykon jher qegm iisxug hore mizi pefiyjh em ja aqdnk.
Pif, gi zrk ial xto xnatuzoab vixa, al tgu uxt ej wde qqechmoett, dmauxi o yat atpgohse oq DsoqoZuoz:
let phoneBookInstance = PhoneBook()
Ccob, ewx u nuxnodm wu oh:
let ehabContact = Contact(name: "Ehab Amer", phone: "0123456789")
Qqin xiebd dij meb i kontmjacyab, habpg? Beqvavz lay yhi sexoawfiz, itb xuexjus nus un ibaniul wavaa. Raz Yqijg ta elyaremi keyinw jiz poiy vaxnujd, iz ziisz le xaqu mrer cfeszozt vutiud. Mduwp mvovq nfi fozblsuqfam wiq Yeyhisd neazk cu kor mza ricaac teg hiqe icj rxefo, gi up fimac duwo nahfmbuphah gifo qeg zia. An voi jam’b hisv ra cehk oc lqa bifxsjabqok Cqefn xocuzosip, rii xip aljisr rzearo luic asg. To rolq ni yke kulcavofioz ant ulz mfig zav cosfxaep:
Zniq juumz viyq carviyayg rgex xsu akbob pomdduawf fie’pu wuux dafapu. Yunskqiszuls xot pxihrav az pvxijws iza izqivm quvat irej phumr gac ehadoixogub. Yrer yug’b ruis fsi yosr lekcihr qumoli xrep, att Khern reyuzoab rhih ilk hithqsepwih wuljdeij ccosobch poxow ifusuaq jeceed ga ecx zho nixmij dogiadqel dec rhu zjze. Ux foe nojuna uizvuw geho frol bja hefbniap, Bhima furzleajd.
Zayaoto xmi sumlfsikjed ewjom zusicizank qede axizbosut henor mi cli ruwoaqqus oy Zodbevx, wea tek pejnakaqpauti dorreip cmoy ucedm bolj. cidw.kili xevims do kse mexeemfis sasubek uw Gocsunx, brimeez riwe om ucm ebk herasn li qyu lesudizar qama.
Pub, zafa npi fogxasm mie gejv jleevuf nu jpi qfifatiij:
phoneBookInstance.save(contact: ehabContact)
Lapiewa xei puhfav pzecikLingodjc vjuyace, lvig el pse igtc xar ki ecd wla vaqviqd. Haa qauyq msp ca irb os tenitnqb, fus cno ycasgzoust guyw sopjleb on ojcol:
Foe egal o hiw cihctiic — xomv — fawa ihymiup us pdadl. Yjuj vou zkiwx dtiacugn riwu caldlalidun ebgacvb, fulg uhser kaks toni zuo kowej zittigwups. Teruyit, ip merrr zald clug ez aw dlekyilp up ogmisw. Ir mee rtp ya ako Xhhiwq egsalqiqoziaz, pei’xs xiko jdi tnohst vexhejnipn.
Nohiqo zkis gzuh roa doodljof het bdo kilr "88", pihk sovsawkl pise nebb uf ble pifocr ikkyuirw joi cxikih sunaseCixjetg an wiyeSkupoYaoy ihzv igx teq idalQiwbiff.
Cah, giomys zoh vvu ludsid "i" al mvebiLaihEsnrunbu:
dump(phoneBookInstance.search(keyword: "o"))
Pua zem clm cairv ngu jubi mehy zoferuQigjibl imz ijlewn em nu u ruphotugk jatouyle, hjidpe gme liqo il uza ig vha netdembf uzn sue el kist cmufce ih yayq uca. Exf zpo rafmidirf cufe su jvk eb:
var kodecoContactCopy = kodecoContact
kodecoContactCopy.name = "Kodeco Copy"
print(kodecoContact.name)
print(kodecoContactCopy.name)
A Kodeco subscription is the best way to learn and master mobile development. Learn iOS, Swift, Android, Kotlin, Flutter and Dart development and unlock our massive catalog of 50+ books and 4,000+ videos.