Menu
Coddy logo textTech

Unwrapping mit If Let

Teil des Abschnitts Grundlagen der Swift-Journey von Coddy — Lektion 12 von 86.

Um sicher auf den Wert innerhalb eines Optionals zuzugreifen, verwenden wir if let – eine Technik namens Optional Binding. Dies prüft, ob das Optional einen Wert enthält und, falls ja, entpackt es in eine temporäre Konstante.

var username: String? = "Swift_Dev"

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

Hier prüft if let, ob username einen Wert hat. Da dies der Fall ist, wird der Wert in name entpackt, das nur innerhalb des if-Blocks existiert. Wäre username nil, würde stattdessen der else-Block ausgeführt.

var age: Int? = nil

if let unwrappedAge = age {
    print("Age is \(unwrappedAge)")
} else {
    print("Age not provided")
}
// Alter nicht angegeben

Da age nil ist, schlägt die Bedingung fehl und der else-Block wird ausgeführt. Dies verhindert Abstürze, die auftreten würden, wenn wir versuchen würden, einen fehlenden Wert direkt zu verwenden.

challenge icon

Aufgabe

Einfach

Dir wird die folgende Variable zur Verfügung gestellt:

var nickname: String? = "CoddyLearner"

Verwende if let, um nickname sicher zu entpacken. Wenn sie einen Wert enthält, gib Hello, [value]! aus, wobei [value] der entpackte Nickname ist. Wenn sie nil ist, gib No nickname set aus.

Spickzettel

Verwenden Sie if let (Optional Binding), um ein Optional sicher zu entpacken und auf seinen Wert zuzugreifen:

var username: String? = "Swift_Dev"

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

Wenn das Optional einen Wert enthält, wird es in eine temporäre Konstante entpackt, die nur innerhalb des if-Blocks existiert. Wenn das Optional nil ist, wird der else-Block ausgeführt:

var age: Int? = nil

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

Probier es selbst

var nickname: String? = "CoddyLearner"

// TODO: Schreibe deinen Code unten
// Verwende if let, um nickname sicher zu entpacken
// Wenn es einen Wert enthält, gib "Hello, [value]!" aus
// Wenn es nil ist, gib "No nickname set" aus
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen