Когда я освобождаю экземпляр NSMutableArray, переданный нескольким методам? - PullRequest
1 голос
/ 28 июля 2011

У меня есть следующий сценарий:

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...
}
...

Уместно ли выпускать myArray JUST в methodA или я должен выпускать его в каждом methodB и methodC?Я хочу, чтобы все три метода имели доступ к одному и тому же содержимому, т. Е. К одному и тому же массиву обращались в каждом методе.

1 Ответ

4 голосов
/ 28 июля 2011

Если вы не владеете myArray в methodB или methodC (то есть вы не сохраняли в этих методах), то не выпускайте в этих методах. Вы владеете массивом только в первом методе через alloc, поэтому вы освобождаете его только в methodA. Так что ваш подход правильный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...