Sobes.tech
Junior

Was ist wrapped?

sobes.tech KI

Antwort von AI

wrapped - ist der Wert eines optionalen Typs nach erfolgreichem Entpacken (unwrapping) seines Inhalts. Der Optional<<Wrapped>>-Typ speichert entweder einen Wert vom Typ Wrapped oder nil. Das Entpacken ermöglicht den Zugriff auf den Wrapped-Wert, falls er existiert.

Beispiele für das Entpacken:

  1. Erzwungenes Entpacken (Force unwrapping) !:

    var optionalString: String? = "Hello"
    let unwrappedString = optionalString! // Holt den Wert "Hello"
    // Wenn optionalString == nil, tritt ein Fehler auf
    
  2. Optionale Bindung (Optional binding) if let oder guard let:

    var anotherOptionalString: String? = "World"
    if let guaranteedString = anotherOptionalString {
        // Innerhalb dieses Blocks ist guaranteedString vom Typ String (entpackt)
        print(guaranteedString)
    }
    
  3. Optionale Verkettung (Optional chaining) ?:

    class MyClass { var property: String? }
    var instance: MyClass? = MyClass()
    instance?.property = "Value" // Wenn instance nicht nil ist, wird die Eigenschaft gesetzt
    let retrievedValue = instance?.property // retrievedValue ist vom Typ String?
    
  4. Null-Koaleszenz-Operator (Nil-coalescing operator) ??:

    var yetAnotherOptionalString: String? = nil
    let defaultValue = yetAnotherOptionalString ?? "Default" // defaultValue ist "Default" (String)
    // Wenn yetAnotherOptionalString einen Wert hätte, würde dieser verwendet werden
    

Im Kontext von Swift ist wrapped der Wert, der "innerhalb" des Optionals vor dessen Verarbeitung lag.