Я провел несколько тестов, и, насколько я могу судить, как ни странно, методы, определенные с помощью AppleScriptObjC, являются методами как класса, так и экземпляра.
Допустим, у меня есть файл AppleScriptObjC:
script iTunesController
property parent: class "NSObject"
on playpause()
tell application id "com.apple.iTunes" to playpause
end playpause
end script
В методе Objective-C оба:
- (void)callASOC
{
iTunesControllerInstance = [NSClassFromString(@"iTunesController") new];
[iTunesControllerInstance playpause];
[iTunesControllerInstance release];
}
а также
- (void)callASOC
{
[NSClassFromString(@"iTunesController") playpause];
}
вызовет обработчик паузы воспроизведения в файле AppleScriptObjC. Последняя формулировка будет генерировать предупреждение во время компиляции, но работает.
Документов, подтверждающих или опровергающих это, я не нашел.
person
Frizlab
schedule
18.12.2012