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

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

Разработчик

Ссылка платформы основы ссылка класса NSScriptObjectSpecifier

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

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

NSScriptObjectSpecifier

NSScriptObjectSpecifier абстрактный суперкласс для классов, инстанцирующих объектов, вызванных “объектные спецификаторы”. Объектный спецификатор представляет ссылочную форму AppleScript, которая является выражением естественного языка такой как words 10 through 20 или front document или words whose color is red.

Система сценариев отображает эти слова или фразы к атрибутам и отношениям scriptable объектов. Ссылочная форма редко происходит в изоляции; обычно оператор сценария состоит из серии ссылочных форм, которым предшествует команда и обычно подключенных друг к другу of, такой как:

  • get words whose color is blue of paragraph 10 of front document

Выражение words whose color is blue of paragraph 10 of front document указывает расположение в объектной модели AppleScript приложения — объекты, которые приложение делает доступным для сценаристов. Классы объектов в объектной модели часто близко соответствуют классы фактических объектов в приложении, но они не обязаны. Объектный спецификатор определяет местоположение объектов в запущенном приложении, соответствующих указанным объектам объектной модели.

Ваше приложение обычно создает объектные спецификаторы, когда оно реализует objectSpecifier метод для его scriptable классов. Тот метод определяется NSScriptObjectSpecifiers протокол.

Маловероятно, что необходимо было бы когда-либо создавать собственный подкласс NSScriptObjectSpecifier; набор допустимых ссылочных форм AppleScript определяется Apple Computer, и объектные классы спецификатора уже реализованы для этого набора. Если по некоторым причинам действительно необходимо создать подкласс, необходимо переопределить примитивный метод indicesOfObjectsByEvaluatingWithContainer:count: возвратить индексы элементам в контейнере, значения которого являются соответствующими ключу дочернего спецификатора. Кроме того, вероятно, необходимо объявить любые специальные переменные экземпляра и реализовать инициализатор, вызывающий определяемый инициализатор super, initWithContainerClassDescription:containerSpecifier:key:, и инициализирует эти переменные.

