您的位置:首页 > 移动开发 > Objective-C

Objective C 中的nil,Nil,NULL和NSNull理解

2015-03-04 15:16 441 查看
ObjC 里面的几个空值符号经常会差点把我搞死,这些基础的东西一点要弄清楚才行,以提高码农的基本素质。


nil

nil 是 ObjC 对象的字面空值,对应 id 类型的对象,或者使用 @interface 声明的 ObjC 对象。

例如:

?
<
4000
/tr>
定义:

?


Nil

Nil 是 ObjC 类类型的书面空值,对应 Class 类型对象。

例如:

?
定义声明和 nil 是差不多的,值相同:

?


NULL

NULL 是任意的 C 指针空值。

例如:

?
定义:

?


NSNull

NSNull 是一个代表空值的类,是一个 ObjC 对象。实际上它只有一个单例方法:+[NSNull null],一般用于表示集合中值为空的对象。

例子说明:

?
定义:

?


NIL 或 NSNil

ObjC 不存在这两个符号!


小结

虽然 nil, Nil, NULL 的值相同,理解它们之间的书面意义才重要,让代码更加明确,增加可读性。


参考资料

Difference
between nil,NIL and null – Stack Overflow

Topics
for Cocoa: Using Null.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nil objective c nsnull NULL