Idiom do radzenia sobie z opcjami w Swift wydaje się nadmiernie rozwlekły, jeśli wszystko, co chcesz zrobić, to podać wartość domyślną w przypadku, gdy jest zerowa:
if let value = optionalValue {
// do something with 'value'
} else {
// do the same thing with your default value
}
co wiąże się z niepotrzebnym powielaniem kodu lub
var unwrappedValue
if let value = optionalValue {
unwrappedValue = value
} else {
unwrappedValue = defaultValue
}
która unwrappedValue
nie wymaga stałej.
Monada Option Scali (która jest w zasadzie tym samym pomysłem co opcja Swift) ma metodę getOrElse
do tego celu:
val myValue = optionalValue.getOrElse(defaultValue)
Czy coś mi brakuje? Czy Swift ma już na to kompaktowy sposób? Lub, jeśli to nie wystarczy, czy można zdefiniować getOrElse
rozszerzenie dla Optional?