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:
-
Force unwrapping
!:var optionalString: String? = "Hello" let unwrappedString = optionalString! // Krijgt de waarde "Hello" // Als optionalString == nil, zal er een crash optreden -
Optionele binding
if letofguard let:var anotherOptionalString: String? = "World" if let guaranteedString = anotherOptionalString { // Binnen deze blok is guaranteedString van type String (unwrapped) print(guaranteedString) } -
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? -
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.