Xcode 9 beta 3 - Swift 3.2:比较可选
Xcode 9 beta 3 - Swift 3.2: comparing optional
在 Xcode 8.3.2 中编译良好的项目在将 optional/non 可选值与 ==
进行比较时显示出许多编译错误
我发现的是删除比较 <> 的旧提案:
https://github.com/apple/swift-evolution/blob/master/proposals/0121-remove-optional-comparison-operators.md
所以现在 Xcode 9,我什至无法比较两个可选值:
let xxx: String? = "A"
let yyy: String? = "B"
if xxx == yyy { //ERROR: Ambiguous use of operator '=='
}
有人能给我指出一个可以解释这一点的资源吗?
或者这只是一个临时错误?
谢谢
使用 XCode 9 beta (9M136h) 和 Swift 4,您的指令可以编译。
接受可选操作数的 == 和 != 的变体仍然有用,它们的结果并不令人惊讶,所以 他们将继续。
删除接受可选操作数的 <、<=、> 和 >= 版本。
因此您的说明应该适用于 Swift 3.2 或 Swift 4。
检查您在构建设置中使用的 swift 版本 -> Swift 语言版本。
在 Xcode 8.3.2 中编译良好的项目在将 optional/non 可选值与 ==
进行比较时显示出许多编译错误我发现的是删除比较 <> 的旧提案: https://github.com/apple/swift-evolution/blob/master/proposals/0121-remove-optional-comparison-operators.md
所以现在 Xcode 9,我什至无法比较两个可选值:
let xxx: String? = "A"
let yyy: String? = "B"
if xxx == yyy { //ERROR: Ambiguous use of operator '=='
}
有人能给我指出一个可以解释这一点的资源吗? 或者这只是一个临时错误?
谢谢
使用 XCode 9 beta (9M136h) 和 Swift 4,您的指令可以编译。
接受可选操作数的 == 和 != 的变体仍然有用,它们的结果并不令人惊讶,所以 他们将继续。
删除接受可选操作数的 <、<=、> 和 >= 版本。
因此您的说明应该适用于 Swift 3.2 或 Swift 4。 检查您在构建设置中使用的 swift 版本 -> Swift 语言版本。