Sobes.tech
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.