Sobes.tech
Junior — Middle

Este posibil să creați o implementare proprie a tipului Optional pentru gestionarea valorilor potențial absente?

sobes.tech AI

Răspuns de la AI

Da, este posibil să creați o implementare proprie a tipului Optional pentru a trata valorile care pot lipsi. În Swift, Optional este un înveliș care conține o valoare sau nil.

Exemplu de implementare simplă a unui Optional personalizat:

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

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

// Utilizare
let value: MyOptional<Int> = .some(10)
if let unwrapped = value.unwrap() {
    print("Valoare: \(unwrapped)")
} else {
    print("Lipsă valoare")
}

Astfel, puteți implementa un tip propriu care funcționează conform principiului Optional, asigurând o gestionare sigură a valorilor lipsă.