L'idiome pour traiter les options dans Swift semble excessivement verbeux, si tout ce que vous voulez faire est de fournir une valeur par défaut dans le cas où elle est nulle:
if let value = optionalValue {
// do something with 'value'
} else {
// do the same thing with your default value
}
qui implique une duplication inutile du code, ou
var unwrappedValue
if let value = optionalValue {
unwrappedValue = value
} else {
unwrappedValue = defaultValue
}
ce qui unwrappedValue
ne nécessite pas d'être une constante.
La monade Option de Scala (qui est fondamentalement la même idée que celle de Swift) a la méthode getOrElse
à cet effet:
val myValue = optionalValue.getOrElse(defaultValue)
Est-ce que je manque quelque chose? Swift a-t-il déjà un moyen compact de le faire? Ou, à défaut, est-il possible de définir getOrElse
dans une extension pour Optionnel?