我有以下情况:
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中释放它?我希望所有三种方法都能访问相同的内容,即,它是在每种方法中访问的相同数组。
答案 0 :(得分:4)
如果您未在myArray
或methodB
中拥有methodC
(即您尚未保留该方法),请不要在这些方法中发布。您只能通过alloc
以第一种方式拥有该数组,因此您只能在methodA
中释放它。所以你的方法是正确的。