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

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

Разработчик

Ссылка платформы AppKit ссылка класса NSNib

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

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

NSNib

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

Когда Вы создаете NSNib объект с помощью содержания файла пера, объект загружает содержание пакета пера, на который ссылаются — граф объектов, а также любые изображения и звуки — в память; но это еще не разархивировало его. Чтобы разархивировать все данные пера и таким образом действительно инстанцировать пера, необходимо вызвать один из instantiate... методы NSNib.

Во время процесса инстанцирования каждый объект в архиве разархивирован и затем инициализировал использование метода, приличествующего его типу. Классы представления инициализируются с помощью их initWithFrame: метод. Пользовательские объекты инициализируются с помощью их init метод. В случае представлений Какао (и пользовательских представлений, имеющих опции на связанной палитре Interface Builder) процесс инициализации также читает в любых значениях, установленных пользователем в Интерфейсном Разработчике.

Как только все объекты инстанцировали и инициализировали от архива, перо, загружающее код, пытается восстановить соединения между выходами каждого объекта и соответствующими целевыми объектами. Если Ваши пользовательские объекты имеют выходы, NSNib возразите пытается восстановить любые соединения, которые Вы создали в Интерфейсном Разработчике. Это запускается путем попытки установить соединения с помощью собственных методов объекта сначала. Для каждого выхода, которому нужно соединение, NSNib объект ищет метод формы setOutletName: в Вашем объекте. Если тот метод существует, вызовы объектов пера это, передавая целевой объект в качестве параметра. Если Вы не определяли метод установщика с помощью того точного имени, NSNib поиски объектов объект для переменной экземпляра (типа IBOutlet id) с соответствующим именем выхода и попытками установить его значение непосредственно. Если переменная экземпляра с корректным именем не может быть найдена, инициализация того соединения не происходит.

После того, как все объекты были инициализированы, и их соединения восстановлены, каждый объект получает awakeFromNib сообщение. Можно переопределить этот метод в пользовательских объектах для выполнения любой дополнительной инициализации.

Разделение на подклассы примечаний

Можно разделить на подклассы NSNib если Вы хотите расширить или специализировать загружающее перо поведение. Например, Вы могли создать пользовательское NSNib подкласс, выполняющий некоторую последующую обработку на объектах верхнего уровня, возвратился из instantiateNib... методы. Если Вы хотите изменить, как инстанцирования пера выполняются, рекомендуется переопределить примитивный метод instantiateWithOwner:topLevelObjects:. Обратите внимание на то, что переменные экземпляра NSNib являются частными и таким образом не являются доступными подклассам. Любое переопределение initWithNibData:bundle: или initWithNibNamed:bundle: должен сначала вызвать реализацию суперкласса.

Наследование


Соответствует


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


Swift

import AppKit

Objective C

@import AppKit;

Доступность


