Nib-файл — это описание фрагмента пользовательского интерфейса в скомпилированном формате в файле с расширением . nib.

Каждое приложение, которые вы пишите, практически наверняка содержит хотя бы один nib-файл. Nib-файл генерируется во время процесса сборки путем компиляции (с помощью инструмента командной строки ibtool), которая превращает файл . xib в nib-файл, а файл . storyboard — в комплект . storyboardc, содержащий несколько nib-файлов. Эта компиляция выполняется, если файлы . storyboard или .xib перечислены в фазе сборки Copy Bundle Resources целевого приложения.

Файлы . xib или . storyboard графически редактируются в среде Xcode; по существу, вы графически описываете объекты, которые будут созданы во время запуска приложения и загрузки nib-файла (см. главу 5). Благодаря такой архитектуре nib-файл загружается только при необходимости; это сокращает период запуска приложения, во время которого загружаются только те nib-файлы, которые необходимы для генерации начального интерфейса приложения, а также экономит память во время выполнения программы, потому что объекты, описанные в nib-файле, не создаются, пока не будут необходимы и могут быть удалены, когда они больше не нужны.

Наш проект Empty Window, сгенерированный из шаблона Single View Application, содержит один файл . storyboard с именем Main. storyboard. Этот файл является предметом особого внимания, потому что это главная раскадровка приложения, не столько из-за имени, сколько потому, что он задается в файле Info.plist как значение Main (без расширения .storyboard) ключа “Main storyboard file base name” (UIMainStoryboardFile). Откройте файл Info .plist в окне редактирования и убедитесь сами! В результате при запуске приложения первый nib-файл, сгенерированный из файла . storyboard, загружается автоматически, помогая создать начальный интерфейс приложения.

Если вы решите использовать шаблон Single View Application для создания универсального приложения, т.е. приложения, работающего и на iPad, и на iPhone, то получите два файла . storyboard: один для iPad (Main_iPad. storyboard), а второй для iPhone (Main_iPhone. storyboard). Таким образом, это приложение сможет использовать два разных интерфейса на двух разных типах устройств. В зависимости от типа устройства в момент запуска одна из этих раскадровок будет интерпретироваться как главный файл раскадровок, предназначенный для создания начального интерфейса приложения. Для этой цели используется второй ключ Info.plist: ключ “Main storyboard file base name” (UIMainStoryboardFile) указывает на “Main_iPhone”, а ключ “Main storyboard file base name (iPad) ” (UIMainStoryboardFile~ipad) указывает на “Main_iPad”.

Более подробно процесс запуска приложения и главную раскадровку мы рассмотрим позднее в этой главе. Редактирование файлов .xib и . storyboard, а также процесс создания экземпляров в ходе выполнения приложения описываются в главе 7.


 

 

 

Добавить комментарий