2015-05-19 4 views
-1

Я начинаю изучать iOS, и у меня возникает вопрос: когда я запускаю проект, приложение загрузит весь контроллер вида или только начальный контроллер просмотра в Main.storyboard?Работа с контроллерами просмотра в раскадровки

В случае, мое приложение есть много зрения контроллера, например, 50 VC, я хочу, чтобы проверить 50 VC быть загружен в одно время или каждый VC быть загружен, когда я называю, например, так:

UIStoryboard *sb = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
UIViewController *vc = [sb instantiateViewControllerWithIdentifier:@"myViewController"]; 
vc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self presentViewController:vc animated:YES completion:NULL]; 

После исследования и задать несколько друзей, я вижу в Apple, док:

основной раскадровка определяется в списке свойств информации, которую приложения файла. Если главная раскадровка объявлена ​​в этом файле, а затем, когда ваши приложение запускает, IOS выполняет следующие действия:

  1. Это конкретизирует окно для вас.
  2. Он загружает основную раскадровку и создает экземпляр своего начального контроллера.
  3. Он назначает новый контроллер представления свойству rootViewController окна, а затем делает окно видимым на экране .
+1

только первоначальный вид контроллера .. он загружает другие контроллеры просмотра, как вы приступите к ней! –

+2

Почему бы вам не проверить себя? Добро пожаловать в переполнение стека, пожалуйста, прочитайте это http://stackoverflow.com/help/how-to-ask – Astoria

+1

, пожалуйста, изучите терминологию: _lazy-loading_. – holex

ответ

0

Это просто загрузить только Initial View Controller набор в Main.storyboard. Вы можете установить любой контроллер представления в качестве исходного контроллера вид из storyboard->select any view controller -> go to utility portion of xCode-> go to attribute inspector-> now check is Initial View Controller.

+0

спасибо iHulk, но я хочу проверить, запускаю ли я приложение, он загрузит все VC и покажет Initial View Controller, или просто загрузит Initial View Controller и покажет его. – l3adl3oy

+0

@ l3adl3oy Да Вот что я говорю вам, что он загрузит только «Начальный контроллер просмотра» при запуске, а затем загрузит все остальные VC по запросу – iHulk

+0

я вижу, я обновляю свой вопрос с ответом, спасибо за вашу помощь – l3adl3oy

0

От Docs:

UIStoryboard объект инкапсулирует граф вид контроллера, хранящийся в виде файла раскадровки ресурсов Interface Builder. Этот контроллер вида представляет собой контроллер вида для всех или части вашего пользовательского интерфейса приложения . Обычно контроллеры представлений в раскадровке создаются и создаются автоматически в ответ на действия , определенные в самой раскадровки. Тем не менее, вы можете использовать объект раскадровки , чтобы создать экземпляр элемента управления начального представления в файле раскадровки или создать экземпляр других контроллеров представлений, которые вы хотите использовать .

StoryBoard загрузит только начальный viewController при загрузке приложения. Другие контроллеры представления загружаются при выполнении segues или вручную, используя следующие методы.

- instantiateInitialViewController 
- instantiateViewControllerWithIdentifier: 

Подробнее на here

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