NSUniqueIDSpecifier
Указывает объект в наборе (или контейнер) уникальным идентификатором. Этот спецификатор работает только на объекты, имеющие свойство ID. Объект уникального идентификатора передал экземпляру NSUniqueIDSpecifier
должен быть любой NSNumber
возразите или NSString
объект. Точный тип должен соответствовать объявление словаря сценариев атрибута ID для соответствующего класса сценариев.
Можно ожидать, что свойство ID будет только для чтения для любого объекта, поддерживающего его. Поэтому сценарист может получить уникальный идентификатор для объекта и обратиться к объекту ID, но не может установить уникальный идентификатор.
Вы обычно не разделяете на подклассы NSUniqueIDSpecifier
.
Оценка NSUniqueIDSpecifier
объекты выполняют эти шаги, пока не найден указанный объект:
Если контейнер реализует метод, селектор которого соответствует соответствующее
valueIn<Key>WithUniqueID:
образец установил путем сценариев кодирования значения ключа, метод вызывается. Этот метод может потенциально быть очень быстрым, и может быть относительно просто реализовать.Как имеет место при оценке любого спецификатора объекта сценария, контейнеру указанного объекта дают шанс оценить объектный спецификатор. Если контейнерный класс реализует
indicesOfObjectsByEvaluatingObjectSpecifier:
метод, метод вызывается. Этот метод может потенциально быть очень быстрым, но относительно трудно реализовать.NSWhoseSpecifier
объект, указывающий первый объект чей релевантный'ID '
припишите соответствует, ID синтезирован и оценен.NSWhoseSpecifier
объект должен перерыть все включенные элементы в контейнере, ища соответствие. Поиск является потенциально очень медленным.
Наследование
-
NSObject
-
NSScriptObjectSpecifier
-
NSUniqueIDSpecifier
-
NSObject
-
NSScriptObjectSpecifier
-
NSUniqueIDSpecifier
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSObjectProtocol
-
Печатаемый
-
NSCoding
-
NSObject
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.2 и позже.
-
init (containerClassDescription:containerSpecifier:key:uniqueID:) - initWithContainerClassDescription:containerSpecifier:key:uniqueID:
Определяемый инициализаторВозвраты
NSUniqueIDSpecifier
объект, инициализированный с данными параметрами.Объявление
Swift
init(containerClassDescription
classDesc
: NSScriptClassDescription, containerSpecifiercontainer
: NSScriptObjectSpecifier, keyproperty
: String, uniqueIDuniqueID
: AnyObject)Objective C
- (instancetype)initWithContainerClassDescription:(NSScriptClassDescription *)
classDesc
containerSpecifier:(NSScriptObjectSpecifier *)container
key:(NSString *)property
uniqueID:(id)uniqueID
Параметры
classDesc
Описание класса для нового объекта.
container
Контейнер для нового объекта.
property
Свойство для нового объекта.
uniqueID
Уникальный идентификатор для нового объекта.
uniqueID
должен быть экземплярNSNumber
илиNSString
. Тип должен соответствовать заявленный тип атрибута указанного scriptable класса, четыре кода символа которого'ID '
.Возвращаемое значение
NSUniqueIDSpecifier
объект, инициализированный с данными параметрами.Обсуждение
Вызывает суперкласс
initWithContainerClassDescription:containerSpecifier:key:
метод и наборы ID кuniqueID
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
-
Устанавливает ID, инкапсулировавший получателем.
Объявление
Swift
@NSCopying var uniqueID: AnyObject
Objective C
@property(copy) id uniqueID
Параметры
uniqueID
ID для получателя.
uniqueID
должен быть экземплярNSNumber
илиNSString
. Тип должен соответствовать заявленный тип атрибута указанного scriptable класса, четыре кода символа которого'ID '
.Обсуждение
Несмотря на то, что
NSUniqueIDSpecifier
поддержки, устанавливающие уникальный идентификатор, ID для указанного объекта, вероятно, останется статичным по жизни объекта.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
См. также
-
Возвращает ID, инкапсулировавший получателем.
Объявление
Swift
@NSCopying var uniqueID: AnyObject
Objective C
@property(copy) id uniqueID
Возвращаемое значение
ID инкапсулируется получателем.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
См. также