Swift 1.2(Xcode 6.3)删除了xor'^'运算符的Bool值?

时间:2015-04-10 07:20:10

标签: ios xcode swift xcode6.3

Xcode 6.3上的示例代码......

var str1 = ""
var str2 = ""
if str1.isEmpty ^ str2.isEmpty {
  // do something.
}

显示以下错误。

'^' is unavailable: use the '!=' operator instead

我在Apple文档中找不到该规范。 这个规范(并且我不得不把它搞乱)?

2 个答案:

答案 0 :(得分:26)

假设您尝试使用逻辑异或,!=应该符合您的目的。 ^是按位异或。因此,苹果公司为bool值取消了它。

答案 1 :(得分:11)

这显然是有意的:

$ echo ':print_module Swift' | swift -deprecated-integrated-repl | fgrep "use the '!=' operator instead"

所示:

@availability(*, unavailable, message="use the '!=' operator instead") func ^=(inout lhs: Bool, rhs: Bool)
@availability(*, unavailable, message="use the '!=' operator instead") func ^(lhs: Bool, rhs: Bool) -> Bool