Objective c布尔值

Dav*_*e C 11 boolean objective-c

我想知道目标c中的以下值之间的差异:

TRUE(uppercase) - true(lowercase) - yes
FALSE(uppercase) - false(lowercase) - no
Run Code Online (Sandbox Code Playgroud)

它们在IDE中的颜色不同,在使用不同的布尔值时会出现不同的情况吗?

谢谢

Fra*_*nov 15

这些值的颜色不同,因为它们是两种不同类型的使用- BOOL并且bool和不同的语言结构.

BOOL是一个宏的重新定义signed char,这意味着它可以有两个以上的值,而映射是NO/ FALSE== 0,YES/ TRUE== 1,你必须小心编写布尔表达式并将任何非零值视为真正.可以分配的值BOOL定义为宏,并相应地着色.

同时,bool另一方面是一个真正的布尔类型,只能有两个值 - truefalse.它的值是本地语言结构,并且是这样的.

以下是本主题的其他SO讨论:
在Objective-c中,YES/NO,TRUE/FALSE和true/false之间是否存在差异?
Objective-C:BOOL vs bool