Sobes.tech
Junior — Middle

Lze vytvořit vlastní implementaci typu Optional pro zpracování možných chybějících hodnot?

sobes.tech AI

Odpověď od AI

Ano, je možné vytvořit vlastní implementaci typu Optional pro zpracování hodnot, které mohou chybět. V Swift je Optional obal, který buď obsahuje hodnotu, nebo nil.

Příklad jednoduché implementace vlastního Optional:

enum MyOptional<T> {
    case some(T)
    case none

    func unwrap() -> T? {
        switch self {
        case .some(let value):
            return value
        case .none:
            return nil
        }
    }
}

// Použití
let value: MyOptional<Int> = .some(10)
if let unwrapped = value.unwrap() {
    print("Hodnota: \(unwrapped)")
} else {
    print("Hodnota chybí")
}

Tímto způsobem lze implementovat vlastní typ, který bude fungovat podle principu Optional, a zajistit bezpečné zacházení s chybějícími hodnotami.