Сохранение памяти NSArray из NSDictionaries - PullRequest
2 голосов
/ 21 августа 2011

Мне нужен ивар, который является упорядоченным списком словарей.Если я создаю @property для этого NSArray, задаю retain и затем заполняю его объектами NSDictionary, могу ли я "безопасно" предположить, что эти словари также сохранены как часть ivar, или мне нужно сохранить отдельноэти объекты?

Ответы [ 2 ]

1 голос
/ 21 августа 2011

NSArray сохраняет объекты, когда они добавляются, и освобождает их, когда они удаляются или массив освобождается.Имейте в виду, что именно эта концепция «владения» основана на управлении сохранением / освобождением памяти.

С NSArray ссылок на объекты, я могу явно освободить все объекты в массивеили только сам массив?

1 голос
/ 21 августа 2011

Да, классы коллекции автоматически сохранят вещи, которые вы в них положили. Поэтому, если вы помещаете вещи в словарь и сохраняете ссылку на словарь, вы можете безопасно использовать его содержимое; и если вы храните этот словарь в свойстве, вы все равно можете безопасно его использовать. См. эту страницу для получения дополнительной информации:

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