Junior
Čo je wrapped?
sobes.tech AI
Odpoveď od AI
wrapped - je hodnota typu voliteľného (optional) po úspešnom unwrapping-u jeho obsahu. Voliteľný Optional<<Wrapped>> buď obsahuje hodnotu typu Wrapped, alebo je nil. Unwrapping umožňuje prístup k hodnote Wrapped, ak existuje.
Príklady unwrapping-u:
-
Vynútené
unwrapping(Force unwrapping)!:var optionalString: String? = "Hello" let unwrappedString = optionalString! // Získa hodnotu "Hello" // Ak je optionalString == nil, dôjde k chybe -
Voliteľné viazanie (
Optional binding)if letaleboguard let:var anotherOptionalString: String? = "World" if let guaranteedString = anotherOptionalString { // Vo vnútri tohto bloku je guaranteedString typu String (odbalený) print(guaranteedString) } -
Voliteľné reťazenie (
Optional chaining)?:class MyClass { var property: String? } var instance: MyClass? = MyClass() instance?.property = "Value" // Ak `instance` nie je nil, vlastnosť sa nastaví let retrievedValue = instance?.property // retrievedValue bude typu String? -
Operátor nulovej koalescencie (
Nil-coalescing operator)??:var yetAnotherOptionalString: String? = nil let defaultValue = yetAnotherOptionalString ?? "Default" // defaultValue bude "Default" (String) // Ak by yetAnotherOptionalString mal hodnotu, použila by sa ako odbalená
V kontexte Swift je wrapped hodnota priamo to, čo bolo "vnútri" opčionalu pred jeho spracovaním.