bool、BOOL、Boolean......

来源:互联网 发布:冰河木马软件下载 编辑:程序博客网 时间:2024/06/05 19:55

前言

平时我们用的OC中的布尔类型和在框架中见到的一般都是BOOL,在我们敲出BOOL的过程中,会发现它其实有几个“兄弟姐妹”,很遗憾的是我们没怎么去深究它,特别是对于像我这样入行时间短的人,通常的思想就是我会常用的BOOL就行了,而实际上这可能就是别人能进大公司而你就只能去某“旮旯”里的重要原因。

概览

Name Typedef Header True Value BOOL signed char objc/objc.h YES bool _Bool(int) stdbool.h true Boolean unsigned char MacTypes.h \ boolean_t unsigned int boolean.h \ NSNumber __NSCFBoolean Foundation.h @(YES) CFBooleanRef struct pointer CoreFoundation/CFNumber.h kCFBooleanTrue

注:图表参考

综述

对于BOOL变量来说,只要变量值不为0,即为YES;
对于bool,变量值大于0,即为true;
对于boolean_t、Boolean,只要变量值不为0,就可以表示逻辑为真,但不代表其本身的值为true/YES(本质是宏),比如用作if、while语句的条件判断。

have fun!


0 0
原创粉丝点击