Swift 3:按位运算时Int不能转换为Bool

时间:2017-01-25 23:49:24

标签: swift

不确定我在这里做错了什么,但这里有一些破碎的琐碎代码:

if 10 & (1<<18) {
    return
}

这给了我:

  

'Int'不能转换为'Bool'

有什么问题?

2 个答案:

答案 0 :(得分:10)

与你可以写的C不同......

if (x) { }

......这实际上是非零检查:

if (x != 0) { }

您必须在Swift中测试一个布尔条件。将!= 0添加到您的对帐单中:

if 10 & (1<<18) != 0 {
    return
}

答案 1 :(得分:0)

Swift 4 检查

  1. 您的方法有一个正确的返回类型,这是调用者所期望的 例如:func yourMethod() -> Bool
  2. 来电方法最后有括号() yourMethod()