关于ios:按位NOT运算符(?)不适用于SWIFT 1.2中的布尔值

bitwise NOT operator ( ~ ) not work for boolean in SWIFT 1.2

我从Swift 1.0迁移到Swift 1.2,我注意到位非运算符(~)不再适用于这个简单的示例:

1
2
   var open : Bool = false
   open = ~open

"~"不可用,请使用"!"而不是操作员

这是一种新的方式吗?任何帮助都将不胜感激


出于某种原因,swift曾经支持bool类型上的位运算符。

在像swift这样的高级语言中,bool数据类型只能是"true"或"false"中的一种,您不应该使用~(not)、(or)和&;(and)等位运算符。使用条件运算符!(不是)、(或)和&;&;(和)。

相关:逻辑和条件与,或在C中有什么区别?

它是一种不同的语言,但幸运的是,在大多数使用C类语法的语言中,这些运算符的实现实际上是相同的。