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, осигурявайки безопасна работа с липсващи стойности.