2009-09-08 3 views

ответ

6

Да, так оно и есть. Любое удаление вызывает выпуск удаленных NSObject.

В NSArray class reference указывает:

Массивы поддерживать прочные ссылки на их содержание-в управляемой среде памяти , каждый объект получает сохранить сообщение перед его идентификатор добавляется в массив и сообщения о разъединении , когда он удален из массива или , когда массив освобожден. Если вы, хотите получить коллекцию с различными предметами , рассмотрите , используя CFArray Reference, NSPointerArray, или NSHashTable .

2

Да, они выпускаются. Вы можете видеть, что содержащийся объект освобождается, переопределяя release в объекте, который вы разместили в контейнере. Вызвать метод суперкласса release и установить на нем точку останова. Вы увидите, что он выпущен.

Я изначально заявил, что думал, что объекты были автоматически выпущены. Оказывается, я верю, что ошибаюсь.

Смежные вопросы