这句话是什么意思?
isChecked = isChecked ^ 1;
isChecked
是BOOL
。
答案 0 :(得分:5)
“^”是异或运算,因此0翻转为1,1翻转为零。结果应与isChecked = !isChecked
相同。
答案 1 :(得分:2)
它将XOR与1检查,所以我认为是真的^ 1 = 0(假)和假^ 1 = 1(真)
答案 2 :(得分:2)
答案 3 :(得分:2)
它只会翻转BOOL
的最后一位。不是逻辑否定的可靠方法。
如果有人疯狂到将BOOL
变量设置为某个数字,例如5.然后执行^ 1
只会将值的最后一位翻转为4,仍然会将其计算为{{1 }}
如果您想逻辑否定,请改用YES
运算符。
答案 4 :(得分:1)
^
是exclusive or运算符。
在您的示例中,它用于创建切换 - 仅当先前未设置isChecked
时才会设置isChecked
。
答案 5 :(得分:1)
这是按位XOR运算符,将0更改为1,将1更改为0。查看所有opertors here。
答案 6 :(得分:1)
“^”称为异或或异或运算。在这种情况下,它会将布尔值从true更改为false,反之亦然。
要了解有关详情,请查看此link