Что происходит, когда дочерний элемент NSArray сохраняется и массив освобождается? - PullRequest
1 голос
/ 22 января 2011

Скажем, я прочитал объект из NSArray и сохранил этот объект.Я тогда закончил с NSArray и выпустил его.Этот NSArray теперь имеет счет сохранения нуля.Освобожден ли он или будет вынужден оставаться до тех пор, пока не будет освобожден дочерний объект?

По сути, я спрашиваю, нужно ли мне копировать ребенка вместо того, чтобы сохранять его, когда ребенок будет храниться дляв то время как массив не нужен?

Я думаю, что сохранение хорошо, и NSArray будет освобожден, но я хочу убедиться.

1 Ответ

5 голосов
/ 22 января 2011

Поскольку вы сохранили объект в NSArray, он (по сравнению с другими объектами в массиве) будет иметь счет сохранения двух. (Один из NSArray, а другой от вас.)

Таким образом, когда NSArray будет выпущен, у вашего объекта будет сохраняться счетчик единиц и, следовательно, он будет существовать после очистки пула автоматического выпуска. (Пока, конечно, вы не отпустите.)

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