iOS 神奇的 BOOL 值简介

真。Vēritās。哲学的全部纲领都建立在对它的追寻上,可它的确切含义和蕴涵依旧没有完全呈现在我们面前。真相是独立存在的,还是被有条件的定义反对虚假?一个命题是否可以同时是真和假?是否有绝对的真理,还是一切都是相对的?

假,相当于0。0是极为重要的数字,0的发现被称为人类伟大的发现之一。最初,阿拉伯数字中没有“0”,经过1000多年后才产生了“0”。 ”零”发源于印度,后来传入了罗马.没有“0”这个数字时,为了表示某一位上一个计数单位也没有,就“不写”或“空写”。后来,印度人在数字中间加上小点“.”表示空位,又过了很长时间,小点便改成“0”。

再一次,将我们有逻辑的世界编码为冰冷的电脑计算字节码使得我们不得不用这样或那样的方法处理这些问题。同时,通过阅读我们关于Objective-C中布尔值及其同类的讨论,你会发现,真相实在是比小说还离奇。

当判断一个条件语句,数值0为“假”,而其他任何数值为“真”。因为NULL和nil被定义为0,所以对于这些不存在的数值的条件语句也被判定为“假”。

BOOL也是宏定义,在objc.h头文件的源代码中它被定义为signed char类型

在objc.h文件中定义:

iOS 神奇的 BOOL 值简介_第1张图片
      

通过查资料网上的结论:

1. Objective-C用BOOL来编码真值。它是signed char的typedef,并且用宏YES和NO来相应的表示真和假。

2.Objective-C用BOOL signed char 是有符号字符型占1个字节,而BOOL类型的值范围是-128 ~ 127。

下面我们来上面结论

iOS 神奇的 BOOL 值简介_第2张图片

通过图片中的26,33,35行我们可以验证上面的结论。


相关文档:

www.jianshu.com/p/678ee3ee4a64

nshipster.cn/bool/

stackoverflow.com/questions/541289/objective-c-bool-vs-bool

你可能感兴趣的:(iOS 神奇的 BOOL 值简介)