nil Nil NULL NSNull 之间的区别
2015-07-03 10:40
344 查看
nil Nil NULL NSNull 之间的区别:
nil 是对objective c id 对象赋空值
例如
对于objective c 集合类对象 比如数组对象,字典对象,当我们不需要再使用他们的时候,对他们release 的同时最好也把他们赋值为nil,这样确保安全性,下面一个简单的一个例子:如果不赋值nil,可能导致程序崩溃
编程的时候对集合类对象先赋值为nil,再将其release这样可以保证程序安全性,苹果官方例子中也看到过在viewDidUnload把对象赋值nil,然后在
dealloc方法中将他们release,
Nil: A null pointer to an Objective-C class.表示对类进行赋空值
NULL: A null pointer to anything else, is for C-style memory pointers.
用于对非对象指针赋空值,比如C指针
NSNull 对于像NSArray这样的类型,nil或NULL不能做为加到其中的Object,如果定义了一个NSArray,为其分配了内存,又想设置其中的内容为空,则可以用[NSNULL nul]返回的对象来初始化NSArray中的内容
nil 是对objective c id 对象赋空值
例如
编程的时候对集合类对象先赋值为nil,再将其release这样可以保证程序安全性,苹果官方例子中也看到过在viewDidUnload把对象赋值nil,然后在
dealloc方法中将他们release,
Nil: A null pointer to an Objective-C class.表示对类进行赋空值
NULL: A null pointer to anything else, is for C-style memory pointers.
用于对非对象指针赋空值,比如C指针
NSNull 对于像NSArray这样的类型,nil或NULL不能做为加到其中的Object,如果定义了一个NSArray,为其分配了内存,又想设置其中的内容为空,则可以用[NSNULL nul]返回的对象来初始化NSArray中的内容
相关文章推荐
- Java学习遇到的问题
- x5日期时间使用
- windows线程间通信之:信号量
- 大数据=广告吗?
- 设计师成长的五个阶段。
- linux 64位下的 mongodb 安装
- [算法]线段树(IntervalTree)
- reverse-linked-list
- extj.js学习笔记
- 利用MySQL锁解决现实问题
- 学习 java命令
- windows线程间通信之:事件
- java并发的处理方式
- Java集合总结(一)
- Codeforces Round #309 (Div. 1) B. Kyoya and Permutation(数学)
- Extjs4之 grid中加入合计行(summary )
- 深入理解jQuery插件开发
- Linux 网络设置基础
- Struts开发所遇问题之Unknown tag (s:form).
- java堆栈区别(个人理解)