Zavřít reklamu

Začínáme programovat ve Swiftu – část 13.

|
6

V poslední díle našeho seriálu o programování jsme si zkusili naprogramovat menší aplikaci, která řešila práci s polem a cykly. Jak jsem však v závěru zmínil, dnes se podíváme opět na něco nového. Hlavu si dnes budeme opět lámat se dříve probíranými Optionals, které jsou ve Swiftu skutečně důležité a rozhodně jsme si o nich neřekli vše. Pojďme tedy na to.

Implicitní rozbalení

Implicitní rozbalení, v originále Implicity Unwrapped Optional, slouží pro hodnoty, u kterých jsme si již od jejich inicializace jistí, že budou po celý běh programu obsahovat nějakou hodnotu. V takovémto případě by bylo nelogické jim nastavit klasický datový typ Optional, jelikož bychom při každé operaci s proměnnou či konstantou ji museli takzvaně rozbalovat (což jsme si vysvětlili v minulé lekci věnované typu Optional). Pro takovýto zápis slouží namísto otazníku vykřičník a celý proces je velmi podobný.

Ve výše přiložené galerii si můžete povšimnout, že se takováto proměnná/konstanta deklaruje pomocí výše zmiňovaného vykřičníku. Problémem však v takovémto případě je, že se v proměnné nesmí nacházet hodnota Nil, která by způsobila pád programu.

Nil coalescing

Napadlo vás někdy, že byste rádi v případě hodnoty nil nechali vypsat nějakou výchozí hodnotu? Doposud jsme totiž při každém rozbalení museli ručně všechno určit, co se má v případě takovéto hodnoty dít. Jak však po celou dobu seriálu zmiňuji, Swift je jazyk moderní a častokrát řeší problémy za nás. Přesně pro takovéto účelu se v jazyku nachází takzvaný Nil coalescing, díky kterému můžeme značně zkrátit kód. Pojďme se na něj podívat v níže přiložené galerii.

Při využití Nil coalescingu v našem případě konstantě sdělujeme, ať se rovná buďto rozbalené hodnotě definované konstanty, nebo v případě hodnoty nil ať do sebe vezme hodnotu nula. Tímto krokem můžeme značně zkrátit náš kód, avšak hlavně můžeme předejít hned několika chybám.

Tímto bychom náš seriál o programování ve Swiftu mohli zakončit, jelikož jsme získali veškeré potřebné základní znalosti. V současné době byste měli být schopni naprogramovat vcelku slušné konzolové aplikace, a to díky kombinaci všech doposud nabytých znalostí. Děkuji za pozornost.


Leitz

Fórum

  • Poslední příspěvky
    Odpovědi
    Zobrazení
    Poslední příspěvek