我看很多框架里的方法都用 BOOL 为什么?

boolean_t t;Boolean tt;BOOL ttt;bool tttt;

这四种布尔类型有什么区别?


catspeake
浏览 169回答 3
3回答

莫回无

typedef signed char BOOL;// BOOL is explicitly signed so @encode(BOOL) == "c" rather than "C"// even if -funsigned-char is used.define OBJC_BOOL_DEFINEDdefine YES (BOOL)1define NO (BOOL)0

阿波罗的战车

bool 是intBOOL 是charbool b1 当b1>0 就=YESBOOL b2 当b2=1 才=YES所以框架都用BOOLBoolean mac os上有历史意义的类型Boolean types and values              Boolean         Mac OS historic type, sizeof(Boolean)==1         bool            Defined in stdbool.h, ISO C/C++ standard type         false           Now defined in stdbool.h        true            Now defined in stdbool.hboolean_t i386/*  * File: boolean.h  *  * Boolean type, for I386.  */#ifndef _MACH_I386_BOOLEAN_H_#define _MACH_I386_BOOLEAN_H_#if defined(__x86_64__) && !defined(KERNEL)typedef unsigned int boolean_t;#elsetypedef int boolean_t;#endif#endif /* _MACH_I386_BOOLEAN_H_ */

holdtom

boolean_t t1 = 1;//int typeBoolean t2 = 1; //unsigned char typeBOOL t3 = 4;//YES or NObool t4 = 1;//true or falseNSAssert(t1, @"boolean_t t1 is NO");//通过测试NSAssert(t2, @"boolean_t t2 is NO");//通过测试NSAssert(t3, @"boolean_t t3 is NO");//通过测试NSAssert(t4, @"boolean_t t4 is NO");//通过测试
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS