Optionals
Optionals
Optionals ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 1. 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 1 Lektionen.
Einführung
Hallo,
Wird verwendet, um auszudrücken, dass eine optionale Variable möglicherweise keinen Wert hat.
Wenn eine Variable vom Optional-Typ einen Wert enthält, wird diese Variable entpackt und verwendet. Andernfalls enthält sie keinen Wert.
Verwendung von Optionals für viele Typen in Swift
Es kann mit dem nil-Zeiger in Obj-C verglichen werden. Allerdings ist der nil-Zeiger nur für Objekttypen gültig.
Optionals in Swift werden nicht nur für Objekttypen, sondern auch für Structs, Enums oder einfache Typen verwendet.
var optionalVar: String?
// optionalVar is automatically set to nil]
/*
Since we define it as optional without
assigning a value, the variable
automatically takes the value of nil.
*/Das nil in Swift und das nil in Obj-C sind nicht gleich
Das nil in Swift und das nil in Obj-C sind nicht gleich.
Ein nil-Zeiger in Obj-C zeigt an, dass das Objekt nicht vorhanden ist. In Swift ist nil kein nil-Zeiger. nil in Swift zeigt an, dass keine Daten vorhanden sind, und wird auch für andere Typen unterstützt, nicht nur für Objekttypen.
Force Unwrap
Optionale Variablen können mithilfe der Force-Unwrap-Methode angesprochen werden.
Mit dem Ausrufezeichen-Operator kann das Entpacken erzwungen werden, doch seine Verwendung ist im Allgemeinen nicht empfehlenswert.
Wenn die referenzierten Daten beim Force Unwrap nicht verfügbar sind, erhalten wir einen Laufzeitfehler.
let convertedNumber : Int? = 123
if convertedNumber != nil {
print("convertedNumber has an integer value of \(convertedNumber!).")
}
// Prints "convertedNumber has an integer value of 123."Zugriff auf ein Optional mit Optional Binding
Zugriff auf ein Optional mit Optional Binding
Mit dem if let-Block können wir auf den Wert der optionalen Variable zugreifen, indem wir ihn einer Konstanten oder Variablen zuweisen.
Diese Methode ist eleganter als Force Unwrap.
var possibleNumber : String? = "10"
if let actualNumber = possibleNumber {
print(actualNumber)
}Beispiel
if let firstNumber = Int("4"), let secondNumber = Int("42"),
firstNumber < secondNumber && secondNumber < 100 {
print("\(firstNumber) < \(secondNumber) < 100")
}
// Prints "4 < 42 < 100"
/*
If at least one of them is false,
it will not be entered in the if blog.
*/
Implizit entpackte Optionals
Implizit entpackte Optionals
In manchen Fällen wird der optionale Wert in der ersten Phase zugewiesen, und in den folgenden Phasen ist er definitiv nicht nil.
In solchen Fällen wird statt des optionalen Operators (?) der Operator (!) verwendet, um auszudrücken, dass dieses Optional definitiv nicht nil ist.
Diese Form der Definition wird als „implizit entpackte Optionals“ bezeichnet.
Implizit entpackt
Implizit entpackt
Der häufigste Einsatzbereich ist die Initialisierungsphase einer Klasse.
Anders als bei herkömmlichen Optionals müssen wir Variablen, die implizit als entpackt definiert sind, nicht entpacken.
let possibleString: String? = "An optional string."
// requires an exclamation mark
let forcedString: String = possibleString!
let assumedString: String! = "An implicitly unwrapped optional string."
// no need for an exclamation mark
let implicitString: String = assumedString Beispiel
Wenn wir Variablen dieses Typs nil zuweisen, erhalten wir Laufzeitfehler.
Sehen wir uns ein Beispiel an
/*
We can use it during optional binding or we can check for nil.
So we use implicitly unwrapped optional
in the same way we use classic optional.
*/
var assumedString: String! = nil
if let definiteString = assumedString {
print(definiteString)
}
// Prints "An implicitly unwrapped optional string."Warnung
Wenn bei einer Variable die Möglichkeit besteht, dass sie nil ist, darf ein implizit entpacktes Optional nicht verwendet werden.
Nil-Coalescing-Operator
Nil-Coalescing-Operator
Er erleichtert das Entpacken von Optional-Typen.
Sehen wir uns das an einem Beispiel an.
let defaultColorName = "red"
// defaults to nil
var userDefinedColorName: String?
var colorNameToUse = userDefinedColorName ?? defaultColorName
/*
userDefinedColorName is nil,
so colorNameToUse is set to the default of "red"
*/
// a != nil ? a! : b
/*
We can think of it as a shortcut to the above expression.
A checks if a is nil, if a is not nil, it unwrap and eturn,
otherwise it returns the default value, ie b.
*/
Herzlichen Glückwunsch
Herzlichen Glückwunsch 🎉
Das Konzept der Optionals ist eines der wichtigsten Merkmale von Swift. Durch die Verwendung von Optionals ersparen wir uns nil-Prüfungen, schreiben eleganteren Code und machen unsere Anwendungen sicherer.
Bis zur nächsten Lektion 🥳

Häufig gestellte Fragen
Ist die Lektion „Optionals“ kostenlos?
Ja — der vollständige Text von „Optionals“ 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 1 Lektionen.
Was lerne ich in „Optionals“?
Optionals 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 1 von 1.
Wie lange dauert die Lektion „Optionals“?
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.