我经常遇到一个swift场景,如果可选不是零,我希望将它分配给var,否则将该var设置为默认值。然后我希望将结果保留在实施的最外面的范围内。有条件地分配变量值的最佳方法
var value:String
if let temp = someOptionalField {
value = temp
} else {
value = someDefaultValue
}
上述说法对于swift来说似乎过分,因为“temp”相当不值钱。在另一方面,使得如果LIKE语句下面也似乎不是“SWIFTY”,因为越来越“someDefaultField”可能是一个昂贵的过程
var value:String
if someOptionalField != nil {
value = someOptionalField!
} else {
value = someDefaultValue
}
什么是获得一个条件变量或指定给一个默认的swiftiest方式值,同时保持最终结果在最外层的范围内?有时候,我会用下面的语句,但我觉得用“==零”不走的迅速可选设计优势
var value:String? = someOptionalField
if value == nil {
value = someDefaultValue
}
'var value = someOptionalField ?? someDefaultValue' – nathan