Xcode9 beta Xcode 9 beta 3-Swift 3.2:比较可选

Xcode9 beta Xcode 9 beta 3-Swift 3.2:比较可选,xcode9-beta,swift3.2,Xcode9 Beta,Swift3.2,在Xcode 8.3.2中编译良好的项目在将可选/非可选值与== 我发现的是一个更老的建议,即取消同一项目的合作关系: 所以现在在Xcode 9中,我甚至不能比较两个选项: let xxx: String? = "A" let yyy: String? = "B" if xxx == yyy { //ERROR: Ambiguous use of operator '==' } 有人能给我指一个可以解释这一点的资源吗? 还是只是暂时的错误 感谢使用XCo

在Xcode 8.3.2中编译良好的项目在将可选/非可选值与==

我发现的是一个更老的建议,即取消同一项目的合作关系:

所以现在在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版本。

swift 4和swift 3.2的构建很好,对不起,我的错。对于某些类型的对象,存在一个隐藏的扩展重写运算符==。事实是,Xcode8编译代码很好,而Xcode9Swift 3.2却很混乱。