我想知道目标c中的以下值之间有什么区别:
TRUE(uppercase) - true(lowercase) - yes
FALSE(uppercase) - false(lowercase) - no
它们在IDE中的颜色不同,在使用不同的布尔值时有不同的情况吗?
由于
答案 0 :(得分:15)
这些值的颜色不同,因为它们以两种不同的类型使用 - BOOL
和bool
,并且是不同的语言结构。
BOOL
是signed char
的宏重定义,这意味着它可以有两个以上的值,而映射是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