BOOLBooleanboolNSCFBoolean
- bool 是 C99 中定义的数据类型。
- 布尔值在条件中使用,例如 if 或 while 语句,以有条件地执行逻辑或重复执行。在评估条件语句时,值 0 被视为假,而任何其他值被视为真。由于 NULL 和 nil 定义为 0,因此对这些不存在的值的条件语句也会被评估为
false
。 - BOOL 是一个 Objective-C 类型,定义为 signed char,宏为 YES,NO 为 NO,表示 true 和 false
从 objc.h 中的定义:
#if (TARGET_OS_IPHONE && __LP64__) || TARGET_OS_WATCH
typedef bool BOOL;
#else
typedef signed char BOOL;
// BOOL is explicitly signed so @encode(BOOL) == "c" rather than "C"
// even if -funsigned-char is used.
#endif
#define YES ((BOOL)1)
#define NO ((BOOL)0)
- NSCFBoolean 是 NSNumber 类集群中的私有类。它是 CFBooleanRef 类型的桥梁,用于为 Core Foundation 属性列表和集合包装布尔值。CFBoolean 定义常量 kCFBooleanTrue 和 kCFBooleanFalse。因为 CFNumberRef 和 CFBooleanRef 是 Core Foundation 中的不同类型,所以它们在 NSNumber 中由不同的桥接类表示是有意义的。