Доступный в OS X v10.3 и позже.
  • Возвраты NSNib объект, инициализированный к файлу пера в указанном URL.

    Оператор осуждения

    Использовать initWithNibData:bundle: и укажите пакет для определения местоположения изображений и других ресурсов.

    Объявление

    Objective C

    - (id)initWithContentsOfURL:(NSURL *)nibFileURL

    Параметры

    nibFileURL

    Расположение файла пера.

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

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

    Обсуждение

    Когда Вы инстанцируете объектов пера позже, NSNib объект ищет надлежащий пакет, от которого можно искать любые дополнительные ресурсы, на которые ссылается перо. Поскольку Вы не указываете каталог пакета при вызове этого метода, получатель использует пакет, связанный с классом владельца файла пера. Если файл пера не имеет владельца, получатель использует основной пакет приложения вместо этого.

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

    Objective C

    @import AppKit;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.8.

  • Возвраты NSNib объект, инициализированный к файлу пера в указанном пакете.

    Объявление

    Swift

    init?(nibNamed nibName: String, bundle bundle: NSBundle?)

    Objective C

    - (instancetype)initWithNibNamed:(NSString *)nibName bundle:(NSBundle *)bundle

    Параметры

    nibName

    Имя файла пера, без любой ведущей информации о пути. Включение .nib расширение на имени файла пера является дополнительным.

    bundle

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

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

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

    Обсуждение

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

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

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.3 и позже.

  • Инициализирует экземпляр с данными пера и указанным пакетом для определения местоположения ресурсов.

    Объявление

    Swift

    init(nibData nibData: NSData, bundle bundle: NSBundle?)

    Objective C

    - (instancetype)initWithNibData:(NSData *)nibData bundle:(NSBundle *)bundle

    Параметры

    nibData

    Данные пера.

    bundle

    Пакет для определения местоположения ресурсов. Если nil, пакет главного приложения используется.

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

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

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.8 и позже.

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

    Оператор осуждения

    Использовать instantiateWithOwner:topLevelObjects: вместо этого.

    Объявление

    Objective C

    - (BOOL)instantiateNibWithOwner:(id)owner topLevelObjects:(NSArray **)topLevelObjects

    Параметры

    owner

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

    topLevelObjects

    На вводе, переменная, способная к содержанию NSArray объект. На выводе эта переменная содержит автовыпущенный NSArray объект, содержащий объекты верхнего уровня от файла пера. Можно указать nil для этого параметра, если Вы не интересуетесь объектами верхнего уровня.

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

    YEStrue если содержание файла пера инстанцировали успешно; иначе, NOfalse.

    Обсуждение

    Можно использовать этот метод для инстанцирования файла пера многократно. Это - удобный метод, составляющий словарь таблицы имени и вызывающий instantiateNibWithExternalNameTable: метод, передавая его таблица имени.

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

    Objective C

    @import AppKit;

    Доступность

    Доступный в OS X v10.3 и позже.

    Осуждаемый в OS X v10.8.

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

    Оператор осуждения

    Использовать instantiateWithOwner:topLevelObjects: вместо этого.

    Объявление

    Objective C

    - (BOOL)instantiateNibWithExternalNameTable:(NSDictionary *)externalNameTable

    Параметры

    externalNameTable

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

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

    YEStrue если содержание файла пера инстанцировали успешно; иначе, NOfalse.

    Обсуждение

    Это - примитивный метод для выполнения инстанцирований файла пера. Можно использовать этот метод для инстанцирования файла пера многократно. Каждое инстанцирование пера должно сделать, чтобы отличный владелец возразил, что это ответственно за дерево полученного объекта.

    Если файл пера требует владельца, externalNameTable параметр должен содержать объект, представляющий владельца файла пера (связанный с NSNibOwner ключ). Параметр может дополнительно включать NSMutableArray объект, который будет заполнен с файлом пера объектов верхнего уровня (связанный с NSNibTopLevelObjects ключ).

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

    Objective C

    @import AppKit;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.8.

  • Инстанцирует объектов в файле пера с указанным владельцем.

    Объявление

    Swift

    func instantiateWithOwner(_ owner: AnyObject, topLevelObjects topLevelObjects: AutoreleasingUnsafeMutablePointer<NSArray?>) -> Bool

    Objective C

    - (BOOL)instantiateWithOwner:(id)owner topLevelObjects:(NSArray **)topLevelObjects

    Параметры

    owner

    Объект установить как владелец Пера (Владелец Файла).

    topLevelObjects

    По возврату, массив, содержащий объекты верхнего уровня пера.

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

    YEStrue если инстанцируют перо; иначе NOfalse.

    Обсуждение

    В отличие от устаревших методов, объекты придерживаются стандартных правил управления памятью Какао; необходимо сохранить сильную ссылку к объектам или массиву, чтобы препятствовать тому, чтобы было освобождено содержание пера.

    Выходы к объектам верхнего уровня должны быть сильными ссылками, чтобы продемонстрировать владение и предотвратить освобождение.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • NSNib класс использует следующие константы, использующиеся в качестве ключей в словаре, переданном instantiateNibWithExternalNameTable:.

    Объявление

    Objective C

    NSString *NSNibOwner; NSString *NSNibTopLevelObjects;

    Константы

    • NSNibOwner

      NSNibOwner

      Внешний объект, который ответственен за инстанцированное перо.

      Этот ключ требуется.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.8.

    • NSNibTopLevelObjects

      NSNibTopLevelObjects

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

      Поскольку необходимо выделить этот массив, Вы ответственны за его размещение. Этот ключ является дополнительным.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.8.