BOOL、bool、Boolean、NSCFBoolean 的区别
BOOL、bool、Boolean、NSCFBoolean 的区别
Name | Typedef | Header | True Value | False Value |
---|---|---|---|---|
BOOL | signed char | objc.h | YES | NO |
bool | _Bool (int ) | stdbool.h | true | false |
Boolean | unsigned char | MacTypes.h | TRUE | FALSE |
NSNumber | __NSCFBoolean | Foundation.h | @(YES) | @(NO) |
CFBooleanRef | struct | CoreFoundation.h | kCFBooleanTrue |
不要尝试着将 BOOL 转换成 bool,也不要直接将 Boolean 赋值给 BOOL。
Boolean 转 BOOL 的方法:
Boolean a = false;
BOOL b = [(NSNumber *)a boolValue];