NSAutoreleasePool сток выпускает на +1 больше, чем количество отправленных авто-релизных сообщений
У меня возникли проблемы при отладке приложения для iPhone, которое воспроизводится с ошибками.
Короткая история: обычай UIViewController
распределяется и выталкивается на UINavigationController
стек Некоторое время спустя UIViewController
выскакивает из стека. Самый следующий толчок UIViewController
в стек вылетает приложение.
Стандартная процедура для любого сбоя - использование инструментов с NSZombie
включен. При осмотре истории объекта выясняется, что я не понимаю:
- объект получает 2 (два)
autorelease
сообщения и NSAutoreleasePool
метод утечки отправить 3 (три) сообщения об освобождении
Пока что единственный способ предотвратить сбои - НЕ отправлять 1 (одно) сообщение об отпускании объекту, о котором идет речь, и, таким образом, поднимать красный флаг для утечек памяти, только чтобы он не протекал.
Есть ли другое решение, которое я упустил?
Обновление: Как один из вас указал на очевидное:
У вас есть проблема в вашем коде. Ничего общего с авто-выпуском бассейна.
Оказалось, что первый UIViewController
был передан в качестве делегата на UINavigationController
отсюда мое замешательство, когда Zombie
Звонил сам навигационный контроллер.
В следующий раз я должен быть более осторожным, прежде чем задавать неправильный вопрос.