object-c中的布尔类型比C语言中的bool类型早了10年,它具有YES和NO两种值。在object-c中的布尔类型BOOL实际上是一种带符号的字符类型(signed char),它使用的空间是1byte,即8bit,其中YES定义为1,NO定义为0。将大于1字节的整形数(比如short或者int)赋给BOOL变量,会被截断处理,只保留末尾的8个bit。

以下是object-c中使用BOOL类型的例子:

#import <Foundation/Foundation.h>
//比较两个int数是否一样
BOOL areINTsDifferent(int thing1,int thing2){
if(thing1==thing2)
return NO;
else
return YES;
}
//返回BOOL类型的数对应的NSString字符串
NSString * boolString(BOOL yesNo){
if(yesNo==YES)
return @"YES";
else
return @"NO"; }
int main(int argc, const char * argv[]) {
BOOL areTheyDifferent ;
areTheyDifferent= areINTsDifferent(,);
//下面的%@表示NSString占位符
NSLog(@"are %d and %d different? %@",,,boolString(areTheyDifferent));
areTheyDifferent = areINTsDifferent(,);
NSLog(@"are %d and %d different? %@",,,boolString(areTheyDifferent));
return ;
}

输出的结果:

2016-04-04 23:18:48.964 hello-obj[1267:84194] are 6 and 6 different? NO
2016-04-04 23:18:48.965 hello-obj[1267:84194] are 23 and 42 different? YES

object-c中的BOOL类型的更多相关文章

  1. c语言中自定义bool类型模板

    首先,c语言中没有bool类型,只有c++中有,所以需要自定义,即c中表示bool类型的方法: 1.模板1 typedef int bool; #define false 0 #define true ...

  2. C#中判断bool 类型 代码的最短写法

    看到一个关于写最短代码的,  是一个bool类型判断的:    public bool IsNull(object val) { if (val == null) { return true; } e ...

  3. 2.C++中的bool类型,三目运算符,引用

    本章主要内容: 1)bool类型 2)三目运算符 3)引用 1.布尔型bool 在C++中,bool类型只有true(非0)和flase(0)两个值,且bool类型只占用了一个字节. 例如: #inc ...

  4. C++中的bool类型

    1.C++中的布尔类型 (1)C++在C语言的基础类型系统之上增加了bool: 1)C语言中,没有bool类型存在,往往都是用整型代替bool类型,常用0表示假,1表示真: 2)bool本来就有这样的 ...

  5. Python中的bool类型

    Python 布尔类型 bool python 中布尔值使用常量True 和 False来表示:注意大小写 比较运算符< > == 等返回的类型就是bool类型:布尔类型通常在 if 和 ...

  6. JavaScript中关于bool类型判断的一些总结。

    我从书上看到了一些关于   int类型 0 转换成boolean值得时候会把0转换成 false ,string 类型 的  "" 也会装换成false; 所以我就想,我能不能用一 ...

  7. Objective-C 中的 BOOL

    之前开发了一个针对单个数据模型,自动建表.增删改查等操作的 ORM 库,后边在 iPhone 5c 上使用时,出现了 crash 的情况. 该项目在 Github 开源,项目地址为SXJDatabas ...

  8. bool和BOOL类型知识集合

    知识点一.C语言中有bool类型吗? 转自http://blog.csdn.net/liuqiqi677/article/details/6703615 之前一直都没有注意到,最近在用C语言写DSP算 ...

  9. bool 类型存在数据库中为 0 和 1

    bool 类型存在数据库中为 0 和 1 但是在程序中应该使用  true 和 false 查询. 例如: bIsStart = 0 在数据中bIsStart为 0 sql 查询的时候,使用:sele ...

随机推荐

  1. zf-关于被发牌人没有显示环节的那个被发牌人的解决办法

    是存储过程里的字段没有插入进去,添加个presonName即可--修改的时候可以执行 dbo.dingshi_fapai 来进行存储 如果添加presonName 必须在临时表里加上这个字段,然后在进 ...

  2. 实例:SSH结合Easyui实现Datagrid的新增功能和Validatebox的验证功能

    在我前面一篇分页的基础上,新增了添加功能和添加过程中的Ajax与Validate的验证功能.其他的功能在后面的博客写来,如果对您有帮助,敬请关注. 先看一下实现的效果: (1)点击添加学生信息按键后跳 ...

  3. dwr.xml 配置

    dwr.xml 是你用来配置 DWR 的文件,默认是将其放入 WEB-INF 文件夹. 创建一个 dwr.xml 文件dwr.xml 有如下的结构: <?xml version="1. ...

  4. 方便android开发网站:

    可以通过输入包名或者Google Play地址消灾google市场的应用 http://apps.evozi.com/apk-downloader/ 16进制转常用的10进制 http://www.b ...

  5. copy ,abs,includes 3个函数

    copy:  Copy函数原型:标头: <algorithm> OutputIterator copy( InputIterator begin, InputIterator end, o ...

  6. c# mouseenter mousemove区别?

    onmousedown 当用户用任何鼠标按钮单击对象时触发. onmouseenter 当用户将鼠标指针移动到对象内时触发. onmouseleave 当用户将鼠标指针移出对象边界时触发. onmou ...

  7. Android studio怎么创建shape的XML文件

    drawable里面 new一个 Drawable resource xml 一般打开是selector ,把selector改成shape就OK了

  8. Xcode7 免证书真机测试

    Xcode很早就有个免证书测试,今天我自己也测试了一把,还是挺好用的,接下来,我就说一下我的大体过程: 注意:一定要让你的真机设备的系统版本和app的系统版本想对应,如果不对应就会出现一个很常见的问题 ...

  9. Ubuntu Server 重启 Apache Mysql

    a. 重启 apache sudo service apache2 restart b. 重启 MySQL sudo service mysql restart

  10. away3d 汽车路线编辑器

    2012年的时候,跟朋友去到一个公司,打算用away3d做一个赛车模拟养成游戏,后来由于种种原因,立项未成,由于朋友已经转行,自己也想对自己做过的事情有一些交代,所以将我负责的部分,赛道编辑器的源码公 ...