iOS:二进制运算符'| ='不能应用于两个'Bool'操作数

Kir*_*air 2 ios xcode7 swift2

在对两个布尔值执行按位运算时出错. 错误:"二元运算符'| ='不能应用于两个'Bool'操作数"

func checkAvailability(available:Bool) -> Bool{
    var bChanged = false
    bChanged |= available //"Binary operator '|=' cannot be applied to two 'Bool' operands"
    return bChanged  
}
Run Code Online (Sandbox Code Playgroud)

请任何人帮我解决问题......

Lew*_*Lew 5

您可以通过重载运算符来自己定义它:

斯威夫特2:

func |= (inout left: Bool, right: Bool) {
   left = left || right
}
Run Code Online (Sandbox Code Playgroud)

斯威夫特3:

func |= (left: inout  Bool, right: Bool) {
   left = left || right
}
Run Code Online (Sandbox Code Playgroud)