Junior — Middle
Is het mogelijk om een eigen implementatie van het type Optional te maken voor het afhandelen van mogelijk afwezige waarden?
sobes.tech AI
Antwoord van AI
Ja, het is mogelijk om een eigen implementatie van het type Optional te maken om waarden te verwerken die mogelijk afwezig zijn. In Swift is Optional een wrapper die of een waarde bevat of nil.
Voorbeeld van een eenvoudige implementatie van een eigen Optional:
enum MyOptional<T> {
case some(T)
case none
func unwrap() -> T? {
switch self {
case .some(let value):
return value
case .none:
return nil
}
}
}
// Gebruik
let value: MyOptional<Int> = .some(10)
if let unwrapped = value.unwrap() {
print("Waarde: \(unwrapped)")
} else {
print("Waarde ontbreekt")
}
Op deze manier kun je een eigen type implementeren dat volgens het principe van Optional werkt en veilige omgang met ontbrekende waarden garandeert.