Menu
Coddy logo textTech

Rozpakowywanie za pomocą if let

Część sekcji Podstawy ścieżki Swift w Coddy. Lekcja 12 z 86.

Aby bezpiecznie uzyskać dostęp do wartości wewnątrz wartości opcjonalnej, używamy if let: techniki zwanej opcjonalnym wiązaniem. Sprawdza ona, czy wartość opcjonalna zawiera jakąś wartość, a jeśli tak, rozpakowuje ją do tymczasowej stałej.

var username: String? = "Swift_Dev"

if let name = username {
    print("Welcome, \(name)")
} else {
    print("No username found")
}
// Witaj, Swift_Dev

Tutaj if let sprawdza, czy username ma wartość. Ponieważ ją ma, wartość zostaje rozpakowana do name, która istnieje tylko wewnątrz bloku if. Gdyby username miało wartość nil, zamiast tego wykonałby się blok else.

var age: Int? = nil

if let unwrappedAge = age {
    print("Age is \(unwrappedAge)")
} else {
    print("Age not provided")
}
// Nie podano wieku

Ponieważ age ma wartość nil, warunek nie jest spełniony i wykonywany jest blok else. Zapobiega to awariom, które wystąpiłyby, gdybyśmy próbowali bezpośrednio użyć brakującej wartości.

challenge icon

Wyzwanie

Łatwy

Otrzymujesz następującą zmienną:

var nickname: String? = "CoddyLearner"

Użyj if let, aby bezpiecznie rozpakować nickname. Jeśli zawiera wartość, wypisz Hello, [value]!, gdzie [value] to rozpakowany pseudonim. Jeśli ma wartość nil, wypisz No nickname set.

Spróbuj swoich sił

var nickname: String? = "CoddyLearner"

// TODO: Napisz swój kod poniżej
// Użyj if let, aby bezpiecznie rozpakować nickname
// Jeśli zawiera wartość, wypisz "Hello, [value]!"
// Jeśli ma wartość nil, wypisz "No nickname set"
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Swift