Для всесторонней обработки объектных спецификаторов, включая пример кода, посмотрите Объектные Спецификаторы в Руководстве по созданию сценариев Какао.

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


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


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в OS X v10.0 и позже.
  • Возвращает новый объектный спецификатор для дескриптора события Apple.

    Объявление

    Swift

    init?(descriptor descriptor: NSAppleEventDescriptor) -> NSScriptObjectSpecifier

    Objective C

    + (NSScriptObjectSpecifier *)objectSpecifierWithDescriptor:(NSAppleEventDescriptor *)descriptor

    Параметры

    descriptor

    Дескриптор события Apple. Дескриптор должен иметь тип typeObjectSpecifier.

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

    Объектный спецификатор, или nil если происходит ошибка.

    Обсуждение

    Если objectSpecifierWithDescriptor: вызывается и перестал работать во время выполнения команды сценария, информация об ошибке, вызвавшей отказ, зарегистрирована в [NSScriptCommand currentCommand].

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвраты NSScriptObjectSpecifier объект инициализируется с данными атрибутами.

    Объявление

    Swift

    init(containerClassDescription classDesc: NSScriptClassDescription, containerSpecifier container: NSScriptObjectSpecifier, key property: String)

    Objective C

    - (instancetype)initWithContainerClassDescription:(NSScriptClassDescription *)classDesc containerSpecifier:(NSScriptObjectSpecifier *)container key:(NSString *)property

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

    NSScriptObjectSpecifier объект инициализируется с контейнерным спецификатором specifier, ключ key, и описание класса объектного спецификатора classDescription, полученный из значения ключа спецификатора.

    Обсуждение

    Вы никогда не должны передавать nil для значения classDescription. Дочерняя ссылка получателя установлена в nil.

    Это - определяемый инициализатор для NSScriptObjectSpecifier.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвраты NSScriptObjectSpecifier объект, инициализированный с данным контейнерным спецификатором и ключом.

    Объявление

    Swift

    convenience init(containerSpecifier container: NSScriptObjectSpecifier, key property: String)

    Objective C

    - (instancetype)initWithContainerSpecifier:(NSScriptObjectSpecifier *)container key:(NSString *)property

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

    NSScriptObjectSpecifier объект инициализируется с контейнерным спецификатором specifier и ключ key.

    Обсуждение

    Описание класса контейнера установлено автоматически.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func indicesOfObjectsByEvaluatingWithContainer(_ container: AnyObject, count count: UnsafeMutablePointer<Int>) -> UnsafeMutablePointer<Int>

    Objective C

    - (NSInteger *)indicesOfObjectsByEvaluatingWithContainer:(id)container count:(NSInteger *)count

    Обсуждение

    Этот примитивный метод должен быть переопределен подклассами для возврата указателя на массив индексов, идентифицирующих объекты в ключе контейнера aContainer это идентифицируется получателем сообщения. Метод использует кодирование значения ключа для получения значений на основе ключа получателя. Это возвращает число таких соответствующих объектов косвенно в numRefs. Это возвращается nil непосредственно и –1 через numRefs если все объекты в контейнере (или единственный объект) соответствуют значение ключа получателя. Этот метод вызывается objectsByEvaluatingWithContainers:. Возвраты реализации по умолчанию nil непосредственно и –1 косвенно через numRefs.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает фактический объект, представленный вложенной серией объектных спецификаторов.

    Объявление

    Swift

    var objectsByEvaluatingSpecifier: AnyObject? { get }

    Objective C

    @property(readonly, retain) id objectsByEvaluatingSpecifier

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

    Фактический объект представлен вложенной серией объектных спецификаторов.

    Обсуждение

    Рекурсивно получает следующий контейнер во вложенной серии объектных спецификаторов, пока он не достигает контейнерного спецификатора верхнего уровня (который является любой NSWhoseSpecifier или объект приложения), после которого это начинает оценивать каждый объектный спецификатор (objectsByEvaluatingWithContainers:) вход в противоположное направление (верхний уровень к самому внутреннему), поскольку это раскручивается от штабеля. Возвращает фактический объект, представленный вложенной серией объектных спецификаторов. Возвраты nil если никакой контейнерный спецификатор верхнего уровня не мог бы быть найден, если контейнерный спецификатор не мог бы быть оценен или. Таким образом nil может быть допустимое значение или может указать ошибку; можно использовать evaluationErrorNumber определить, если и какая ошибка произошла и evaluationErrorSpecifier счесть контейнерный спецификатор ответственным за ошибку. В нормальном ходе обработки команды этот метод вызывается NSScriptCommand объект evaluatedArguments и evaluatedReceivers методы, берущие в качестве получателя сообщения самый внутренний объектный спецификатор.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func objectsByEvaluatingWithContainers(_ containers: AnyObject) -> AnyObject?

    Objective C

    - (id)objectsByEvaluatingWithContainers:(id)containers

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

    Фактический объект или объекты, указанные получателем, как оценено в контексте его контейнерного объекта или объектов (containers).

    Обсуждение

    Вызывает indicesOfObjectsByEvaluatingWithContainer:count: на self получить массив указателей на индексы элементов в containers это имеет значения, соединенные с ключом получателя сообщения. Этот метод тогда использует кодирование значения ключа для получения объекта или объектов, связанных с ключом; это возвращает эти объекты или nil при отсутствии совпадающих значений в контейнерах. Если существуют многократные совпадающие значения, они возвращаются в NSArray; если совпадающие значения nil, NSNull объектами заменяют. Если containers NSArray, метод рекурсивно оценивает каждый элемент в массиве и возвращается NSArray с оцененными объектами (включая NSNulls) в их соответствующих слотах.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    var containerClassDescription: NSScriptClassDescription?

    Objective C

    @property(retain) NSScriptClassDescription *containerClassDescription

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

    Описание класса объекта обозначено контейнерным спецификатором получателя.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Если контейнерный спецификатор получателя nil, возвращает булево значение, указывающее, является ли контейнер получателя объектом, вовлеченным в тест спецификатора.

    Объявление

    Swift

    var containerIsObjectBeingTested: Bool

    Objective C

    @property BOOL containerIsObjectBeingTested

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

    YEStrue если контейнер получателя является объектом, вовлеченным в тест спецификатора, иначе NOfalse.

    Обсуждение

    Пример теста спецификатора whose color is blue). Если возвращенное значение YEStrue, тогда объект верхнего уровня является протестированным объектом (т.е. спецификатор не имеет никакого контейнерного спецификатора).

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Если контейнерный спецификатор получателя nil, возвращает булево значение, указывающее, содержит ли контейнер для получателя диапазон элементов, представленных NSRangeSpecifier.

    Объявление

    Swift

    var containerIsRangeContainerObject: Bool

    Objective C

    @property BOOL containerIsRangeContainerObject

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

    YEStrue если контейнер для получателя содержит диапазон элементов, представленных NSRangeSpecifier, иначе NOfalse.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает контейнерный спецификатор получателя.

    Объявление

    Swift

    var containerSpecifier: NSScriptObjectSpecifier?

    Objective C

    @property(retain) NSScriptObjectSpecifier *containerSpecifier

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

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Устанавливает описание класса контейнерного спецификатора получателя к данному спецификатору.

    Объявление

    Swift

    var containerClassDescription: NSScriptClassDescription?

    Objective C

    @property(retain) NSScriptClassDescription *containerClassDescription

    Параметры

    classDescription

    Описание класса контейнерного спецификатора получателя.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    var containerIsObjectBeingTested: Bool

    Objective C

    @property BOOL containerIsObjectBeingTested

    Обсуждение

    Если контейнерный спецификатор получателя nil и flag YEStrue, устанавливает контейнер получателя, чтобы быть объектом, вовлеченным в ссылку фильтра (например, whose color is blue). Если контейнерный спецификатор получателя nil и flag NOfalse, устанавливает контейнер получателя, чтобы быть объектом верхнего уровня.

    Если flag YEStrue setContainerIsRangeContainerObject: не должен также быть вызван с параметром YEStrue.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Устанавливает контейнерный спецификатор получателя.

    Объявление

    Swift

    var containerSpecifier: NSScriptObjectSpecifier?

    Objective C

    @property(retain) NSScriptObjectSpecifier *containerSpecifier

    Параметры

    objSpecifier

    Контейнерный спецификатор для получателя.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – containerSpecifier

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

    Объявление

    Swift

    var containerIsRangeContainerObject: Bool

    Objective C

    @property BOOL containerIsRangeContainerObject

    Обсуждение

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

    Если flag YEStrue, setContainerIsObjectBeingTested: не должен также быть вызван с параметром YEStrue.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает дочернюю ссылку получателя.

    Объявление

    Swift

    unowned(unsafe) var childSpecifier: NSScriptObjectSpecifier?

    Objective C

    @property(assign) NSScriptObjectSpecifier *childSpecifier

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

    Дочерняя ссылка получателя, т.е. объектная оценка спецификатора к объекту или объектам, которые содержит получатель.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – setChildSpecifier:

  • Устанавливает дочернюю ссылку получателя.

    Объявление

    Swift

    unowned(unsafe) var childSpecifier: NSScriptObjectSpecifier?

    Objective C

    @property(assign) NSScriptObjectSpecifier *childSpecifier

    Параметры

    child

    Дочерняя ссылка получателя.

    Обсуждение

    Не вызывайте этот метод непосредственно; это автоматически вызывается setContainerSpecifier:.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – childSpecifier

  • Возвращает ключ получателя.

    Объявление

    Swift

    var key: String?

    Objective C

    @property(copy) NSString *key

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

    Ключ получателя.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает описание класса объектов, указанных получателем.

    Объявление

    Swift

    var keyClassDescription: NSScriptClassDescription? { get }

    Objective C

    @property(readonly, retain) NSScriptClassDescription *keyClassDescription

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

    Описание класса объектов указано получателем.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – ключ
    – setKey:

  • Устанавливает ключ получателя.

    Объявление

    Swift

    var key: String?

    Objective C

    @property(copy) NSString *key

    Параметры

    key

    Ключ для получателя.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    var evaluationErrorSpecifier: NSScriptObjectSpecifier? { get }

    Objective C

    @property(readonly, retain) NSScriptObjectSpecifier *evaluationErrorSpecifier

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

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

    Обсуждение

    Объектный спецификатор, не удающийся оценить, мог быть получателем или любым контейнерным спецификатором «выше» получателя.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – evaluationErrorNumber

  • Возвращает постоянную идентификацию типа ошибки, заставившей оценку перестать работать.

    Объявление

    Swift

    var evaluationErrorNumber: Int

    Objective C

    @property NSInteger evaluationErrorNumber

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

    Постоянная идентификация типа ошибки, заставившей оценку перестать работать.

    Обсуждение

    Этот код ошибки мог быть связан с получателем или любым контейнерным спецификатором «выше» получателя. Возможные возвращаемые значения определяются в Константах.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Устанавливает значение ошибки оценки.

    Объявление

    Swift

    var evaluationErrorNumber: Int

    Objective C

    @property NSInteger evaluationErrorNumber

    Параметры

    error

    Значение для ошибки оценки.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – evaluationErrorNumber

  • Возвращает дескриптор события Apple, представляющий получатель.

    Объявление

    Swift

    @NSCopying var descriptor: NSAppleEventDescriptor? { get }

    Objective C

    @property(readonly, copy) NSAppleEventDescriptor *descriptor

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

    Дескриптор события Apple типа typeObjectSpecifier.

    Обсуждение

    Если получатель создавался с objectSpecifierWithDescriptor:, переданный - в дескрипторе возвращается. Иначе, новый дескриптор создан и возвращен, автовыпущен.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • NSScriptObjectSpecifier обеспечивает следующие константы для кодов ошибки для определенных проблем, оценивая спецификаторы:

    Объявление

    Swift

    var NSNoSpecifierError: Int { get } var NSNoTopLevelContainersSpecifierError: Int { get } var NSContainerSpecifierError: Int { get } var NSUnknownKeySpecifierError: Int { get } var NSInvalidIndexSpecifierError: Int { get } var NSInternalSpecifierError: Int { get } var NSOperationNotSupportedForKeySpecifierError: Int { get }

    Objective C

    enum { NSNoSpecifierError = 0, NSNoTopLevelContainersSpecifierError, NSContainerSpecifierError, NSUnknownKeySpecifierError, NSInvalidIndexSpecifierError, NSInternalSpecifierError, NSOperationNotSupportedForKeySpecifierError };

    Константы

    • NSNoSpecifierError

      NSNoSpecifierError

      Никакая ошибка не встретилась.

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

    • NSNoTopLevelContainersSpecifierError

      NSNoTopLevelContainersSpecifierError

      Кто-то вызвал evaluate с nil.

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

    • NSContainerSpecifierError

      NSContainerSpecifierError

      Ошибка оценивая контейнерный спецификатор.

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

    • NSUnknownKeySpecifierError

      NSUnknownKeySpecifierError

      Получатели не понимают ключ.

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

    • NSInvalidIndexSpecifierError

      NSInvalidIndexSpecifierError

      Индекс за пределы.

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

    • NSInternalSpecifierError

      NSInternalSpecifierError

      Другая внутренняя ошибка.

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

    • NSOperationNotSupportedForKeySpecifierError

      NSOperationNotSupportedForKeySpecifierError

      Попытка, предпринятая для выполнения недопустимой операции на некотором ключе.

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