Sobes.tech
Junior — Middle

Je možné vytvoriť vlastnú implementáciu typu Optional na spracovanie potenciálne chýbajúcich hodnôt?

sobes.tech AI

Odpoveď od AI

Áno, je možné vytvoriť vlastnú implementáciu typu Optional na spracovanie hodnôt, ktoré môžu chýbať. V Swift je Optional obal, ktorý buď obsahuje hodnotu, alebo nil.

Príklad jednoduchej implementácie 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žitie
let value: MyOptional<Int> = .some(10)
if let unwrapped = value.unwrap() {
    print("Hodnota: \(unwrapped)")
} else {
    print("Hodnota chýba")
}

Týmto spôsobom môžete implementovať vlastný typ, ktorý bude fungovať podľa princípu Optional, zabezpečujúc bezpečné zaobchádzanie s chýbajúcimi hodnotami.