2010-09-29 6 views
4

У меня есть мой главный контроллер представления приложений (владелец файла), его первый ответчик, просмотр и 3 других UIViewControllers в том же файле nib. Каждый из 3 UIViewControllers ссылается на основной UIViewController как IBOutlet.Когда используется IBOutlet UIViewController, если он задан как свойство? Как оптимизировать загрузку IBOutlet UIViewControllers?

Мой вопрос в том, когда основной UIViewController инициирует эти 3 UIViewControllers в своем жизненном цикле (моя догадка когда-то до вызова viewDidLoad), и я должен волноваться с оптимизацией того, как и когда они загружаются. Очевидно, что если приложение загружает главный контроллер представления, а затем сразу же начинает загрузку других контроллеров представлений, пользователю может потребоваться, чтобы все сначала загрузилось. Но если бы я все еще мог синтезировать IBOutlets, но у вас есть возможность решить, когда будут загружены эти контроллеры представлений (и их представления), это, безусловно, будет улучшением.

ответ

1

UIViewController не инициализирует розетки, которые выполняются кодом загрузки nib до awakeFromNib и viewDidLoad. Все, что находится в одном файле nib, одновременно загружается, создается и инсталлируется. Так что пока ваши взгляды находятся в одном и том же шнуре, нет возможности загрузить их по требованию. Вы должны поместить другие виды в разные файлы nib и загрузить их, когда они понадобятся. Положить все в один наконечник - это не очень хорошая идея.

+0

Спасибо за ответ. Я сгруппировал представления в соответствии с их функциональными возможностями и использовал разные файлы nib, зависящие от того, к какой функциональности они относятся. Я думаю, если бы это было так, мне пришлось бы сломать мои наконечники в представлении и контроллер на nib. – haknick

Смежные вопросы