一般编程我们都默认非零值就是TRUE,为零时FALSE。
那么在Objective-C中,又出现了YES、NO。咋回事呢。是酱紫滴,OC中用一个字节,即8位来表示BOOL值,也就是取一个数的低八位。那么对于8960这个数,它明显是非零数字,但是,但是!它的低八位都是零,所以它是NO。 注意一点啊,我这里说它是YES、NO是指,你在赋值给一个BOOL型数据时的值。
比如BOOL a = 8960;
那么在判断if(a)的时候,他表现出来的特征就是NO。
或者if(a == YES)也是NO。
但是如果你这样if(8960)它依旧是YES。
但是bool a = 8960; if(a == YES)它是真的。。。
就是这么简单。自己好好寻思去吧。
(我要吐槽,,那个MarkDown有bug啊!!!!!!!!!再也不想用了!!!)