Swift 1.2 ??操作员

Swift 1.2 ?? operator

我刚切换到 Swift 1.2,现在它不再喜欢

let v = optionalVal as SomeThing ?? default

A​​pple 的发行说明没有说明任何相关信息。当然我可以使用 if nil?? 很方便。

您只需将其放在括号内,强制转换现在需要一个感叹号!或者作为?:

let v = ( optionalVal as? SomeThing ) ?? default

更新:

A​​pple 今天刚刚发布 Xcode6.3 Beta 2,似乎不再需要它了:

Swift Compiler

This expression now parses correctly, without need for parentheses:

dict[someKey] as? Int ?? 5