IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 6. diel - Typový systém: Optionals vo Swift

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
Michal Martinec:17.1.2019 16:05

Z tohto som debil

Odpovedať
17.1.2019 16:05
Neporovnavaj sa s ostatnymi. Porovnavaj sa sam so sebou.
Avatar
Filip Němeček
Tvůrce
Avatar
Odpovedá na Michal Martinec
Filip Němeček:17.1.2019 18:15

Koncept Optionals je pro začátek celkem náročný na pochopení, už v začátcích je ale potřeba a proto je zařazen jako jeden z prvních tutoriálů.

Zkus si to třeba za den dva přečíst znovu, nebo se ptej, co nebude jasné ;-)

 
Odpovedať
17.1.2019 18:15
Avatar
Odpovedá na Filip Němeček
Michal Martinec:17.1.2019 19:18

Ahoj, ja som sa to aj opýtal konrétne, ale na telefóne a za debil som dal smajlika a vsetko ostatne komentár ignoroval, chyba v kóde :D Tak este raz. Nechápem, preco do Int? vlozim najprv 15 a potom mu dam hodnotu nil. Pride mi to zbytocne. Nemozem rovno premennej dat hodnotu nil? Musim jej dat najprv nejakú hodnotu a az potom jej dat hodnotu nil? Je mozne, ze nasavam tie informacie prilis rychlo a nieco sa mi pomiesalo v hlave preco tomu nerozumiem.

Odpovedať
17.1.2019 19:18
Neporovnavaj sa s ostatnymi. Porovnavaj sa sam so sebou.
Avatar
Filip Němeček
Tvůrce
Avatar
Odpovedá na Michal Martinec
Filip Němeček:17.1.2019 20:21

Jasně že můžeš :-) Tady v tom tutoriálu je spousta příkladů ukázána tak, jak nebudou fungovat, aby bylo možné ukázat třeba problém při použití "!" na rozbalení Optional.

 
Odpovedať
17.1.2019 20:21
Avatar
Michal Martinec:17.1.2019 20:31

Takze aby sme si rozumeli. Nemusím písať var moznaCislo: Int? = 15
moznaCislo = nil

ale mozem rovno

var moznaCislo: Int? = nil

Tym padom som usetril riadok a logicky to bude fungovat. Tym padom je vychodiskova hodnota moznaCislo nil a ked nahodou sa do nej prida ciselna hodnota tak sa prepise na tu ciselnu hodnotu. v opacnom pripade ostane nil ano?

Odpovedať
17.1.2019 20:31
Neporovnavaj sa s ostatnymi. Porovnavaj sa sam so sebou.
Avatar
Odpovedá na Filip Němeček
Michal Martinec:17.1.2019 20:32

Prepac za duplicitu ale nedal som odpovedat :)

Takze aby sme si rozumeli. Nemusím písať var moznaCislo: Int? = 15
moznaCislo = nil

ale mozem rovno

var moznaCislo: Int? = nil

Tym padom som usetril riadok a logicky to bude fungovat. Tym padom je vychodiskova hodnota moznaCislo nil a ked nahodou sa do nej prida ciselna hodnota tak sa prepise na tu ciselnu hodnotu. v opacnom pripade ostane nil ano?

Odpovedať
17.1.2019 20:32
Neporovnavaj sa s ostatnymi. Porovnavaj sa sam so sebou.
Avatar
Filip Němeček
Tvůrce
Avatar
Odpovedá na Michal Martinec
Filip Němeček:18.1.2019 9:21

Ano, vlastně stačí pouze:
var moznaCislo: Int?

Aby proměnná byla nil, jelikož to je u Optional výchozí hodnota.

 
Odpovedať
18.1.2019 9:21
Avatar
Odpovedá na Filip Němeček
Michal Martinec:18.1.2019 9:22

Dakujem krasne za odpovede a vysvetlenie. :)

Odpovedať
18.1.2019 9:22
Neporovnavaj sa s ostatnymi. Porovnavaj sa sam so sebou.
Avatar
Jiří Šulc
Člen
Avatar
Jiří Šulc:10.9.2020 19:00

ahoj,

jak prosím ošetřím zadání prázdné hodnoty při načítání z konzole metodou readLine()?

přiklad: let hodnota = Int(readLine())

díky

 
Odpovedať
10.9.2020 19:00
Avatar
Filip Němeček
Tvůrce
Avatar
Odpovedá na Jiří Šulc
Filip Němeček:11.9.2020 11:43

Ahoj, záleží, jak chceš upozornit uživatele. Můžeš třeba pomocí if let:

if let hodnota = Int(readLine()) {

} else {
print("Nebylo zadáno číslo")
}

Nebo pomocí guard let, pokud nechceš, aby program pokračoval dál.

 
Odpovedať
11.9.2020 11:43
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!