码迷,mamicode.com
首页 > 其他好文 > 详细

误释放对象

时间:2014-05-09 00:02:03      阅读:366      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   java   color   

问题一:

bubuko.com,布布扣
value = [array objectAtIndex:n]; //得到一个数组中的对象
[arry removeObjectAtIndex:n]; //卸载那个对象
bubuko.com,布布扣

因为value得到了那个对象,但是由于另外一个拥有者release了该对象,所以其实value现在成了摇摆指针(无效数据)

问题二:

bubuko.com,布布扣
myArray = [NSArray array];
...
[myArray release];
bubuko.com,布布扣

NSArray返回的是一个自动释放对象,不仅myArray不应该在一段时间后release,而应该在适当的时候先retain,以防止该array被系统误释放。

问题三:

bubuko.com,布布扣
rocket = [rocketLauncher aRocket];
[rocketLauncher release];
bubuko.com,布布扣

和array这种数据收集类对象一样,如果我们得到了一个类的子对象而不retain它,那么在原父类被释放的时候,这个rocket其实也会失去其意义。

误释放对象,布布扣,bubuko.com

误释放对象

标签:style   blog   class   code   java   color   

原文地址:http://www.cnblogs.com/zendwang/p/3716544.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!