Standardwerte verketten
Verknüpfen Sie mehrere Ausweichwerte übersichtlich.
Standardwerte verketten ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Swift Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.
Mehr als eine Alternative
Manchmal haben Sie mehrere optionale Quellen und möchten die erste nicht nil-Quelle verwenden. Sie können mehrere ??-Operatoren aneinanderreihen.
let primary: String? = nil
let secondary: String? = "Backup"
let name = primary ?? secondary ?? "Default"
print(name)So liest sich die Verkettung
Lesen Sie a ?? b ?? c so: Verwenden Sie a, wenn es nicht nil ist, andernfalls b und andernfalls c. Die Auswertung endet beim ersten gefundenen Wert.
let a: Int? = nil
let b: Int? = nil
let c = 7
print(a ?? b ?? c)Der erste nicht nil-Wert gewinnt
Sobald ein Optional einen Wert liefert, werden die übrigen ignoriert. Hier gewinnt secondary, und der endgültige Standardwert wird nie erreicht.
let primary: Int? = nil
let secondary: Int? = 50
let fallback = 0
print(primary ?? secondary ?? fallback)Alle bis auf das letzte sind optional
In einer Verkettung ist normalerweise jeder Operand außer dem letzten ein Optional. Der letzte Operand ist der garantierte nicht optionale Standardwert.
let nick: String? = nil
let full: String? = nil
let result: String = nick ?? full ?? "Anonymous"
print(result)Kurzschlussauswertung
Wie && und || verwendet auch eine ??-Verkettung eine Kurzschlussauswertung. Sobald ein Wert gefunden wurde, werden spätere Ausdrücke nicht mehr ausgewertet.
func makeDefault() -> Int {
print("default computed")
return 0
}
let found: Int? = 9
print(found ?? makeDefault())Rechtsassoziativität
Der Operator ?? ist rechtsassoziativ, daher wird a ?? b ?? c als a ?? (b ?? c) gruppiert. Genau dieses Verhalten benötigen Sie für Alternativen.
let x: Int? = nil
let y: Int? = nil
let z: Int? = 3
print(x ?? (y ?? (z ?? 0)))Geschichtete Konfigurationsstandards
Bei geschichteten Konfigurationen ist die Verkettung besonders nützlich: zuerst die Benutzereinstellung, dann die App-Einstellung und anschließend ein fest codierter Standardwert.
let userTheme: String? = nil
let appTheme: String? = "light"
let theme = userTheme ?? appTheme ?? "system"
print(theme)Mit Konvertierungen kombinieren
Sie können fehlgeschlagene Konvertierungen mit einem abschließenden Standardwert verketten, um Eingaben robust zu analysieren.
let raw: String? = nil
let parsed = raw.flatMap { Int($0) } ?? 0
print(parsed)Dictionary-Lookups in einer Verkettung
Mehrere Dictionary-Lookups können verkettet werden, sodass der erste verfügbare Schlüssel verwendet wird.
let prefs = ["color": "blue"]
let pick = prefs["accent"] ?? prefs["color"] ?? "gray"
print(pick)Verkettungen kurz halten
Zwei oder drei Alternativen lassen sich gut lesen. Wenn Sie viele aneinanderreihen, sollten Sie die Logik zur besseren Verständlichkeit in eine Funktion auslagern.
let one: String? = nil
let two: String? = nil
let three = "C"
print(one ?? two ?? three)Ergebnistyp einer Verkettung
Das endgültige Ergebnis einer Verkettung ist nicht optional, sofern der letzte Operand nicht optional ist. Dadurch können Sie den Wert sofort sicher verwenden.
let v1: Int? = nil
let v2: Int? = 4
let total: Int = (v1 ?? v2 ?? 0) + 1
print(total)Kurze Überprüfung
Testen Sie Verkettungen von Alternativen.
Rückblick: Standardwerte verketten
Verketten Sie ??-Operatoren, um mehrere Optionals der Reihe nach zu prüfen und auf einen abschließenden Standardwert zurückzugreifen. Der erste nicht nil-Wert gewinnt, die Auswertung verwendet einen Kurzschluss, und das Ergebnis ist nicht optional.
let p: String? = nil
let s: String? = "ok"
print(p ?? s ?? "none")Häufig gestellte Fragen
Ist die Lektion „Standardwerte verketten“ kostenlos?
Ja — der vollständige Text von „Standardwerte verketten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Swift Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Standardwerte verketten“?
Verknüpfen Sie mehrere Ausweichwerte übersichtlich. Du übst Swift Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Swift Academy zu starten?
Keine Vorkenntnisse erforderlich. Swift Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Standardwerte verketten“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Swift Academy-Lektion Code schreiben und ausführen?
Ja. Jede Swift Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Der Nil-Koaleszenzoperator
- Standardwerte verketten
- Standardwerte in Funktionsparametern
- Standard-Subscripts für Dictionaries