Я вижу неожиданное поведение, когда я запускаю симулированное предупреждение о памяти, и я надеюсь, что кто-то сможет объяснить.iOS Имитировать проблемы с памятью памяти
Мое приложение содержит UITabBarController и UINavigationController. Весь мой пользовательский интерфейс создается программно, ничто не загружается из NIB. В моей функции делегирования applicationDidFinishLaunching я создаю контроллер табуляции, контроллер навигации и пять контроллеров представления. Когда я вызываю предупреждение о памяти, основной вид становится полностью белым, оставляя навигатор сверху и вкладкой внизу. Когда я меняю вкладки, новая вкладка правильно загружает его данные, поскольку loadView правильно вызывается, однако навигационный контроллер исчезает.
Это меня смущает по двум причинам. 1) Почему главный вид выгружается? Я не думал, что viewDidUnload будет вызываться на активных контроллерах. 2) Почему мой навигационный контроллер исчезает, но только после изменения вкладок. Это настоящая загадка.
Спасибо.
Это может помочь, если вы разместили код. Как вы создаете свои контроллеры, как объявляются свойства? – Axel
Я не думаю, что это проблема сохранения. Если бы это было так, то это немедленно сработало бы. Моя единственная проблема заключается в том, что когда я выбираю «имитировать предупреждение о памяти», ОС заставляет просмотр dealloc, когда он активен. – LordCecil
(Хит ввод рано, упс) Я не думаю, что это проблема сохранения. Если бы это было так, то это немедленно сработало бы. Моя единственная проблема заключается в том, что когда я выбираю «имитировать предупреждение о памяти», ОС заставляет просмотр dealloc, когда он активен. Проводка кода сложна, потому что это сложно. Мой делегат приложения создает UITabBarController, UINavigationController и 5 настраиваемых контроллеров представлений. Когда я «имитирую предупреждение о памяти», выходят представления всех 5 контроллеров представлений, хотя в настоящее время используется один из них! – LordCecil