UINib
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 4.0 и позже.
Экземпляры UINib
класс служит объектными обертками или контейнерами, для Интерфейсных файлов пера Разработчика. UINib
объектные кэши содержание файла пера в памяти, готовой к разархивированию и инстанцированию. Когда Ваше приложение должно инстанцировать содержания файла пера, это может сделать так, не имея необходимость загружать данные из файла пера сначала, улучшив производительность. UINib
объект может автоматически выпустить эти кэшируемые данные пера для высвобождения памяти для приложения при условиях низкой памяти, перезагрузив те данные в следующий раз, когда приложение инстанцирует пера. Ваше приложение должно использовать UINib
объекты каждый раз, когда это должно неоднократно инстанцировать тех же данных пера. Например, если Ваше табличное представление использует файл пера для инстанцирования ячеек табличного представления, кэшируя перо в a UINib
объект может обеспечить значительное повышение производительности.
Когда Вы создаете UINib
объект с помощью содержания файла пера, объект загружает граф объектов в файле пера, на который ссылаются, но это еще не разархивировало его. Чтобы разархивировать все данные пера и таким образом действительно инстанцировать пера, Ваше приложение вызывает instantiateWithOwner:options:
метод на UINib
объект. Шаги, что UINib
объект следует для инстанцирования графа объектов пера, описаны подробно в Руководстве по программированию Ресурса.
Специальные замечания использования
Чтобы определить, доступен ли класс во время выполнения в данном выпуске iOS, Вы обычно проверяете, является ли класс nil
. К сожалению, этот тест не чисто точен для UINib
. В то время как этот класс в новинку для iOS SDK 4, он присутствовал, но был частным в предыдущих выпусках. Необходимо соблюдать особую осторожность при развертывании кода, использующего класс UINib и также работающего на выпусках iOS до версии 4.
Для определения во время выполнения, можно ли использовать устройства распознавания жеста в приложении протестируйте, существует ли класс и, если это делает, проверьте, чтобы видеть, реагирует ли th класс на селектор nibWithNibName:bundle:
. Этот метод не был добавлен к классу до iOS 3.2. Код мог бы быть похожим на следующее:
Class uinib = NSClassFromString(@"UINib");
if (uinib)
{
if (![uinib respondsToSelector:@selector(nibWithNibName:bundle:)])
uinib = nil;
}
if (uinib)
{
// use UINib class
}
-
Возвраты
UINib
объект, инициализированный к файлу пера в указанном пакете.Объявление
Параметры
name
Имя файла пера, без любой ведущей информации о пути.
bundleOrNil
Пакет, в котором можно искать файл пера. Если Вы указываете
nil
, этот метод ищет файл пера в основном пакете.Возвращаемое значение
Инициализированный
UINib
объект илиnil
если были ошибки во время инициализации, или файл пера не мог бы быть расположен.Обсуждение
UINib
объект ищет файл пера в специфичных для языка каталогах проекта пакета сначала, сопровождаемыйResources
каталог.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 4.0 и позже.
-
Создает
UINib
объект от данных пера хранится в памяти.Объявление
Параметры
data
Блок памяти, содержащей данные пера.
bundleOrNil
Пакет, в котором можно искать ресурсы, на которые ссылается перо. Если Вы указываете
nil
, этот метод ищет файл пера в основном пакете.Возвращаемое значение
Инициализированный
NSNib
объект илиnil
если были ошибки во время инициализации.Обсуждение
UINib
объект ищет файл пера в специфичных для языка каталогах проекта пакета сначала, сопровождаемыйResources
каталог.Предпочтительный механизм для инстанцирования
UINib
объекты сnibWithNibName:bundle:
метод класса. AUINib
объект инстанцировал использованияnibWithData:bundle:
метод класса не может выпустить кэшированные данные при низких условиях памяти. Ваше приложение должно быть подготовлено выпуститьUINib
возразите и данные при низких условиях памяти, воссоздав обоих в следующий раз, когда приложение должно инстанцировать пера.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 4.0 и позже.
-
Разархивировал и инстанцирует в содержании памяти из файла пера получателя, создавая дерево отдельного объекта и набор объектов верхнего уровня.
Объявление
Swift
func instantiateWithOwner(_
ownerOrNil
: AnyObject?, optionsoptionsOrNil
: [NSObject : AnyObject]?) -> [AnyObject]Objective C
- (NSArray *)instantiateWithOwner:(id)
ownerOrNil
options:(NSDictionary *)optionsOrNil
Параметры
ownerOrNil
Объект использовать в качестве владельца файла пера. Если файл пера имеет владельца, необходимо указать доступный объект для этого параметра.
optionsOrNil
Словарь, содержащий опции использовать при открытии файла пера. Для списка доступных ключей для этого словаря см. NSBundle UIKit Дополнительная Ссылка.
Возвращаемое значение
Автовыпущенный
NSArray
объект, содержащий объекты верхнего уровня от файла пера.Обсуждение
Можно использовать этот метод, чтобы инстанцировать объектов в пере и обеспечить их для кода. Этот метод разархивировал каждый объект, инициализирует его, устанавливает его свойства в их сконфигурированные значения и восстанавливает любые соединения с другими объектами. Для получения дальнейшей информации о процессе загрузки пера, см. Руководство по программированию Ресурса.
Если файл пера содержит какие-либо объекты прокси вне просто объекта прокси Владельца Файла, можно указать заменяющие объекты во время выполнения для тех прокси с помощью словаря опций. В том словаре добавьте
UINibExternalObjects
ключ и набор его значение к словарю, содержащему имена любых объектов прокси (ключи) и реальных объектов использовать в их месте. Имя объекта прокси является строкой, Вы присваиваете ему в Поле имени Интерфейсного инспектора Разработчика окно.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 4.0 и позже.