OC 基础知识遗漏点

近期看Objective-C 基础教程发现一些之前没有注意到的东西,现在把这些知识点例举出来

1.BOOL

Objective-C中的BOOL是一种signed char的typedef,它使用了8为的存储空间。YES定义为1,而NO定义为0.

OC中并不将BOOL作为仅能保存YES或NO值的真正的布尔类型来处理。编译器将BOOL类型认为八位二进制数,YES或NO知识一种约定。这样就会出现意外,倘若将一个>1Bite的short或int值赋给一个BOOL变量,那么只有低位字节会用作BOOL,假设该低字节刚好为0,BOOL值将会为0,即为NO值         

例如:

结果为:are 17 and 6 difference? NO(该结果是错误的)

尽管上述函数是在C语言中会得到真值,但在OC中YES不等于1

2.




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值