каким-то образом автоматически определять, был ли входящий объект уже автоматически освобожден?затем, если не освободить его после добавления его в массив?
нет - коллекции сохраняют добавленные объекты, а затем освобождают их, когда они удаляются
в dealloc итерациивсе объекты в массиве и каким-то образом проверяют, что они не должны быть освобождены, а затем после этого освобождает сам массив?
нет - коллекции сохраняют объекты, которые они добавляют, а затем освобождают их, когда ониудалено
Когда я должен освободить свой пользовательский класс, включая массив, меня беспокоит вопрос, как узнать состояние объектов в массиве?
коллекция позаботится об этом и сохранит ссылку на объект, пока он находится в коллекции.Вы (конечно) несете ответственность за вызов release
в самом массиве, когда объект, который его содержит, удаляет или заменяет его (например, в dealloc
).