Junior
Co je wrapped?
sobes.tech AI
Odpověď od AI
wrapped - je hodnota typu volitelného (optional) po úspěšném unwrapping jeho obsahu. Volitelný Optional<<Wrapped>> buď obsahuje hodnotu typu Wrapped, nebo je nil. Unwrapping umožňuje přístup k hodnotě Wrapped, pokud existuje.
Příklady unwrapping:
-
Vynucené
unwrapping(Force unwrapping)!:var optionalString: String? = "Hello" let unwrappedString = optionalString! // Získá hodnotu "Hello" // Pokud je optionalString == nil, dojde k pádu programu -
Volitelné přiřazení (
Optional binding)if letneboguard let:var anotherOptionalString: String? = "World" if let guaranteedString = anotherOptionalString { // Uvnitř tohoto bloku je guaranteedString typu String (odbalený) print(guaranteedString) } -
Volitelné řetězení (
Optional chaining)?:class MyClass { var property: String? } var instance: MyClass? = MyClass() instance?.property = "Value" // Pokud instance není nil, vlastnost je nastavena let retrievedValue = instance?.property // retrievedValue bude typu String? -
Operátor nulové koalescencie (
Nil-coalescing operator)??:var yetAnotherOptionalString: String? = nil let defaultValue = yetAnotherOptionalString ?? "Default" // defaultValue bude "Default" (String) // Pokud by yetAnotherOptionalString měl hodnotu, použila by se jako odbalená
V kontextu Swift je wrapped hodnota přímo to, co bylo "uvnitř" volitelného před jeho zpracováním.