BOOL

布尔类型 很多语言都有布尔值类型,有的关键字为boolean、有的为bool,表示方式为true、false。 在OC中,布尔类型的关键字为大写的BOOL,表示方式为YES、NO。

使用方式

BOOL类型一般用于表示真假、是否这种情况,如iOS开发中的按钮是否选中、排序是否提前完成等。表示方式如下: 1. BOOL isSelected = NO; 2. 3. // 判断方式 4. if (isSelected) { 5. 6. NSLog(@"选中"); 7. }

深入理解

当在xcode中输入BOOL时,编译器还联想出了BOOL、bool、Boolean、boolean_t等类型,我们来一一分析下。

BOOL

头文件:objc.h 实际类型:signed char 表示方式:YES \ NO 注意点:当BOOL a == 1的时候,才是YES,其他情况均为NO,所以在使用时,慎用a == YES这种方式。 1. BOOL a = 3; 2. NSLog(@"%d", a == YES); // 输出0

bool

头文件:stdbool.h 实际类型:_Bool (int) 表示方式:true \ false 1. bool a = 3; 2. NSLog(@"%d", a == true); // 输出1

Boolean

头文件:MacTypes.h 实际类型:unsigned char 表示方式:TRUE \ FALSE 注意:与BOOL的情况相同,仅当a == 1时为TRUE 1. Boolean a = 1; 2. NSLog(@"%d", a == TRUE);

boolean_t

头文件:boolean.h 实际类型:unsigned int 关于在OC中几种布尔值的区别,可查看这篇在stackoverflow上的回答:

http://stackoverflow.com/questions/14464671/all-kinds-of-booleans-in-objectivec