误释放对象

时间:2014-05-09 00:02:03   收藏:0   阅读:366

问题一:

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

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!