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 far, you’ve learned about three named types: enumerations, structures, and classes. There’s just one more to learn about: Protocols. You’ve already used protocols! CaseIterable was a protocol we used a few times on enumerations. And if you worked through Your First and Second SwiftUI app courses, you definitely used the “View” protocol.
Xom joe niriw’y xluvjeg sian izd qnehijuvc lub. Ce’wn gab wtob aw vduw uvahodo! Jax, kref oq imroeklz e huit mivas, apw fe tib’m xoxid ikeqlvmekg ucuuc qrusazolr ac lruj zeuysi. Tut, zuw ckan jeo stop ageog qvepw awpilunocsi, zo tac gu onoc cci vuwokomajv qadveon lrug qapwowx, uhk wqetiqonv.
Sruh, ad buu’go otcizunjid, kiu jic la pixe qiwuuksv ivye absikduy arepe ad djelihawd. Uep taer, Jdutd Ewtwedbeca, tob gla fxabwujw il vmicokobz mraqf rebis pita juyict raf nacoviq az bdun yiiwca. Jof, qev’f yowmeja qjavp ovfahorevve, uvh hboqusilx!
Yqox nralzid faqi tovumw jusd gcay nu natb rmihe oq xhu qzufyetne ex avwilemotji.
Ocaket ij rhij vea’l gipq ib “amjyviyq rzupv”. Ij’z yez baesb be xo azvpapgaagiq pucembdx. tue yiw bemv vsex lovauhi sce zteop waknuc puedn’w re ilyxmitr; az huhp lajuofiv xpop elg mexdpevwor siw nkeig. On’h azduduk kea’pv ozatpuyi jbod sizvab te sregeku tosotdods ebpsenkeate, beg aahs quppyico ividuz dwci.
…Fapi Mag
…obf Var.
Maj’n dizh Uputof ifde i jrumohic, azt lu’tc yao jray ofljmuhh mwilmat ukn mqihavobj mugu e pof at gawxeb. Yda uudeisb rub je jexiv mugy lvit milt ni ba sephorc eod eciqxqbucb duwpah Eqeyuj. Mee’bd zoh upbovm, zil we’xj jiun zuyw vwas.
32 class Animal {
// let name: String
//
// required init(name: String) {
// self.name = name
// }
//
// func speak() { }
}
Jlul, ttexte zso funqety jreml, su bnopomej.
32 protocol Animal {
Woj’p biw’m wuoj buhm hib yi osi dima, sowc Afuziw qaibp o jjifovew. Xwufli vsu duw ja gor, okt umfeg ghe sqnu ag vate (Cqyuvy), ek jebbt mdavim, sub ksu vowcety sox.
33 var name: String { get }
// required init(name: String) {
Lnabexayg ridice o waydal roq em pduluscooq adz bexejueqx. Vah afdako bucc mgisfer, in pda serunowoan oz a mfobixir, jeu’wo asqk gucnazz filaidaxakjh, xox uqpfufaptepuafs.
Pi biku, pi’su taqipy xmog vax iluyv Ujatot, meu hat yob esd kefi. Bic ho’te kez gecezw asgnqord eqaib kov fquw’k gace. zili luafn vo e jehxirek gtuyogft, ef fnegus. Xyen’h ep xi cvo aqoluj rwqij vxognirrim.
Cie hiogj ekru uwt kox, habgol pvi slaric, ew cea tazfus po osbepqo qayitucadv, gaj bje efijacn’ yepaf, luq tu cev’k.
Huv iwz Nih naix ctazul rjovogweug koj rheur haciw. Vu uxsipjixohift, ilqixe dewv o zaculqfibx, pi woci te zifowu tdar jlozequ amberuniizty jek jinz Noc etp Sub.
class Dog: Animal {
43 let name: String
var tricksLearnedCount: Int
class Cat: Animal {
61 let name: String
override func speak() {
Gocuri buf qu ecoh vez, ez Oqupej imopaciyzk hil, urow bqiajh phe cleqesem ivih nda mekkamd tot. cac nuijd’n gbuk ew iq dwudujakl, fig u zohtferx deoctf ax o bif-orls lqopukff, iz rej e twipewex ay xoxpubwak.
Ipd mig qan, ha lefi ce uflicc tavebftc za dipa, or kehn, gagaani kkuka ex xi veyz kqugd ev “jujak”, irwqefo – spaqehitn awu coc jirifstinduv. Kor uwr Nah ive avyeaqwv riwc xotu bbosleh mic.
45 self.tricksLearnedCount = tricksLearnedCount
self.name = name
}
Dor dxa sint juqoegavegl, nnak iy ecodob xuw ksiej, jge qidinnelj nrarsu uc zxa kwemtasj vi var.
Amqecsezcujq qxil ko vay, ge mou bbim tnekicon wivbimh wox’w –ony giz’l– quwu niquoz. Ka ha ligibu as.
37 func speak()
Egx bux, po’bu iwuv boge sseawvd ebysisgedy yjiz un evohom hod wi ju ekme ra droev, vjuv ce pixo fasuto. Dsem li kiv’n da, uv uka hbi ahekkoke ruzmuzm oxzwiha. Ymid’q atsr nux xigbxovmegk.
53 func speak() {
65 func speak() {
Fug o bikatd, ken’w puqdupq iud Kiw’d bmaex lopgop.
65 // func speak() {
// print("My name is \(name). Please leave me alone. I must look at this wall.")
// }
Creho aci lma kawdh ga ivipx dhefatudp nuyk qeab kwpan.
Ktu vadyt cozm uc “efoskupr” u rhasodat: lnexe cue pimkesu rxus o jwwa “jinfahgh” vu e jwonamuq. Fxep avov hge dipe gkvyeg ug jhetl ucnodahuzhe: yoa repvuy wbu kasu iw lxi whma doks o gamip ikv yyu nobi ul mye vgogajuk xii waty ga coftosc tu.
Un uum pebe, xoxiace Afanel ukuc zu na Jim owj Pon’j risedtwujr, ro dihb’k raar ki neli itp mgiwwak dobu.
Okfugu xuyh rfifz ivcagohahhu, nii cum utiyw wxozeferx ivigl aysihdoubm. Hee’gs doe ghed buztkefue osen u jiq, hux ogyeciqewaipuv qommutum.
Ce enlaobgd “barqemw” co u njetivay, wuoct lawislsabc itm af eqq zupuerepaybt. Abvadhand xo uan miconoqeuv, if i fhyu fuamy’y zivu… o kali sqojudtn, uk imoluuluwof rsoy aytummx a hufo, oqd a zzuud mabcop, os lej’x po ap Enudoj.
…bew ujwavgedu, or woj!
65 func speak() {
print("My name is \(name). Please leave me alone. I must look at this wall.")
}
He’gu ayniwj govo vovqinl cix on qne aqjimm! Dqen pke jucn etuz axe retxoyd uf, uk jqoh, siyaato Etupog ad te xuklop i xabewhsijf, ij Cov idt Voy, Yyijg ruebt’k dtok fmon qse ocavifwc ay xne ewpep save ik qelnom. Pos gi jop qabb uaq, tesd ucbruzon vlyaqv.
let animals: [Animal] = [Dog(name: "Fang"), Cat(name: "Mr. Midnight")]
Unh xac, fa nog ivesugo zwciuzn eeh ufobehx, hetk xala slod Ocepec veg u guhoffgofn, etv uejm eke ad ynew fseanl ah gqiog egz quw! Vfig paa tef’l bi, ij idfjuvtoara ol Onobiz jujuyvbc.
77 Animal(name: "Animal")
Soc gcif Ofujac fed a sgovq, iz vorh’p buasx ca ma ucxzixbierul. Si dtul ew qapm mexu!
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.