Junior
Šta je wrapped?
sobes.tech АИ
Одговор од АИ
wrapped - то је вредност типа опционал након успешног unwrapping-а његовог садржаја. Опционал Optional<<Wrapped>> или садржи вредност типа Wrapped, или је nil. Unwrapping омогућава приступ вредности Wrapped ако она постоји.
Примери unwrapping-а:
-
Принудно
unwrapping(Force unwrapping)!:var optionalString: String? = "Hello" let unwrappedString = optionalString! // Добија вредност "Hello" // Ако је optionalString == nil, доћи ће до грешке -
Опционално повезивање (
Optional binding)if letилиguard let:var anotherOptionalString: String? = "World" if let guaranteedString = anotherOptionalString { // Унутар овог блока, guaranteedString је типa String (разглобљен) print(guaranteedString) } -
Опционално цепање (
Optional chaining)?:class MyClass { var property: String? } var instance: MyClass? = MyClass() instance?.property = "Value" // Ако `instance` није nil, својство се поставља let retrievedValue = instance?.property // retrievedValue ће бити String? -
Оператор за нулску коалесценцију (
Nil-coalescing operator)??:var yetAnotherOptionalString: String? = nil let defaultValue = yetAnotherOptionalString ?? "Default" // defaultValue ће бити "Default" (String) // Ако је yetAnotherOptionalString имао вредност, она би била коришћена као разглобљена
У контексту Swift, wrapped вредност је директно оно што је било "унутра" у опционалу пре његове обраде.