Sobes.tech
Junior

Wat is wrapped?

sobes.tech AI

Antwoord van AI

wrapped - dit is de waarde van een optioneel type na een succesvolle unwrapping van de inhoud. Het optionele Optional<<Wrapped>> bevat of een waarde van het type Wrapped of nil. Het unwrapping maakt toegang mogelijk tot de Wrapped-waarde, indien deze bestaat.

Voorbeelden van unwrapping:

  1. Force unwrapping !:

    var optionalString: String? = "Hello"
    let unwrappedString = optionalString! // Krijgt de waarde "Hello"
    // Als optionalString == nil, zal er een crash optreden
    
  2. Optionele binding if let of guard let:

    var anotherOptionalString: String? = "World"
    if let guaranteedString = anotherOptionalString {
        // Binnen deze blok is guaranteedString van type String (unwrapped)
        print(guaranteedString)
    }
    
  3. Optional chaining ?:

    class MyClass { var property: String? }
    var instance: MyClass? = MyClass()
    instance?.property = "Value" // Als instance niet nil is, wordt de eigenschap ingesteld
    let retrievedValue = instance?.property // retrievedValue is van type String?
    
  4. Nil-coalescing operator ??:

    var yetAnotherOptionalString: String? = nil
    let defaultValue = yetAnotherOptionalString ?? "Default" // defaultValue wordt "Default" (String)
    // Als yetAnotherOptionalString een waarde had, zou die worden gebruikt als unwrapped.
    

In de context van Swift is wrapped de waarde die direct "binnen" het optioneel lag voordat het werd verwerkt.