Оцените объект сценариев Какао из NSAppleEventDescriptor
В моем sdef у меня есть команда, которая принимает параметр типа "Любой".
В сценарии я передаю ссылку на объект сценариев:
tell application "myApp"
set theArg to first subItem of appElement -- appElement is an element of the app object
myCommand theArg
end
В моем коде обработчика команд при получении параметра я получаю объект, подобный этому:
<NSAppleEventDescriptor: 'obj '{ 'form':'ID ', 'want':'Subi', 'seld':10900, 'from':'obj '{ 'form':'ID ', 'want':'Elem', 'seld':10900, 'from':null() } }>
Теперь я хотел бы разрешить это обратно в NSObject, который представляет фактический объект сценария "theArg". Как я могу это сделать? Я не могу найти какие-либо функции оценки в NSAppleEventDescriptor
, кроме простых типов, таких как текст, числа и ссылки на файлы.
1 ответ
Оказывается, мне снова нужна частная функция, которая также упоминалась здесь.
@interface NSScriptObjectSpecifier (NSPrivate)
+ (id) _scriptingSpecifierWithDescriptor:(NSAppleEventDescriptor*) descriptor;
@end
С этим я получу NSScriptObjectSpecifier
на который я тогда ссылаюсь objectsByEvaluatingSpecifier
чтобы получить мой объект.