我什么时候释放一个NSMutableArray实例传递给多个方法



我有以下场景:

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,或者我应该在每个methodB和methodC中释放它?我希望所有三个方法都能访问相同的内容,也就是说,每个方法访问的是同一个数组。

如果您在methodBmethodC中不拥有myArray(即您没有保留在该方法中),则不要在这些方法中释放。您仅通过alloc在第一个方法中拥有该数组,因此您仅在methodA中释放它。所以你的方法是正确的。

最新更新