我从 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/