viewcontroller - как получить другой корневой контроллер представления / как переключать представления - PullRequest
0 голосов
/ 04 марта 2012

У меня проблемы с пониманием, откуда берется объект viewController. У меня есть приложение, которое предоставляет подробный вид, и мне нужно поставить перед ним табличное представление, чтобы иметь возможность выбрать конкретный подробный вид. Приложение начинается с

self.window.rootViewController = self.viewController;

И я просто не понимаю, откуда взялся (self.)viewController. Это свойство моего делегата приложения, и оно находится в .m -файле делегата приложения:

@synthesize viewController=_viewController;

Но я понятия не имею, как приложение знает, что это за viewController, потому что, кажется, нет никакого "назначения" или "создания" фактического viewController объекта. И как бы я переместил свой tableView «впереди» существующего viewController?

Заранее спасибо!

1 Ответ

0 голосов
/ 04 марта 2012

В проектах на основе пера есть ключ в Info.plist с именем NSMainNibFile или «Основное имя основного файла пера», который указывает UIApplication загрузить MainWindow.xib и подключить его к приложению.

Так что, если вы посмотрите в MainWindow.xib (или на любой другой xib, на который ссылается запись Info.plist NSMainNibFile), вы увидите контроллер представления.Если вы нажмете на контроллер представления в схеме документа (панель слева от представления xib), вы можете изменить его класс в Инспекторе идентификации ( Команда + Параметр + 3 , который вызывает Identity Inspector на правой панели).

С раскадровками все немного по-другому - основной ключ пера в Info.plist теперь заменен основным ключом раскадровки, аКонтроллеры представления теперь отображаются под каждой панелью в раскадровке, а не в органайзере документов, но в основном это та же идея.

Файл xib / storyboard компилируется в код, который выделяет экземпляр UIViewController при запуске и назначаетэкземпляр переменной viewController.

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