2011-10-12 76 views
0

对象创建我的NSMutableArray方式如下:NSMutableArray的释放,在指数

[self.myArray replaceObjectAtIndex:myIndex withObject:myObj]; 

因为myArray的包含对象:

self.myArray = [NSMutableArray array]; 

    for (int i = 0; i < number; i++) { 
     [self.myArray addObject:[NSNull null]]; 
    } 

我则给定的指标像这样在添加对象的数组我想通过释放未使用的对象来释放内存(myArray保存要在UIScrollView中使用的图像的数据)。

在给定索引处释放NSMutableArray成员的正确方法是什么?我正在考虑使用:

[self.myArray replaceObjectAtIndex:myIndex withObject:[NSNull null]]; 

回答

1

当您替换对象时,该数组将释放当前位于该索引处的任何对象。所以如果你用像[NSNull null]这样的东西替换你的大对象,应该做你想做的事情。

请注意,释放的对象的内存实际上不会被释放,除非保留计数变为0.如果有其他对象的引用,即代码中保留它的任何其他位置,那么它会坚持下去。如果数组是唯一保留该对象的东西,那么你应该很好。

+0

非常感谢! – bolshas