设为首页 加入收藏

TOP

Objective-C语言中nil、Nil、NULL、NSNull的区别
2015-12-15 23:09:27 来源: 作者: 【 】 浏览:25
Tags:Objective-C 言中 nil Nil NULL NSNull 区别

Objective-C语言中nil、Nil、NULL、NSNull的区别


以下内容是基于搜集整理的网上资料,供参考。


nil:指向Objective-C语言中对象的空指针,其定义值为(id)0。


Nil:指向Objective-C语言中类(Class)的空指针,其定义值为(Class)0。


NULL:指向C语言中的标准空指针,其定义值为(void *)0。


NSNull:在Objective-C语言的集合对象中,表示空值的对象,其定义值为[NSNull null]。[NSNull null]是一个对象,用在不能使用nil的场合。


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


若obj为nil:[obj message]将返回NO,而不是NSException。


若obj为NSNull:[obj message]将抛出异常NSException。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Java 并发编程中使用 ReentrantLo.. 下一篇Spring中AOP实例详解

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: