У меня странная проблема, которая возникает при освобождении объекта. В методе dealloc
объекта я освобождаю другой (суб) объект. Когда этот подобъект освобождается, я получаю ошибку EXC_BAD_ACCESS. Я почти уверен, что подобъект является действительным указателем прямо перед тем, как я вызову release для него.
Вот как я подтвердил странность - я установил точку останова внутри метода dealloc, прямо перед выпуском подобъекта, и он был выделен! Я могу отправлять ему сообщения, и он отвечает правильно. Другая странная ошибка заключается в том, что, если для NSZombieEnabled установлено значение YES, я вообще не получаю ошибку, даже обычную ошибку NSZombie, которая говорит о том, что я отправил сообщение освобожденному объекту, код выполняется правильно.
Кто-нибудь знает, как решить эту проблему?
Заранее спасибо!
* РЕДАКТИРОВАТЬ 1 *
Я обнаружил, что, если я помещаю [super dealloc] в конец dealloc, он падает, но если я помещаю его в начало, он не будет. У меня было что-то подобное раньше, только в другом случае - приложение зависало, если я [super dealloc] начинал свою сделку, а в конце - нет.
Почему это имеет значение, и когда вы должны использовать что?
* РЕДАКТИРОВАТЬ 2 *
Scratch Edit # 1! Это не работает в любом случае.