我刚初学obj-c,看到obj-c里有两个定义布尔类型BOOL与bool,不知道这两者有什么区别,请高人指点。

解决方案 »

  1.   

    BOOL是YES和NO两个值,bool是true和false
      

  2.   


    还有个问题,我们平时应该多用bool呢,还是原生于obj-c的BOOL?
      

  3.   

    这两个类型是有区别的:BOOL的值,只取最高位做判断,比如,5的2进制是0x101,对BOOL来说是YES,4的2进制是0x100,对BOOL来说是NO不过好像指针不用遵守这个规则bool的值,直接取0和非0。
      

  4.   

    请看各自定义,sdk写的很清楚。
      

  5.   

    没区别,放心用把,但是obj-c习惯用YES和NO和BOOL了