我想知道目标c中的以下值之间有什么区别?
TRUE(uppercase) - true(lowercase) - yes FALSE(uppercase) - false(lowercase) - no
它们在IDE中的颜色不同,在使用不同的布尔值时会有不同的情况吗?
谢谢
解决方法
这些值的颜色不同,因为它们以两种不同的类型使用:BOOL和bool,并且是不同的语言结构.
BOOL是有符号字符的宏重定义,这意味着它可以有两个以上的值,而映射为NO / FALSE == 0,YES / TRUE == 1时,在编写布尔表达式时必须小心,将任何非零值视为true.可以分配给BOOL的值被定义为宏,并相应地进行着色.
另一方面,bool是一个真正的布尔类型,只能有两个值 – true和false.它的值是母语构造,并且是这样的.
这里有一些关于这个话题的其他SO讨论:
Is there a difference between YES/NO,TRUE/FALSE and true/false in objective-c?
Objective-C : BOOL vs bool