相关疑难解决方法(0)

为Swift中的Optional提供默认值?

在Swift中处理选项的习惯用法似乎过于冗长,如果你想做的就是在nil的情况下提供一个默认值:

if let value = optionalValue {
    // do something with 'value'
} else {
    // do the same thing with your default value
}
Run Code Online (Sandbox Code Playgroud)

这涉及不必要地复制代码,或

var unwrappedValue
if let value = optionalValue {
    unwrappedValue = value
} else {
    unwrappedValue = defaultValue
}
Run Code Online (Sandbox Code Playgroud)

unwrappedValue不一定是常数.

Scala的Option monad(与Swift的Optional基本相同)具有getOrElse用于此目的的方法:

val myValue = optionalValue.getOrElse(defaultValue)
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?斯威夫特有一个紧凑的方式吗?或者,如果失败,是否可以getOrElse在可选的扩展中定义?

optional swift

133
推荐指数
3
解决办法
6万
查看次数

标签 统计

optional ×1

swift ×1