2011-12-19 2 views
0

Я смущен различиями между ViewController.xib и MainWindow.xib.xcode 4.2 iphone ViewController.xib и MainWindow.xib

Все учебники и книги, по-видимому, ссылаются на MainWindow.xib, довольно последовательно. Однако, когда я выбираю любой шаблон из xcode, я его не вижу.

Я иногда вижу, что ViewController.xib готово для определенных шаблонов. Но все же, MainWindow.xib не создается.

Это меня смущает. Важно ли MainWindow.xib? Почему многие ресурсы обучения ссылаются на этот файл MainWindow.xib, но не на то, почему он не создан? Это моя версия xcode?

ответ

1

MainWindow.xib создан с использованием большинства прилагаемых xCode 4.2 шаблонов. Он просто содержит UIWindow в .xib, который используется делегатом приложения. UIWindow - это окно, в котором находится ваше приложение.

Разница между MainWindow.xib и ViewController.xib большой, и немного. Вы можете выбрать весь пользовательский интерфейс приложения в MainWindow.xib. Это означало бы, что вам нужно только одно представление для всего вашего приложения. Если вы решили разместить свое приложение в ViewController.xib, вам может потребоваться одно или несколько просмотров. Большая разница между MainWindow.xib и ViewController.xib заключается в том, что ViewController.xib является частью View в шаблоне контроллера модели (или MVC).

Определение MVC из Wikipedia:

Model View Controller (MVC) шаблон создает приложения, разделяющие различные аспекты применения (входной логики, бизнес-логики и логики UI), обеспечивая при этом свободная связь между этими элементами.

ViewController.xib содержит UIView, который будет контролироваться UIViewController. Класс UIViewController позволяет легко обрабатывать представление, зная, когда происходят такие события, как загрузка и выгрузка вида. UIWindow в MainWindow.xib подключается к делегату приложения, который знает только информацию о запуске приложения и другие события, относящиеся к конкретным приложениям.

Если вы выбрали, вы могли бы поменять MainWindow.xib, чтобы включить UIView, который будет обрабатываться отдельным UIViewController.

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