[英]What exactly does bool parameter do in animateWithDuration:animations:completion:
[英]What does the ^ operator do to a BOOL?
这句话是什么意思?
isChecked = isChecked ^ 1;
isChecked
是一个BOOL
。
“^”是异或运算,因此0翻转为1,1翻转为零。 结果应与isChecked = !isChecked
相同。
它将XOR与1检查,所以我认为是真的^ 1 = 0(假)和假^ 1 = 1(真)
它只翻转BOOL
的最后一点。 不是逻辑否定的可靠方法。 如果某人足够疯狂将BOOL
变量设置为某个数字,例如5.然后执行^ 1
只会将值的最后一位翻转为4,仍然会将其评估为YES
。
如果你想在逻辑上否定,请使用!
而不是运营商
^
是独家或运营商。
在您的例子是用于创建切换- isChecked
将设置只有isChecked
以前未设置。
这是按位XOR运算符,将0更改为1,将1更改为0。 看到所有的opertors 在这里 。
“^”称为异或或异或运算。 在这种情况下,它会将布尔值从true更改为false,反之亦然。
要了解更多信息,请查看此链接
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.