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

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

Разработчик

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

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

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

NSScriptCommand

Экземпляр NSScriptCommand представляет оператор сценариев, такой как set word 5 of the front document to word 1 of the second document, и содержит информацию, должен был выполнить работу, указанную оператором.

Когда событие Apple достигает приложения Какао, встроенная поддержка сценариев Какао преобразовывает его в команду сценария (т.е. экземпляр NSScriptCommand или один из подклассов, предоставленных сценариями Какао или Вашим приложением), и выполняет команду в контексте приложения. Выполнение команды означает или вызов селектора, связанного с командой на объекте или объекты, определяемые для получения команды, или наличие команды выполняет свой метод реализации по умолчанию (performDefaultImplementation).

Ваше приложение наиболее вероятно вызывает методы NSScriptCommand извлечь аргументы команды. Вы делаете это любой в performDefaultImplementation метод подкласса команды Вы создали, или в методе объекта, определяемом как селектор для обработки определенной команды.

Как часть стандартных сценариев Какао реализации, NSScriptCommand и его подклассы могут обработать набор команд по умолчанию для Стандартного комплекта AppleScript для большинства приложений без любого разделения на подклассы. Стандартный комплект включает команды такой как copy, count, create, delete, exists, и move, а также общие классы объектов такой как application, document, и window.

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

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


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


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в OS X v10.0 и позже.
  • init (commandDescription:) - initWithCommandDescription: Определяемый инициализатор

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

    Объявление

    Swift

    init(commandDescription commandDesc: NSScriptCommandDescription)

    Objective C

    - (instancetype)initWithCommandDescription:(NSScriptCommandDescription *)commandDesc

    Параметры

    commandDesc

    Описание команды для команды, которая будет создаваться.

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

    Недавно инициализированный экземпляр NSScriptCommand или подкласс.

    Обсуждение

    Для создания этого объекта команды применимым необходимо установить его принимающие объекты и параметры (если таковые имеются) после вызова этого метода.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Если команда выполняется в текущем потоке встроенной обработкой событий Apple сценариев Какао, возвратите команду.

    Объявление

    Swift

    class func currentCommand() -> NSScriptCommand?

    Objective C

    + (NSScriptCommand *)currentCommand

    Обсуждение

    Команда выполняется в текущем потоке встроенной обработкой событий Apple сценариев Какао если экземпляр NSScriptCommand обрабатывает executeCommand сообщение в сейчас же как результат отгрузки события Apple. Возвраты nil иначе. setScriptErrorNumber: и setScriptErrorString: сообщения, отправленные в возвращенный объект команды, будут влиять на событие ответа, отправленное в отправителя события, из которого была создана команда, если отправитель запросил ответ.

    Приостановленную команду не считают текущей командой. Если команда приостановлена, и никакая другая команда не выполняется в текущем потоке, currentCommand возвраты nil.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Если получатель был создан встроенной обработкой событий Apple сценариев Какао, возвращает дескриптор события Apple, из которого это было создано.

    Объявление

    Swift

    @NSCopying var appleEvent: NSAppleEventDescriptor? { get }

    Objective C

    @property(readonly, copy) NSAppleEventDescriptor *appleEvent

    Обсуждение

    Эффекты видоизменения или сохранения этого дескриптора не определены, несмотря на то, что это может быть скопировано.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Выполняет команду, если это допустимо и возвращает результат, если таковые имеются.

    Объявление

    Swift

    func executeCommand() -> AnyObject?

    Objective C

    - (id)executeCommand

    Обсуждение

    Прежде чем этот метод выполняет команду (через NSInvocation механизмы), это оценивает все объектные спецификаторы, вовлеченные в команду, проверяет это, получатели могут фактически обработать команду и проверяют, что типы любых параметров, которые были первоначально объектными спецификаторами, допустимы.

    Вам не придется переопределить этот метод. Если получатели команды хотят обработать команду сами, этот метод вызывает их определенный обработчик. Иначе, это вызывает performDefaultImplementation.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func performDefaultImplementation() -> AnyObject?

    Objective C

    - (id)performDefaultImplementation

    Обсуждение

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

    Необходимо создать подкласс NSScriptCommand только если необходимо обеспечить реализацию по умолчанию команды.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает объект или возражает, в который команда должна быть отправлена (названная обоими «получатели» или «цели» команд сценария).

    Объявление

    Swift

    var evaluatedReceivers: AnyObject? { get }

    Objective C

    @property(readonly, retain) id evaluatedReceivers

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    var receiversSpecifier: NSScriptObjectSpecifier?

    Objective C

    @property(retain) NSScriptObjectSpecifier *receiversSpecifier

    Обсуждение

    Получатель обычно является контейнером. Например, если исходная команда get the third paragraph of the first document, спецификатор получателя the first document— это - документ, знающий, как получить или установить слова или абзацы, которые это содержит.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    var receiversSpecifier: NSScriptObjectSpecifier?

    Objective C

    @property(retain) NSScriptObjectSpecifier *receiversSpecifier

    Обсуждение

    Если Вы создаете подкласс NSScriptCommand, необходимо не обязательно переопределить этот метод, хотя некоторые подклассы Какао делают. Переопределение должно выполнить ту же функцию как метод суперкласса с критическим различием: это заставляет контейнерную часть спецификатора переданного - в объектном спецификаторе становиться спецификатором получателя команды и ключевой ролью переданного - в объектном спецификаторе для становления ключевым спецификатором. В переопределении, например, если receiversRef спецификатор для the third rectangle of the first document, спецификатор получателя the first document в то время как ключевой спецификатор the third rectangle.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает параметры команды.

    Объявление

    Swift

    var arguments: [NSObject : AnyObject]!

    Objective C

    @property(copy) NSDictionary *arguments

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – setArguments:

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

    Объявление

    Swift

    var evaluatedArguments: [NSObject : AnyObject]? { get }

    Objective C

    @property(readonly, copy) NSDictionary *evaluatedArguments

    Обсуждение

    Параметрами первоначально может быть или обычный объект или объектный спецификатор такой как word 5 (представленный как экземпляр NSScriptObjectSpecifier подкласс). Если параметрами являются объектные спецификаторы, получатель оценивает их перед использованием ссылочных объектов. Возвраты nil если не хорошо формируется команда. Также возвраты nil если нет никакого типа, определенного для параметра в описании команды, если объектный спецификатор не оценивает к объекту или.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Устанавливает параметры команды к args.

    Объявление

    Swift

    var arguments: [NSObject : AnyObject]!

    Objective C

    @property(copy) NSDictionary *arguments

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    var directParameter: AnyObject?

    Objective C

    @property(retain) id directParameter

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

    Объект. Возвраты nil если полученное событие Apple не содержит прямой параметр.

    Обсуждение

    Например, прямой параметр a print documents Событие Apple содержит список документов. Этот метод может возвратить тот же объект или объекты, возвращенные receiversSpecifier.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – setDirectParameter:

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

    Объявление

    Swift

    var directParameter: AnyObject?

    Objective C

    @property(retain) id directParameter

    Параметры

    directParameter

    Объект, который будет установлен как прямой параметр.

    Обсуждение

    Вы обычно не переопределяете этот метод.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – directParameter

  • Возвращает описание команды для команды.

    Объявление

    Swift

    var commandDescription: NSScriptCommandDescription { get }

    Objective C

    @property(readonly, retain) NSScriptCommandDescription *commandDescription

    Обсуждение

    Как только команда создается, ее описание команды неизменное.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – isWellFormed

  • isWellFormed - isWellFormed Доступный в OS X v10.0 через OS X v10.9

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

    Объявление

    Objective C

    - (BOOL)isWellFormed

    Обсуждение

    Метод гарантирует, что существует описание команды и что число параметров и типы параметров неспецификатора соответствуют описанию команды.

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

    Objective C

    @import Foundation;

    Доступность

    Доступный в OS X v10.0 через OS X v10.9.

    См. также

    – commandDescription

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

    Объявление

    Swift

    var scriptErrorExpectedTypeDescriptor: NSAppleEventDescriptor?

    Objective C

    @property(retain) NSAppleEventDescriptor *scriptErrorExpectedTypeDescriptor

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

    Дескриптор, указывающий тип.

    Обсуждение

    Когда ошибка происходит во время выполнения команды сценария, потому что дескриптор события Apple не имел ожидаемого типа, и отправитель запросил ответ, сценарии Какао возвращают дескриптор для ожидаемого типа в событии Apple ответа. Можно вызвать setScriptErrorExpectedTypeDescriptor: установить этот дескриптор непосредственно.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    var scriptErrorNumber: Int32

    Objective C

    @property int scriptErrorNumber

    Обсуждение

    При разделении на подклассы NSScriptCommand или одного из его подклассов Вы не должны должны быть переопределять этот метод.

    Для состояний ошибки, определенных для Вашего приложения, можно определить собственные ошибочные возвращаемые значения. Для некоторых распространенных ошибок можно хотеть возвратить ошибочные значения, определенные в MacErrors.h, заголовок в CarbonCore.framework (подплатформа CoreServices.framework). Ищите ошибочные константы, запускающиеся с errAE. Например, errAEEventNotHandled указывает, что обработчик не смог обработать событие Apple.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – setScriptErrorNumber:

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

    Объявление

    Swift

    var scriptErrorOffendingObjectDescriptor: NSAppleEventDescriptor?

    Objective C

    @property(retain) NSAppleEventDescriptor *scriptErrorOffendingObjectDescriptor

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

    Дескриптор, указывающий объект.

    Обсуждение

    Когда ошибка, происходящая во время выполнения команды сценария, вызывается конкретным объектом, и отправитель запросил ответ, сценарии Какао возвращают дескриптор для незаконного объекта в событии Apple ответа. Можно вызвать setScriptErrorOffendingObjectDescriptor: установить этот дескриптор непосредственно.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    var scriptErrorString: String?

    Objective C

    @property(copy) NSString *scriptErrorString

    Обсуждение

    Когда Вы разделяете на подклассы NSScriptCommand или один из его подклассов, Вы не должны должны быть переопределять этот метод.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – setScriptErrorString:

  • Устанавливает дескриптор для ожидаемого типа, который будет помещен в событие Apple ответа, если отправитель запросил ответ, выполнение получателя завершается, и код ошибки был установлен.

    Объявление

    Swift

    var scriptErrorExpectedTypeDescriptor: NSAppleEventDescriptor?

    Objective C

    @property(retain) NSAppleEventDescriptor *scriptErrorExpectedTypeDescriptor

    Параметры

    errorExpectedTypeDescriptor

    Дескриптор, указывающий тип.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Устанавливает дескриптор для объекта, который будет помещен в событие Apple ответа, если отправитель запросил ответ, выполнение получателя завершается, и код ошибки был установлен.

    Объявление

    Swift

    var scriptErrorOffendingObjectDescriptor: NSAppleEventDescriptor?

    Objective C

    @property(retain) NSAppleEventDescriptor *scriptErrorOffendingObjectDescriptor

    Параметры

    errorOffendingObjectDescriptor

    Дескриптор, указывающий объект, который был ответственен за ошибку.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Устанавливает код ошибки сценария, связанный с выполнением команды и возвращающийся в событии Apple ответа, если ответ требовал отправитель.

    Объявление

    Swift

    var scriptErrorNumber: Int32

    Objective C

    @property int scriptErrorNumber

    Параметры

    errorNumber

    Код ошибки для соединения с командой.

    Обсуждение

    Если Вы переопределяете performDefaultImplementation и ошибка происходит, необходимо вызвать этот метод для предоставления надлежащего кода ошибки. Фактически, когда ошибка происходит, любой обработчик сценария должен вызвать этот метод. Код ошибки, который Вы предоставляете, возвращается в событии Apple ответа.

    Вызов setScriptErrorNumber: заставляет сообщение об ошибке быть выведенным на экран. Для соединения определенного сообщения об ошибке с кодом ошибки Вы вызываете setScriptErrorString:. Это целесообразно, например при установке кода ошибки, который является определенным для приложения, или когда можно предоставить определенное и полезное сообщение об ошибке пользователю.

    Если setScriptErrorNumber: вызывается на NSScriptCommand с многократными получателями команда прекратит отправлять сообщения обработки команды в большее количество получателей.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – scriptErrorNumber

  • Устанавливает строку ошибки сценария, связанную с выполнением команды.

    Объявление

    Swift

    var scriptErrorString: String?

    Objective C

    @property(copy) NSString *scriptErrorString

    Параметры

    errorString

    Строка, описывающая ошибку.

    Обсуждение

    Если Вы переопределяете performDefaultImplementation и ошибка происходит, необходимо вызвать этот метод для предоставления строки, обеспечивающей полезное объяснение. Фактически, когда ошибка происходит, любой обработчик сценария должен вызвать этот метод.

    Вызов одного только этого метода не заставляет сообщение об ошибке быть быть выведенным на экран — необходимо также вызвать setScriptErrorNumber: предоставлять код ошибки.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – scriptErrorString

  • Приостанавливает выполнение получателя.

    Объявление

    Swift

    func suspendExecution()

    Objective C

    - (void)suspendExecution

    Обсуждение

    Приостанавливает выполнение получателя, только если получатель выполняется в текущем потоке встроенной обработкой событий Apple сценариев Какао (т.е. получатель был бы возвращен [NSScriptCommand currentCommand]) — иначе, ничего не делает. Соответствующий вызов resumeExecutionWithResult: должен быть сделан.

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Если успешное, несопоставленное, вызов suspendExecution был сделан, возобновите выполнение команды.

    Объявление

    Swift

    func resumeExecutionWithResult(_ result: AnyObject?)

    Objective C

    - (void)resumeExecutionWithResult:(id)result

    Обсуждение

    Возобновляет выполнение команды если успешное, несопоставленное, вызов suspendExecution был сделан — иначе, ничего не делает. Значение для result зависит от сегмента выполнения команды, приостановленного:

    • Если suspendExecution был вызван из обработчика команды одного из получателей команды, result считается возвращаемым значением обработчика. Если команда не получила a setScriptErrorNumber: сообщение с ненулевым кодом ошибки, выполнение команды будет продолжаться, и обработчики команды других получателей будут вызваны.

    • Если suspendExecution был вызван из переопределения performDefaultImplementation результат обрабатывается, как будто это было возвращаемое значение вызова performDefaultImplementation.

    resumeExecutionWithResult: может быть вызван в любом потоке, не только том в который соответствующий вызов suspendExecution произошедший.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • NSScriptCommand использует следующие коды ошибки для общекомандных проблем выполнения:

    Объявление

    Swift

    var NSNoScriptError: Int { get } var NSReceiverEvaluationScriptError: Int { get } var NSKeySpecifierEvaluationScriptError: Int { get } var NSArgumentEvaluationScriptError: Int { get } var NSReceiversCantHandleCommandScriptError: Int { get } var NSRequiredArgumentsMissingScriptError: Int { get } var NSArgumentsWrongScriptError: Int { get } var NSUnknownKeyScriptError: Int { get } var NSInternalScriptError: Int { get } var NSOperationNotSupportedForKeyScriptError: Int { get } var NSCannotCreateScriptCommandError: Int { get }

    Objective C

    enum { NSNoScriptError = 0, NSReceiverEvaluationScriptError, NSKeySpecifierEvaluationScriptError, NSArgumentEvaluationScriptError, NSReceiversCantHandleCommandScriptError, NSRequiredArgumentsMissingScriptError, NSArgumentsWrongScriptError, NSUnknownKeyScriptError, NSInternalScriptError, NSOperationNotSupportedForKeyScriptError, NSCannotCreateScriptCommandError };

    Константы

    • NSNoScriptError

      NSNoScriptError

      Никакая ошибка.

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

    • NSReceiverEvaluationScriptError

      NSReceiverEvaluationScriptError

      Объект или объекты, указанные прямым параметром к команде, не могли быть найдены.

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

    • NSKeySpecifierEvaluationScriptError

      NSKeySpecifierEvaluationScriptError

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

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

    • NSArgumentEvaluationScriptError

      NSArgumentEvaluationScriptError

      Объект, указанный параметром, не мог быть найден.

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

    • NSReceiversCantHandleCommandScriptError

      NSReceiversCantHandleCommandScriptError

      Получатели не поддерживают команду, отправленную им.

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

    • NSRequiredArgumentsMissingScriptError

      NSRequiredArgumentsMissingScriptError

      Параметр (или больше чем один параметр) отсутствуют.

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

    • NSArgumentsWrongScriptError

      NSArgumentsWrongScriptError

      Параметр (или больше чем один параметр) имеют неправильный тип или иначе недопустимы.

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

    • NSUnknownKeyScriptError

      NSUnknownKeyScriptError

      Произошла неопознанная ошибка; указывает ошибку в поддержке сценариев Вашего приложения.

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

    • NSInternalScriptError

      NSInternalScriptError

      Произошла неопознанная внутренняя ошибка; указывает ошибку в поддержке сценариев Вашего приложения.

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

    • NSOperationNotSupportedForKeyScriptError

      NSOperationNotSupportedForKeyScriptError

      Реализация команды сценариев сигнализировала ошибку.

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

    • NSCannotCreateScriptCommandError

      NSCannotCreateScriptCommandError

      Не удалось создать команду сценария; было получено недопустимое или нераспознанное событие Apple.

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