Sobes.tech
Junior — Middle

Is het mogelijk om een eigen implementatie van het type Optional te maken voor het afhandelen van mogelijk afwezige waarden?

sobes.tech AI

Antwoord van AI

Ja, het is mogelijk om een eigen implementatie van het type Optional te maken om waarden te verwerken die mogelijk afwezig zijn. In Swift is Optional een wrapper die of een waarde bevat of nil.

Voorbeeld van een eenvoudige implementatie van een eigen Optional:

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

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

// Gebruik
let value: MyOptional<Int> = .some(10)
if let unwrapped = value.unwrap() {
    print("Waarde: \(unwrapped)")
} else {
    print("Waarde ontbreekt")
}

Op deze manier kun je een eigen type implementeren dat volgens het principe van Optional werkt en veilige omgang met ontbrekende waarden garandeert.