objective-c nil Nil NULL NSNull 区别

nil:指向oc中对象的空指针

Nil:指向oc中类的空指针 

NULL:指向其他类型的空指针,如一个c类型的内存指针

NSNull:在集合对象中,表示空值的对象 

[NSNull null]是一个对象,他用在不能使用nil的场合。

因为在NSArray和NSDictionary中nil中有特殊的含义(表示列表结束),所以不能在集合中放入nil值。如要确实需要存储一个表示“什么都没有”的值,可以使用NSNull类。例:[NSMutableArrayObj addObject: [NSNull null]];

 若obj为nil:

扫描二维码关注公众号,回复: 730135 查看本文章

[obj message]将返回NO,而不是NSException

 

若obj为NSNull:

[obj message]将抛出异常NSException

猜你喜欢

转载自whui0110.iteye.com/blog/1765522