Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы UIKit ссылка класса UINib

Опции
Развертывание Target:

На этой странице
Язык:

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 объект, инициализированный к файлу пера в указанном пакете.

    Объявление

    Swift

    init(nibName name: String, bundle bundleOrNil: NSBundle?) -> UINib

    Objective C

    + (UINib *)nibWithNibName:(NSString *)name bundle:(NSBundle *)bundleOrNil

    Параметры

    name

    Имя файла пера, без любой ведущей информации о пути.

    bundleOrNil

    Пакет, в котором можно искать файл пера. Если Вы указываете nil, этот метод ищет файл пера в основном пакете.

    Возвращаемое значение

    Инициализированный UINib объект или nil если были ошибки во время инициализации, или файл пера не мог бы быть расположен.

    Обсуждение

    UINib объект ищет файл пера в специфичных для языка каталогах проекта пакета сначала, сопровождаемый Resources каталог.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 4.0 и позже.

  • Создает UINib объект от данных пера хранится в памяти.

    Объявление

    Swift

    init(data data: NSData, bundle bundleOrNil: NSBundle?) -> UINib

    Objective C

    + (UINib *)nibWithData:(NSData *)data bundle:(NSBundle *)bundleOrNil

    Параметры

    data

    Блок памяти, содержащей данные пера.

    bundleOrNil

    Пакет, в котором можно искать ресурсы, на которые ссылается перо. Если Вы указываете nil, этот метод ищет файл пера в основном пакете.

    Возвращаемое значение

    Инициализированный NSNib объект или nil если были ошибки во время инициализации.

    Обсуждение

    UINib объект ищет файл пера в специфичных для языка каталогах проекта пакета сначала, сопровождаемый Resources каталог.

    Предпочтительный механизм для инстанцирования UINib объекты с nibWithNibName:bundle: метод класса. A UINib объект инстанцировал использования nibWithData:bundle: метод класса не может выпустить кэшированные данные при низких условиях памяти. Ваше приложение должно быть подготовлено выпустить UINib возразите и данные при низких условиях памяти, воссоздав обоих в следующий раз, когда приложение должно инстанцировать пера.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 4.0 и позже.

  • Разархивировал и инстанцирует в содержании памяти из файла пера получателя, создавая дерево отдельного объекта и набор объектов верхнего уровня.

    Объявление

    Swift

    func instantiateWithOwner(_ ownerOrNil: AnyObject?, options optionsOrNil: [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 и позже.