Sobes.tech
Junior — Middle

Може ли да създадете собствена реализация на типа Optional за обработка на възможни липсващи стойности?

sobes.tech AI

Отговор от AI

Да, можете да създадете собствена реализация на типа Optional за обработка на стойности, които може да липсват. В Swift, Optional е обвивка, която съдържа стойност или nil.

Пример за проста реализация на собствен Optional:

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

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

// Използване
let value: MyOptional<Int> = .some(10)
if let unwrapped = value.unwrap() {
    print("Стойност: \(unwrapped)")
} else {
    print("Липсва стойност")
}

По този начин можете да реализирате собствен тип, който работи по принципа на Optional, осигурявайки безопасна работа с липсващи стойности.