首页 > 代码库 > iOS中nil,NULL,Nil,NSNull的区别
iOS中nil,NULL,Nil,NSNull的区别
最近心情不太好,往往心情不太好的时候喜欢学点东西,写点东西,具体因为什么心情不太好在这里就不给大家爆料了哦!
言归正传:
1、nil定义一个实例为空, 指向oc中对象的空指针.
注意:当release一个对象的同时将该对象赋值为nil,这样确保安全性.
2、NULL在C语言中常用来表示一个空值.
注意:在Objective-C里,nil对象被设计来跟NULL空指针关联的。他们的区别就是nil是一个对象,而NULL只是一个值。而且我们对于nil调用方法,不会产生crash或者抛出异常.
3、Nil用来定义一个空的类
例如:Class someClass = Nil;
4、NSNull类定义了一个单例对象用于表示集合对象的空值.
注意:集合对象无法包含nil作为其具体值,如NSArray、NSSet和NSDictionary。相应地,nil值用一个特定的对象NSNull来表示。NSNull提供了一个单一实例用于表示对象属性中的的nil值。默认的实现方法中,dictionaryWithValuesForKeys:和setValuesForKeysWithDictionary:自动地将NSNull和nil相互转换,因此您的对象不需要进行NSNull的测试操作.
iOS中nil,NULL,Nil,NSNull的区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。