在Swift中值为nil时是否有指定占位符文本的快捷方式?
现在我做:
let myText:String!
if myDouble != nil{
myText = "\(myDouble!)"
}else{
myText = "Value not provided"
}
Run Code Online (Sandbox Code Playgroud)
这是有效的,但是必须一直这样做非常烦人.有没有办法做类似的事情
let myText:String = "\(myDouble ?? "Value no provided")"
Run Code Online (Sandbox Code Playgroud)
这失败是因为它想要一个默认的Double值,但我真的想要一个String值.
你可以使用map和nil-coalescing:
let myText = myDouble.map { String($0) } ?? "Value not provided"
Run Code Online (Sandbox Code Playgroud)
如果myDouble是nil,结果map是nil,结果是之后的值??.
如果myDouble不是nil,则结果是map从中创建字符串的输出Double.
有关更多详细信息,请参阅Swift标准库中枚举map函数的文档Optional.
| 归档时间: |
|
| 查看次数: |
303 次 |
| 最近记录: |