O idioma para lidar com opcionais no Swift parece excessivamente detalhado, se tudo o que você deseja fazer é fornecer um valor padrão no caso em que é nulo:
if let value = optionalValue {
// do something with 'value'
} else {
// do the same thing with your default value
}
que envolve a duplicação desnecessária de código ou
var unwrappedValue
if let value = optionalValue {
unwrappedValue = value
} else {
unwrappedValue = defaultValue
}
o que unwrappedValue
não requer ser uma constante.
A mônada de Scala's Option (que é basicamente a mesma ideia que a Swift's Optional) possui o método getOrElse
para esse fim:
val myValue = optionalValue.getOrElse(defaultValue)
Estou esquecendo de algo? O Swift já tem uma maneira compacta de fazer isso? Ou, na sua falta, é possível definir getOrElse
em uma extensão para Opcional?