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ă.