AMBundleAction
Экземпляры класса AMBundleAction управляют действиями Automator, которые являются загружаемыми пакетами. Automator загружает пакеты действия из стандартных расположений в файловой системе: /System/Library/Automator
, /Library/Automator
, и ~/Library/Automator
.
Объекты AMBundleAction имеют несколько важных свойств:
NSBundle
объект связался с физическим пакетом действияПредставление действия, содержащее его пользовательский интерфейс
Словарь параметров, отражающий настройки в пользовательском интерфейсе
При создании Какао проект Действия Automator в XCode шаблон проекта включает пользовательский подкласс AMBundleAction. (Этому пользовательскому классу дают имя проекта.) Единственное требование для этого пользовательского класса должно обеспечить реализацию runWithInput:error:
, который объявляется суперклассом AMAction
.
Разделение на подклассы примечаний
Как отмечено в разделе Overview, шаблоны проекта XCode для действий Automator включают частично завершенный заголовок и исходные файлы для пользовательского подкласса AMBundleAction. Имя этого пользовательского класса является именем проекта XCode. Для завершения реализации этого подкласса необходимо переопределить runWithInput:error:
(объявленный AMAction
).
Методы для переопределения
Для разделения на подклассы AMBundleAction необходимо переопределить runWithInput:error:
реализовать задачу, выполняемую действием. Если Вы добавили какие-либо переменные экземпляра, необходимо переопределить initWithDefinition:fromArchive:
метод и writeToDictionary:
метод AMAction
работать с ними.
Наследование
-
NSObject
-
AMAction
-
AMBundleAction
-
AMAppleScriptAction
-
AMShellScriptAction
-
NSObject
-
AMAction
-
AMBundleAction
-
AMAppleScriptAction
-
AMShellScriptAction
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSCopying
-
NSObjectProtocol
-
Печатаемый
-
NSCoding
-
NSCopying
-
NSObject
Оператор импорта
Swift
import Automator
Objective C
@import Automator;
Доступность
Доступный в OS X v10.4 и позже.
-
Отправленный в получатель, когда были разархивированы все объекты в его пакете.
Объявление
Swift
func awakeFromBundle()
Objective C
- (void)awakeFromBundle
Обсуждение
Этот метод позволяет объекту действия выполнять задачи установки, требующие присутствия всех объектов пакета, такие как добавление себя как наблюдатель уведомлений, динамично установление привязки и динамично ставить цели и действия.
Оператор импорта
Objective C
@import Automator;
Swift
import Automator
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Инициализирует и возвращает выделенный объект AMBundleAction.
Объявление
Swift
init!(definition
dict
: [NSObject : AnyObject]!, fromArchivearchived
: Bool)Objective C
- (instancetype)initWithDefinition:(NSDictionary *)
dict
fromArchive:(BOOL)archived
Обсуждение
Словарь определений
dict
содержит конфигурационную информацию, определенную для получателя. Еслиarchived
YES
true
, определения прибывают из архива. Можно исследовать словарь определений для приобретения знаний об определенных свойствах и настройках действия, но некоторые ключи являются частными к Automator. Вы не должны пытаться изменить значения вdict
, но можно добавить пользовательские пары ключ/значение к словарю определения путем переопределенияwriteToDictionary:
метод, объявленный суперклассом,AMAction
. Если во время выполнения необходимо узнать об или изменить свойства действия в его информационном списке свойств (Info.plist
), отправьте надлежащееNSDictionary
сообщения к пакету действияinfoDictionary
; например:[NSDictionary *infoDict = [[self bundle] infoDictionary];
NSString *theApp = [infoDict objectForKey:@"AMApplication"];
if ([theApp isEqualToString:@"Finder"]) {
// do something appropriate
}
Оператор импорта
Objective C
@import Automator;
Swift
import Automator
Доступность
Доступный в OS X v10.4 и позже.
См. также
– awakeFromBundle
– definition
(AMAction)
-
Возвращает объект пакета получателя.
Объявление
Swift
var bundle: NSBundle! { get }
Objective C
@property(readonly, strong) NSBundle *bundle
Обсуждение
Возвраты
nil
если не был установлен никакой пакет.Оператор импорта
Objective C
@import Automator;
Swift
import Automator
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Возвраты, связали ли получателю представление с ним.
Объявление
Swift
var hasView: Bool { get }
Objective C
@property(readonly) BOOL hasView
Оператор импорта
Objective C
@import Automator;
Swift
import Automator
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
представление представление
Свойство -
Возвращает параметры получателя.
Объявление
Swift
var parameters: NSMutableDictionary!
Objective C
@property(strong) NSMutableDictionary *parameters
Обсуждение
Параметры действия отражают сделанный выбор и значения, вводимые в пользовательский интерфейс действия. Ключи в словаре параметров идентифицируют определенные объекты пользовательского интерфейса. Если действие использует механизм привязки Какао, параметры объекта AMBundleAction автоматически устанавливаются. Можно изменить оптовую торговлю параметрами с
setParameters:
. Или можно получить текущий словарь параметров сparameters
свойство и параметры частного лица обновления.Оператор импорта
Objective C
@import Automator;
Swift
import Automator
Доступность
Доступный в OS X v10.4 и позже.