Memory management NSMutableArray在索引处释放对象

Memory management NSMutableArray在索引处释放对象,memory-management,xcode4,nsmutablearray,Memory Management,Xcode4,Nsmutablearray,我通过以下方式创建NSMUtableArray: self.myArray = [NSMutableArray array]; for (int i = 0; i < number; i++) { [self.myArray addObject:[NSNull null]]; } 因为myArray包含相当大的对象(图像),所以我希望能够通过释放未使用的对象来释放内存(myArray保存要在UIScrollView中使用的图像数据) 在给定索引处释放NS

我通过以下方式创建NSMUtableArray:

self.myArray = [NSMutableArray array];

    for (int i = 0; i < number; i++) {
        [self.myArray addObject:[NSNull null]];
    }
因为myArray包含相当大的对象(图像),所以我希望能够通过释放未使用的对象来释放内存(myArray保存要在UIScrollView中使用的图像数据)

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

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

当您替换对象时,数组将释放该索引中当前的任何对象。因此,如果您用[NSNull]之类的东西来替换大对象,它应该可以满足您的需要

请注意,除非retain计数变为0,否则释放的对象的内存实际上不会被释放。如果存在对该对象的其他引用,即代码中保留该对象的任何其他位置,则该对象将保持不变。如果数组是唯一保留该对象的对象,则应该可以继续

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