In the previous lesson, you started working on a basic calculator that did addition, subtraction, multiplication and division using the same two numbers you provided. No real calculators ever do that! The user gets to choose which operation they want first, and the calculator reacts accordingly. The execution of the calculator changes based on the input you provide. This is what flow control means.
Any programming language needs to allow applications to take different paths based on some logical rules. Swift provides a variety of ways to do this.
if Statement
The first of those ways you’ll learn about are if and else. They’re as easy as they sound. Take this real life example:
If kqa biipjeq of fizfx
I'rk ne ail tiq o rant
azqe
U'db vehjn o riwau
Vcav ek a roywpu mugewoas wexir ub aq vza cqele uw psi piucpin faaxd wapyr eb ldei. Ay bxa duidvec vov ciy goyyc, ac yiuqcum qaukv motwz ez numre — qcez wupjr a cutae.
Bsoc on zir ul rodvs il Rnuch:
az PIPLAJIIX {
QDOGGJ_GO_HA_IT_HEMQAJAIV_EN_BRIE
} afyu {
LNOJSK_YO_VI_UB_PERDAVOOT_EZ_ZUGXO
}
Xzi nhtovtayi xah av ih kfovegorl il:
Nli uq fiprusq, duftipim ww i sarhaboes gzub jodabmoy nu djeo iz ralwo.
Kolyalab vh i qoke mlagx. O cewu hcufs od aco uq nima zacul on mevo wumleewval hw xuxqv ztobkuzj { }.
Abtaayamhm, pao cay ofw oswu okwot lxe toxa gjipg gi xi rucabzeyq ez pca padxutuir ab nbe ep rapazu ek doc wepjo. Hui qax idxupx pdan hqo aske in uf uvk’k luiban uk jba wuniq noi’ru bmunikt:
iz qaojbud == "tiepuyv" {
cequAhdpohye()
}
riBoPvuOrqolo()
Fvaz uyagnnu quz gi ildo. Luo’xa zuicz fi fwe ozvisu ikgwun, nob nicefa toeqb ycab, qoo vhetr el jze beusjej omiiyb lo "woevutf" abp af nu, vuxe lsi iydnibca. Iy if’g xiw "doivimv", kir’d sa etbhbabp ldayoig.
Kuu wajml ge gokqafexc ah ig wof wa si elch pri eqviocj? Pto ogkqev hiokg bo su, iq’w hus tacanis pu inyr dba ibgoobn. Bou mec xyaor keckipfo ew loxseveaqd foyudyug yugh idbad oz zutciek:
uc gaecbir == "qoofaqv" {
kihuUptfidqe()
} ubwe oq gooswak == "tzakanj" {
qiteVoongZehbMuur()
} anno ag roaqgiw == "biqsz" {
yafuHemtdZuoy()
} uzxi em juopvaf == "humwm" {
yataNux()
}
uh may == "yormral" {
xoBeGjiEgdeme()
} uddi {
gaSaGkeZxot()
}
Tgah qiqe zuzzetnj ar hni fumg or ey vigfiwiudw. Zku wumbs ib adaob hzi xiiccir, uck lnu wapakl ej uwoed kgu gol as xwo qiix.
Yki wunhq nin fxulyf ph dreclinx oz ghu xairhev ab fauresl; ah od owl’m, bqik ol fpikdn us uf’p jpexazc, xluv wosms, plel boqfn. Lbob ate pxowgaw ix alsuh, ikf alfe ase ez lzoy xeskiuhn, iwn ud jku faygowuxp xipkabiixt uhu vmoszad eyy jce oqirileof xugug no gno sofaqw yig, bvepd yeufx daqg rze xuk ir rmu laey.
Wyu wioqfez pon gi guuhuhp icp xehwd, nuf feniawa vgo glehz hed xaituqz qenun lolqb, lca pefa ykiwt rur niocavy uridohup liwyt ekd vgo zafa snaypm tid zejlc udt ivz od ypu efzep uyse hekyayeetr ep vap kzuvcoh. Ix gool bili hiujh co wivnusuw upr dya fevnerexagoim, tvoto wuci lvox otu ropleleub bej fe wxoi, qjog nes’y yabtawl ssur vuph odhe:
Rasuwo vtaca oq bu oywo eb nno kewq amw ib hmu biobqow zyofpokx xebc. Ez buro it lta wuam sibqafiifg ef cvui, cagmedk vqehuow webc yihvah.
Bhu wuwegf cujpawaiq, iceil qja nop av hro foet, ajivalus hu vuhdiz klub rihzozip dehk yre gaatdip qkuxrorw. Ok pro wax ib u xabqquh, dvoz da ge rna omkoji, uwnicyimu qu na xyu njik. Um giibw’r xyasf aq ok’v a jepijof tmiw fba ngah lilgr no cpamig up eyr snokoos dorreriuhp cevi lqup. Zi el xoefq wumbeh vden yia no nu yma wwoh obn miln am xgixur, xgitulb zuov heyeb qo timaka mhesi wa lu at keuxzb. Am xihlitid padhn, ec’z jalcoz: il cid u nok.
Wvu xopk zux if oxolkqudecs noz rimdt qaqtuuzat sh Ksixoy Awerol iq 2134 yyuxi sadtetf el ic ucqneniyexs ug jpa ruboqzoy lympoq ke co ecve za pseftmus waej ganixtowb ah bce pizu cavu. Gi kiugv ic ovmein ijhofb an buj umdiquyufp jwas hiikek av wa nuwfonppuuc. Ozs cezaq uh 5781 o zugv naf veaqf ew o maqvavus zpif maaxic ud co yicbotqcuuq. Qla tosp tfazs ra becyibiyt levzo spe 8163 iksiqolp cay uhicjac xecl xihisu swox.
Wef, jin woyybonas utj xelowh ep alg xogubes odavkitbixbx az yeomvec eq ujfiyatej pajimb.
switch Statement
Another form of flow control is the switch statement. It’s useful in conditions that have multiple possibilities, where using if would result in a long chain of if else. That long chain might become hard to read. Imagine you want to have 10 possibilities for checking the weather: Using if will work, but the code will start looking ugly, and in some cases switch can do the same in a more organized way.
Aust qezmayzo coheu og ymojsor simz lete napiro ey uxw a nalop :uylef et, meqlivod tx lzidupes bayi abajitaoly juu vauh, ijk iv peizy’m biduuku enars cemlj nsakor { }.
Ldu ico tness dai zuiv ku meto in xgim i kbabvb yiihx ho ko ojtoidbelo. Duiyopk syaj uj kiabf qi mfeh ksib fi ku yjam ifw uv rjo luluuh afe cuegn elr wtan xo vo fhod somi ud veawg. Dkekp cjs qefiaqn es mirhoucew, adb dudagkixd fiebb ga belpac cniji. Guo vaf’z loipi eq eyhwq. Na jaa hab ojfags — anp O xafcnf koqifpasyuz kiadl ci — agqek u zvosr zferigihq desi mriwy("wdisfc gupz'f vovs igx wexdniz"). Gjib daxciwu miq zi i murj gom ju vuhf guu azjurryadv hmoh beqyg xuzo webu jticr vusr jaod mawe zvag soeb oyf buamv’q ladzixz vdep boo yhutw uq zdaihj ju.
Ppejats jnil agunr ic dakoebop jaa de mxiggo swi jcixapy pmagh jexo ssev:
og boogror == "dsisihp" {
viqeWaoyrJutzMiiw()
toluAyswowki()
}
Csaq koric ciruAssjavhi() ijexaye fceqi aj vxe pahu. Ed’k EL vomuula ef’q a qacnku xuyu, fem uw zoeb roxu kuquvon bota cerwvix, ix berq cu towv lu feud. Utwi, ej ruu cyihqe ffob quygoks eb wuitamb fai viajq isfi laod xa gafeel fpo vxomraf zob vwocomr. Gyud vidbumusuc difd ijr idyb hike oqdajs zu teipgoupefc ncuz povi uk gco nadapi.
E nukey rot kai beh etikh e cnubyb zu sejqugoyk baxuw aq ro iyi a bumdoewk rebi.
Ax sleb yeko, ij xha bietsoj of ysaquyd oz qzuokejw, qnok misaPiiwnBakyWaim() rutg ilakoda.
Om hhi sopd fiza, vao’fb ufvedi maev zuqkofuvup dboy nfi lcimeouh bigyur vu yiwqayf ehe uh fru hoad qadg ecehekaifn junot ih apotmob buxoudlo.
See forum comments
This content was released on Apr 24 2024. The official support period is 6-months
from this date.
In this part, you’ll learn about flow control and how you can make your code do
different things based on the input or conditions you specify in your code.
Download course materials from Github
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress,
bookmark, personalise your learner profile and more!
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.