我什么时候发布传递给多个方法的NSMutableArray实例?

时间:2011-07-28 16:18:58

标签: objective-c memory-management

我有以下情况:

class1
methodA
NSMutableArray *myArray=[[NSMutableArray alloc]init];
[class2 methodB:myArray];
[myArray release];
...

class2
methodB:(NSMutableArray) myArray{
[class3 methodB:myArray];
}
...

class3
methodC:(NSMutableArray) myArray{
  manipulate contents of myArray...
}
...

在methodA中释放myArray JUST是否合适,还是应该在每个methodB和methodC中释放它?我希望所有三种方法都能访问相同的内容,即,它是在每种方法中访问的相同数组。

1 个答案:

答案 0 :(得分:4)

如果您未在myArraymethodB中拥有methodC(即您尚未保留该方法),请不要在这些方法中发布。您只能通过alloc以第一种方式拥有该数组,因此您只能在methodA中释放它。所以你的方法是正确的。

相关问题