Objective-C Language
BOOL / bool / Boolean / NSCFBoolean
Поиск…
BOOL / Boolean / BOOL / NSCFBoolean
- bool - тип данных, определенный в C99.
- Булевы значения используются в условных выражениях, таких как операторы if или while, для условного выполнения логики или повторного выполнения. При оценке условного оператора значение 0 считается «ложным», а любое другое значение считается «истинным». Поскольку NULL и nil определены как 0, условные операторы этих несуществующих значений также оцениваются как «ложные».
- BOOL - это тип Objective-C, определенный как подписанный символ с макросами YES и 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.
BOOL VS Boolean
BOOL
- Рамки Objective-C от Apple и большинство кодов Objective-C / Cocoa
BOOL. - Используйте BOOL в объективе-C, имея дело с любыми API-интерфейсами CoreFoundation
логический
- Boolean - это старое ключевое слово Carbon, определяемое как символ без знака
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow