Привет. У меня есть приложение навигационной панели, которое плохо себя ведет. У меня есть две кнопки: одна показывает все результаты из моей базы данных, а другая показывает подмножество моей базы данных. Конечно, у каждой кнопки есть свой метод действия. Оба эти метода создают экземпляр объекта контроллера представления того же класса.
Если я запускаю приложение и нажимаю только кнопку «все результаты», я вижу все результаты. Глупо то, что когда я нажимаю кнопку для подмножества результатов (и вижу подмножество результатов), нажимаю Назад на панели навигации, а затем нажимаю первую кнопку для всего набора, я снова вижу подмножество.
При отладке по всем точкам останова я заметил, что метод dealloc моего контроллера представления результатов не вызывается. Однако, когда я нажимаю кнопку «Назад», а затем нажимаю кнопку «все результаты», методы alloc / init действительно вызывают снова для моего контроллера представления результатов.
Таким образом, даже если у меня есть явная утечка памяти, как возможно, что мой недавно выделенный / инициализированный объект контроллера представления имеет те же данные, что и у ранее созданного представления? Пошаговое выполнение кода делало эту проблему еще более странной, так как казалось, что она ведет себя должным образом ... просто возвращает старые данные.
Любой совет был бы великолепен. Спасибо!