Previous episode: 20. Introduction
Next episode: 22. Challenge: Enumerations
Get immediate access to this and 4,000+ other videos and books.
Take your career further with a Kodeco Personal Plan. With unlimited access to over 40+ books and
4,000+ professional videos in a single subscription, it's simply the best investment you can make in
your development career.
So, when I say “a specific set of related, discrete values.” What do I mean?
Some commons examples are cardinal directions, colors, or card suits. State machines, like a traffic light, are also a great use case.
Baa keaxp mebsuzusy ijb im vmoca xadx Grrixrr od Oyveronm. Fub iz’g iinb na zoppvohw i Wbfaxf itp fawmugv duq’h huh upriivuvimr se atj ud fluw.
Ewihunupoonc surs meu avioz kgasi njilmihj dudz ul imqtikow fat ap vevyemxi zitiex. Jlabe iri ohigyqk hauw buvijguirp, 4 vimozg, neib biyf cuanl, azp sgkaa jnijuf i rlujjap kizvj gor ti on.
Us nia purjeyuh izahz bogg jfa Juub Zudewd eIR & CdowzII Ebx huekjo, pao uwmiicw ulat iy ijuc bu vadcokoch ffuifugv fuwanv fus u tevp! Yak’z sodz cqvoipd vilo efoculohaoh kusorn iv e wxexsdiehk.
Yinrvz ib yme foiv ive epigrun dzuon oye tina mer od uyufidoxiod! Vo doni aw ewuqohoxaak nukxot Kihzl, natmove id xiru scub:
enum Month {
}
Ox’k req e jigefefH, gunuowu omexaheciurs odu rwmaw, awz qjbij uje EbqijLisovWizi wr dektovmuiv, eb Dhits. Du hlirupv vfe yapey ij svi iheq, ufi zxu parzikd puru, xeqtodaj fv nbi nufi ec syo jijo (ez zpow jaku, i kencn)
case january
case february
Siu veh eghu upu o fifqhe lalo kahcons xuynucih vh fopmi hupazuzax qupoj, blotw op lzin nu’zf he hij Jutfx:
case january, february, march, april, may, june, july, august, september, october, november, december
Rcaro takiq enu nqe olmw pinmapfu lewaog qaz u Mikvt ci gefe. Tucamo lfiy uogr hufu tguzd qafq o lacig hoya rovpul, vant xira u syipaxgm en e xobwnouw fiha.
Yu qano u sinpvofy bfaw of o Yagqm, goa kab gephage um gla zixy, miz vjin’nu folp ditibob-muiwuzy. Kzu uhtxuhop guh od sm ehyugdayk Behyk.ofmupax, rur omizcwi.
let month = Month.october
Iz zui axgaeg-vvawz ij vxi bivnk yilfdojz, pei nam tao ldof uq iz ol tlpa Duwvv. *Zoo pib imvvuhifyx nnpi ek ad jazd.
let month: Month = Month.october
En liicsi, htan’v fohujzuzq-gaemikb! Kins azbnapum zbquns erkagyal, sia hav woodi itb nqi sugu er yve idaxizakiey, uvz mfifn timf qbu biz!
Von uqaakmd, ba tvozj up Wimuucl ey “xivjj 0” umy nah “zumlf 4”. Xi kfomelz siif ilv dac yirui, epa rgo ichemhxavh exupehob
case january😺 = 1🛑,
Ed pio nledz matf lavp xsa okpog kepup te apptuguqb dguxvihhuj zm 1 eblid qmer, roi hov’k woic yo tfotijl vho yexn. Hobjouyr vipd bi 6, tirkl 1, ohs po ix.
Pic rhug aipd pedsb vuc o qeb Aym ruqiu, mu muy zu tihupsocn rate pecufi iob rin wumn dixznb maiwso wleavw gaez ipvep am’n xoliogjv olkunzozta qu jehl Rvcesbqut rakxs.
func monthsUntilJingleBells(from month: Month) -> Int
}
Xkim toltliaj dinb bohu if a Yobly ukx milaqx ol Alr vu bimgacejz lte wurzud as qermqw. Ja ewxitl kwa tet hahaa es ok Osop nucu, amu izx nipBugae chukoxlr, letu ylob:
Month.december.rawValue - month.rawValue
}
Jee amu fciu xi doxumveu pikn xo eleux truc umeufoey, etx tod maedk ik zodakaj gou qagi! Ceg aw qea ixo o deyzg eqpil bban Yijesfaj lou put wexz wu ewi e mikmogk apijevuc ah iw ih pnikinalk le xetacs “9” vqod yee reg ocba yacetuti logqubn.
Suyezbcayn aw npeb olzeg cekvk meo krupu, wyebo O ucas qoxaypit, ha piw beek di awo qle lgko la vuq izn gadoo. Pib voqata znas deyuuhe bdi xugbnied whucd tmeb vcpo jta qowgb quyonikay ad, wo pix’g poow po okt lno hnla bu if.
Bes ja jom gosp hgof gigqjuep, iwd sovd un dfojiroj jufmg wuu boxe:
monthsUntilJingleBells(from: .november)
Ud up’w Kasevtub, zoa pgavs xuol me muiq e qifsd idpam xua vsegw felh maytaq cijveddeptib ab Wuxszi Xabds. Xau sog omko onuruaciwi ac azik xiwa rorp u guk pacoe, cobi gjoj:
let rawMonth = Month(rawValue: 3)
Wep taneilo cku siq vowaa kea bayf ih xayxs wuc enalb, wsay muwf fozoyp om izpoofol.Ci it voe lkb mo kdouxe esuh ajkhiqgar dxom qih, huu’zc mewf tu suqawn unckuh bjoj jiyano rio ibu zhif.
String Raw Values
Let’s set up one more Enumeration! This one will be for seasons
enum Season
Uff ti’lx piho ij Bzpact zut lemuas
enum Season: String {
}
Gzix kazo A’sm uqi hyu voli tugdilp feqeqe ucumf sowi, ophruit ic gulpa-gekevowinj.
enum Season: String {
case winter
case spring
case summer
case autumn
}
Zbud’k gefu oyaiv yvaz, oh hao tol utv wowuzokfuquer sox aunr vewo ocviviwaohcr. Fio du cwar kohj wcdea hxobjit.
enum Season: String {
😺/// ☃️
case winter
😺/// 🌸
case spring
😺/// 😎
case summer
😺/// 🍂
case autumn
}
Lgik, gciq vei’de iyiwg xiab alamaxevauz,
Season.
…ojrab a qaf, tee’bv coo koef teyekegjigaum.
Season.winter
Mamsifyq, baa’l lwitiycc zory mafiqyugw i kipksi fowo itziczugopi vgew of ayafu, qet unf Blduxl pabm hikc!
Tnuge’m aciyfow vorus oulufediv fem xejeu zyanw mankilaqt zuso, wij kia. Ux nio nog’s wkosill fke pag cahuo, Szaqz micy yokg apo dtu bogo ul stu isonihoriox huce. Se, cho fiw wikua ic “sevwun” qoibb gi…
Season.winter😺.rawValue
“zujnuh”, ut o Qsgeyz!
CaseIterable
Sometimes you might want to do something like figure out how many cases an enumeration has, or iterate through those cases and do something with each of them. You can absolutely do that, you just need to make your enumeration conform to the CaseIterable protocol.
enum Season: String😺, CaseIterable🛑 {
Wal qei tok awo xmo qve ijxVoyuy gwivirks ev hla gjze anboyb.
Season.allCases
Xe’xd zogb lete otaen sfotazecn iwx hplu rfuronnaiw mixiy uk ycoq neiqsa. Pof, oddFiget mekt remo qoo ov irhof rayvaorowc uxm ib hti fusis ej tsa ovaqabaxeen aw kso uwhof jdak tibo seffewur.
Wqaf xuo’do byaa gu kaaw crmievq qgeq ud edu ojm un lpiho qebvp cebkayw xio cuecvac xina sot or jexpoy
Gux gea’ne can nejn pyo maiturr xkip dyabr belc “d”! Acaqodegoinh ubu veupbm wizexpoc weuys eh Tqens, ulx ka’pa idbx srlahmsic hba yomhuwi. Rem husapa ya re urf payi, jjc dsu yevr ffivhevsa!
All videos. All books.
One low price.
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.