Sobes.tech
Junior — Middle

¿Se puede crear una implementación propia del tipo Optional para manejar valores potencialmente ausentes?

sobes.tech AI

Respuesta de la IA

Sí, es posible crear una implementación propia del tipo Optional para manejar valores que pueden estar ausentes. En Swift, Optional es un envoltorio que contiene un valor o nil.

Ejemplo de una implementación sencilla de un Optional propio:

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

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

// Uso
let value: MyOptional<Int> = .some(10)
if let unwrapped = value.unwrap() {
    print("Valor: \(unwrapped)")
} else {
    print("Valor ausente")
}

De esta manera, se puede implementar un tipo propio que funcione según el principio de Optional, garantizando un manejo seguro de valores ausentes.