我刚刚切换到 Swift 1.2,现在它不再喜欢了
let v = optionalVal as SomeThing ?? default
Apple 的发行说明没有说明任何相关内容。当然我可以使用 if nil
但 ??
很方便。
最佳答案
您只需将它放在括号内,强制转换现在需要一个感叹号!或者作为?:
let v = ( optionalVal as? SomeThing ) ?? default
更新:
Apple 今天刚刚发布了 Xcode6.3 Beta 2,似乎不再需要它了:
Swift Compiler
This expression now parses correctly, without need for parentheses:
dict[someKey] as? Int ?? 5
关于operators - swift 1.2 ??运算符(operator),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28618671/