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 中由不同的橋接類表示是有意義的。