Оцените объект сценариев Какао из 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 чтобы получить мой объект.

Другие вопросы по тегам