Junior — Middle
Lehet-e saját implementációt készíteni az Optional típusból a hiányzó értékek kezelésére?
sobes.tech MI
Válasz az MI-től
Igen, létrehozhat saját Optional típus implementációt az olyan értékek kezelésére, amelyek hiányozhatnak. Swiftben az Optional egy csomagoló, amely vagy értéket tartalmaz, vagy nil.
Egy egyszerű saját Optional implementáció példája:
enum MyOptional<T> {
case some(T)
case none
func unwrap() -> T? {
switch self {
case .some(let value):
return value
case .none:
return nil
}
}
}
// Használat
let value: MyOptional<Int> = .some(10)
if let unwrapped = value.unwrap() {
print("Érték: \(unwrapped)")
} else {
print("Hiányzó érték")
}
Így megvalósíthat egy saját típust, amely az Optional elvén működik, és biztonságosan kezeli a hiányzó értékeket.