Objective c布尔值

时间:2010-08-10 18:46:25

标签: objective-c boolean

我想知道目标c中的以下值之间有什么区别:

TRUE(uppercase) - true(lowercase) - yes
FALSE(uppercase) - false(lowercase) - no

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

由于

1 个答案:

答案 0 :(得分:15)

这些值的颜色不同,因为它们以两种不同的类型使用 - BOOLbool,并且是不同的语言结构。

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

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

以下是本主题的其他SO讨论:
Is there a difference between YES/NO,TRUE/FALSE and true/false in objective-c?
Objective-C : BOOL vs bool