简单的问题; 这些值之间是否存在差异(BOOL和bool之间是否存在差异)?一位同事提到他们在Objective-C中评估不同的东西,但是当我查看各自的.h文件中的typedef时,YES/TRUE/true都被定义为,1
而NO/FALSE/false都被定义为0
.真的有什么区别吗?
我想知道的区别nil
,NIL
和null
.我用Google搜索了一下,发现了这个:
nil
- >指向Objective-C对象的null指针
NIL
- >指向Objective-C类的null指针
null
- > null指向原始类型或缺少数据的指针
但我无法清楚地理解术语"Objective-C对象"和"类".
请向我解释一下.此外,有没有像任何文字NSNull
或NSNil
在Objective-C?如果是这样,那么请解释它的用途.
因此NULL
,它通常用于指针,并且nil
用于对象指针.
现在我也看到了Nil
,它也被更低级的Obj-C运行时函数所使用class_getProperty
.
这在某种程度上与nil
哲学不同吗?(是的,我知道他们实际上都是0)
它为什么甚至被引入?或者,如果Nil
是第一个(很可能),为什么会被nil
引入?