Junior
Mi az a wrapped?
sobes.tech MI
Válasz az MI-től
wrapped - ez az érték egy opcionális típus esetén az, ami az unwrapping után marad. Az Optional<<Wrapped>> vagy tartalmaz egy Wrapped típusú értéket, vagy nil. Az unwrapping lehetővé teszi, hogy hozzáférjünk a Wrapped értékhez, ha az létezik.
Példák az unwrapping-re:
-
Kényszerített
unwrapping(Force unwrapping)!:var optionalString: String? = "Hello" let unwrappedString = optionalString! // Megkapja az "Hello" értéket // Ha optionalString == nil, hibát okoz -
Opciók kötése (
Optional binding)if letvagyguard let:var anotherOptionalString: String? = "World" if let guaranteedString = anotherOptionalString { // Ebben a blokkban, guaranteedString típusú String (kicsomagolt) print(guaranteedString) } -
Opciók láncolása (
Optional chaining)?:class MyClass { var property: String? } var instance: MyClass? = MyClass() instance?.property = "Value" // Ha az instance nem nil, a tulajdonság beállításra kerül let retrievedValue = instance?.property // retrievedValue String? -
Nil-kiegyenlítő operátor (
Nil-coalescing operator)??:var yetAnotherOptionalString: String? = nil let defaultValue = yetAnotherOptionalString ?? "Default" // defaultValue "Default" lesz // Ha a yetAnotherOptionalString értékkel rendelkezett, az kerülne használatra
A Swift kontextusában a wrapped érték közvetlenül az, ami "belül" volt az opcionálban, mielőtt kezelni kezdtük.