#5 Kurs Swift – Optionals

Dzisiaj zajmiemy się wyjaśnieniem czym są znaki zapytania i wykrzykniki, które bardzo często możemy spotkać w kodzie języka Swift. Oba te elementy zostaną zaprezentowane na przykładach aby łatwiej zrozumieć zasadę ich działania.

Czym są Optionals?

Tworzymy trzy zmienne typu string, które będą określać kolejno markę danego auta, model, oraz kolor.

var marka:String
var model:String
var kolor:String

Następnie przypisujemy im konkretne wartości

marka = "Audi"
model = "A4"
kolor = "Srebrny"

Wszystko działa poprawnie, ale wyobraźmy sobie teraz że nie znamy modelu samochodu i zmienna model nie zostanie zainicjalizowana i nie będzie można z niej korzystać w programie. W tym celu możemy użyć Optionals, czyli zaznaczamy że nasza zmienna nie musi posiadać wartości. Domyślnie jej wartością będzie nil. Aby to zrobić wystarczy na końcu danej zmiennej/stałej dodać znak zapytania.

var marka:String
var model:String?
var kolor:String

Czym jest Unwrapping?

Unwarping jest to nazwa na tak zwane rozpakowanie zmiennej , w celu np. sprawdzenia czy posiada jakąś wartość. Bez takiego sprawdzania jeżeli trafimy na pustą wartość zmiennej, mogą wystąpić błędy w programie. Unwarping możemy przeprowadzić na dwa sposoby, pierwszym z nich jest za pomocą instrukcji warunkowej if let. Tworzy ona stałą pomocniczą i sprawdza czy wartość jest pusta czy nie.

if let tymczasowyModel = model {
    println("Zmienna ma jakąś wartość: " + tymczasowy Model)
}
else {
    println("Zmienna nie ma wartośći")
}

Drugim sposobem jest forced unwarpping czyli nasz wykrzyknik (!). Stosujemy tą metodę jeżeli mamy pewność że zmienna posiada jakąś wartość.

if model != nil{
    println(model!)
}
else {
   println("Zmienna nie ma wartośći")
}

Optionals mają szerokie zastosowanie w języku Swift i zostały wymyślone w dużej mierze po to aby aplikacje były bezpieczniejsze i bezawaryjne. Przy ich pomocy mamy mniejszą szansę lub wręcz zerową, że w naszym kodzie będziemy odwoływali się do zmiennych które nie posiadają wartości.

Dodaj komentarz