Как UINavigationController отслеживает несколько UIViewController? - PullRequest
3 голосов
/ 17 августа 2011

Я разработал приложение, которое использует UINavigationController для обработки нескольких экземпляров одного и того же UIViewController, и оно отлично работает. Контроллеры UIViewC, которые я использую, однако, используют много изображений в иногда очень большом UITableView, загруженном с сервера, поэтому я начинаю больше осознавать производительность и память.

Что происходит с UIViewController, который не находится на вершине стека? Если я детализирую несколько представлений, на всех из которых есть изображения, всякий раз, когда я возвращаюсь к представлению, UINavigationController представляет представление без какой-либо загрузки, поэтому мне интересно, не являются ли эти представления в стеке каким-либо образом потенциально значительными Ресурсы? Такие как память?

Как лучше всего справиться с этой ситуацией? Есть ли что-то, что я должен знать об этом, чего я, очевидно, не знаю?

Спасибо!

1 Ответ

0 голосов
/ 17 августа 2011

Это, собственно, объяснено в документации для iOS.Проверьте XCode> Органайзер> Документация> iOS, есть хороший рисунок, объясняющий, как работает стек UINavigationController, который должен быть лучше слов.

Однако, в двух словах, у вас есть viewDidLoad и viewWillAppear (и их противоположности)методы, которые служат для облегчения ваших страхов.Они должны использоваться для создания / удаления любых частей вашего кода, которые не нужны прямо сейчас.Однако, насколько я знаю, у вас нет контроля над тем, что iOS решит, нужно ли сбрасывать или нет, если это контролируется непосредственно UINavigationController.

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