NSAutoreleasePool сток выпускает на +1 больше, чем количество отправленных авто-релизных сообщений

У меня возникли проблемы при отладке приложения для iPhone, которое воспроизводится с ошибками.

Короткая история: обычай UIViewController распределяется и выталкивается на UINavigationControllerстек Некоторое время спустя UIViewController выскакивает из стека. Самый следующий толчок UIViewController в стек вылетает приложение.

Стандартная процедура для любого сбоя - использование инструментов с NSZombie включен. При осмотре истории объекта выясняется, что я не понимаю:

  • объект получает 2 (два) autorelease сообщения и
  • NSAutoreleasePoolметод утечки отправить 3 (три) сообщения об освобождении

Пока что единственный способ предотвратить сбои - НЕ отправлять 1 (одно) сообщение об отпускании объекту, о котором идет речь, и, таким образом, поднимать красный флаг для утечек памяти, только чтобы он не протекал.

Есть ли другое решение, которое я упустил?

Обновление: Как один из вас указал на очевидное:

У вас есть проблема в вашем коде. Ничего общего с авто-выпуском бассейна.

Оказалось, что первый UIViewController был передан в качестве делегата на UINavigationController отсюда мое замешательство, когда Zombie Звонил сам навигационный контроллер.

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

0 ответов

Другие вопросы по тегам