UITabViewController управление памятью - PullRequest
0 голосов
/ 10 октября 2009

У меня есть приложение, которое состоит из нескольких вкладок, управляемых классом, производным от UITabBarController (единственная причина, по которой я подклассифицировал UITabBarConteroller, заключается в обработке события встряхивания для всех представлений).3 представления взяты из подкласса класса UIViewContentroller, одно представление - UINavigationController, которое показывает таблицу.В каждом отдельном контроллере, включая мой подкласс, у меня есть это:

  • (void) didReceiveMemoryWarning {// Освобождает представление, если у него нет суперпредставления.[super didReceiveMemoryWarning];

Приложение прекрасно работает.Мой вопрос заключается в том, как реализация UITabBarController по умолчанию обрабатывает автоматическую выгрузку представлений в условиях нехватки памяти.

Автоматически выгружается только контроллер, полученный из UINavigationController (я вижу, вызывается viewDidUnload)viewDidUnload НЕ вызывается для любых других контроллеров представления, управляемых UITabBarController.

Почему?

Спасибо

1 Ответ

0 голосов
/ 03 декабря 2010

viewDidUnload вызывается, когда представление контроллера представления удаляется и освобождается, и это происходит после того, как VC получает didReceiveMemoryWarning. Убедитесь, что этот метод вызывается первым. Если он не вызывается, происходит что-то еще, но если он вызывается, то, возможно, ваше мнение слишком перенесено или неправильно удалено.

...