Жизнь корневого представления


Жизнь корневого представления

Я так и не могу разобраться во всех этих «файл .xib — это то же, что представление». Я понимаю, что могу редактировать это представление в Interface Builder, но как оно работает в сочетании со всем остальным?

Все это выглядит довольно запутанно. Давайте посмотрим, как же файл .xib становится представлением.

В главе 1 мы в общих чертах узнали, что редактор GUI среды Xcode создает описание представления в формате XML (файл .xib), а инфраструктура Cocoa Touch преобразует его в реальное представление в вашем приложении. Давайте поподробнее разберемся в том, как это все происходит.
Как и В большинстве языков, все начинается с вызова main(.).

Когда пользователь запускает ваше приложение, iPhone отображает короткую анимацию открытия приложения (в действительности это файл PNG, который вы можете включить в свое приложение), а затем вызывает метод main. Этот метод предоставляется шаблонами, и вам почти никогда не придется изменять его.

Метод main запускает метод Cocoa Touch.

Стандартный метод main(.) запускает метод Cocoa Touch UIApplicationMain, который по информации из файла Info.plist вашего приложения определяет, какой файл .xib следует загрузить. Для выбранного нами шаблона это файл MainWindow.xib.

MainW/indow.xib содержит информацию о связях приложения.

Заглянув в файл MainWindow.xib, вы увидите, что он содержит экземпляр InstaEmailAppDelegate (для UIApplicationDelegate) и экземпляр нашего класса InstaEmailViewController. Во время загрузки MainWindow.xib инфраструктура Cocoa Touch создает экземпляр InstaEmailViewController и приказывает ему загрузить InstaEmailViewController.xib. инфраструктура Cocoa Touch создает пользовательское представление по содержимому InstaEmailViewController.xib.

При построении файла .xib вместо объекта, являющегося владельцем его содержимого, использовался объект-заместитель. На этой стадии инфраструктура загружает .xib по требованию класса InstaEmailViewController, поэтому для всех связей используется экземпляр этого класса. Экземпляры компонентов, создаваемые инфраструктурой, связываются с экземпляром InstaEmailViewController.

Для событий, генерируемых компонентами, вызываются соответствующие методы экземпляра контроллера.

Действия, связанные между элементами и объектом-заместителем в .xib, преобразуются в связи между элементами и экземпляром контроллера (InstaEmailViewController). Когда элемент (например, кнопка Send Email) генерирует событие, инфраструктура вызывает метод экземпляра InstaEmailViewController.

  • Дата: 30-11-2014, 01:14

Предыдущие статьи сайта:

Понравилась статья? Ставь лайки, рассказывай друзьям!



Отзывы о статье: Жизнь корневого представления

Технологии, секреты и фишки Apple: Iphone, iPad, iPod