Как выгрузить всплывающий вид контроллера? - PullRequest
2 голосов
/ 31 января 2010

Использование навигационной иерархии представления. У меня есть контроллер корневого представления и несколько контроллеров представления, которые разветвляются от одного и того же при нажатии кнопки. Когда пользователь нажимает кнопку «Назад» на панели UINavigationBar, текущий контроллер представления всплывает, и на экране отображается анимация обратно к корневому контроллеру.

Проблема в том, что я хочу, чтобы view-контроллеры РАЗГРУЗИЛИ всякий раз, когда они выталкиваются. Похоже, они не разгружаются, потому что, когда я возвращаюсь к ним, они все еще находятся в состоянии, в котором они находились, когда их высовывали.

Как выгрузить контроллеры представления после перехода обратно к корневому контроллеру?

Ответы [ 3 ]

1 голос
/ 31 января 2010

-viewUnload вызывается после того, как приложение получает уведомление о нехватке памяти.

Это реализация по умолчанию -didReceiveMemoryWarning, которая вызывает -viewUnload.

Что вы, вероятно, хотите сделать, это поместить то, что вы хотите сделать, в -viewDidDisappear на основе того, что вы описали.

0 голосов
/ 08 марта 2012

Когда вы извлекаете viewcontroller из navigationcontroller, больше не должно быть ссылок на оставленный viewcontroller, и viewcontroller должен быть освобожден в это время Это должно дать вам ожидаемые результаты. Вы можете проверить, освобождается ли viewcontroller, добавив точку останова в методе -dealloc .

Если не получен Deloc, проверьте, существует ли цикл сохранения. В частности, проверьте, сохраняет ли дочерний объект viewcontroller.

0 голосов
/ 20 марта 2010

in -viewDidDisappear, почему бы не [самоотпуск]; просто нужно убедиться, что у вас есть ленивый загрузчик, чтобы он загружался обратно при необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...