El modismo para tratar con las opciones en Swift parece excesivamente detallado, si todo lo que desea hacer es proporcionar un valor predeterminado en el caso en que sea nulo:
if let value = optionalValue {
// do something with 'value'
} else {
// do the same thing with your default value
}
que implica duplicar código innecesariamente, o
var unwrappedValue
if let value = optionalValue {
unwrappedValue = value
} else {
unwrappedValue = defaultValue
}
lo cual requiere unwrappedValue
no ser una constante.
La mónada Option de Scala (que es básicamente la misma idea que la Opcional de Swift) tiene el método getOrElse
para este propósito:
val myValue = optionalValue.getOrElse(defaultValue)
¿Me estoy perdiendo de algo? ¿Swift ya tiene una forma compacta de hacerlo? O, en su defecto, ¿es posible definir getOrElse
en una extensión para Opcional?