nil和release区别
来源:互联网 发布:安倍晋三支持率 知乎 编辑:程序博客网 时间:2024/05/22 18:23
nil和release区别
nil是将一个对象指针置为空,只是切断指针和内存中对象联系,还是占用内存的,并没有真正释放内存,只是将对象指针置为空。
release是真正通知内存释放对象,真正释放内存。
如果没有relase而是直接置为nil,那么程序编译运行时候可能不会出错,但是这存在内存泄露,因为置为nil后release不起作用了。
如果只是release而没有置为nil,应用程序也不能不会报错,但是会不稳定,程序的健壮性不够好,因为没有设置self.obj = nil,在release这个obj后,如果在之后又用到了这个对象,因为在系统内存中已经不存在了,程序就会崩溃,所以在release一个对象后应该也要将该对象置为nil,在之后如果用到了这个obj也不会造成崩溃。
nil是给对象赋值,NSNULL是给指针赋值
例如判断一个对象 if(obj){},NSNULL用于对集合操作。
0 0
- nil和release区别
- nil和release区别
- nil和release的区别
- iOS中nil和release 的区别
- iOS中nil和release的区别
- self.abc = nil 和 [abc release]的区别
- Nil 和 nil的区别
- nil和Nil的区别
- release跟nil有什么区别
- IOS内存nil与release的区别
- IOS内存nil与release的区别
- nil和release的使用小总结
- nil, Nil, NULL和NSNull的区别
- IOS-nil,Nil和NULL的区别
- nil、Nil、NULL和NSNull的区别
- NIL、NIL、NULL和NSNULL区别
- nil、Nil、NULL和NSNull区别
- nil、Nil、NULL和NSNull区别
- OC取字符串操作的方法
- 不小心使用Hibernate 導致Data 變更
- USACO Superprime Rib
- OC字符串其它操作
- spingmvc浅尝之一:小试牛刀
- nil和release区别
- OJ入门篇
- Block简介
- library not found for -lPods
- POJ 3783 Balls (线性dp 智力题)
- noj 1121 Message Flood
- OC常见面试题
- UVa 232 Crossword Answers
- 个人管理 - IT人士书籍推荐