ios - 按位非运算符 (~) 不适用于 SWIFT 1.2 中的 bool 值

标签 ios swift

我从 swift 1.0 迁移到 swift 1.2,我注意到按位非运算符 (~) 在这个简单的例子中不再有效:

   var open : Bool = false
   open = ~open

'~'不可用使用'!'改为运算符

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

最佳答案

出于某种原因,Swift 曾经支持 Bool 类型的按位运算符。

在像 Swift 这样的高级语言中, bool 数据类型只能是“真”或“假”之一,你不应该使用像 ~ (NOT)、| 这样的位运算符。 (OR) 和 & (AND)。使用条件运算符! (不),|| (OR) 和 && (AND)。

相关:What is the difference between logical and conditional AND, OR in C#?

这是一种不同的语言,但幸运的是,这些运算符的实现在大多数具有类 C 语法的语言中几乎是相同的。

关于ios - 按位非运算符 (~) 不适用于 SWIFT 1.2 中的 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31257678/

相关文章:

ios - 同步存储在 NSUserDefaults 中的数组?

ios - 使用部分将项目添加到 TableView

ios - 将用户的消息传递到另一个 TableView

ios - 如何使用 Swift 3 选择器?

ios - Xcode7 合成 setter settableview for null resettable property 不处理 nil

ios - 卡里斯塔 OBD ||与 iOS 设备的设备通信

iphone - ASIHTTPRequest - 设置忽略缓存/代理

ios - 将项目插入数组时基于更新 UIimage

swift - 无法创建函数数组

ios - 如何修复 : "Expression is Ambiguous".