0

在我的 sdef 中,我有一个接受“Any”类型参数的命令。

在脚本中,我将引用传递给可编写脚本的对象:

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() } }>

现在,我想将它解析回一个代表“theArg”的实际脚本对象的 NSObject。我怎么做?NSAppleEventDescriptor除了文本、数字和文件引用等简单类型之外,我在 中找不到任何评估函数。

4

1 回答 1

0

结果我又需要一个这里也提到过的私有函数。

@interface NSScriptObjectSpecifier (NSPrivate)
+ (id) _scriptingSpecifierWithDescriptor:(NSAppleEventDescriptor*) descriptor;
@end

有了这个,我会得到一个NSScriptObjectSpecifier,然后我调用它objectsByEvaluatingSpecifier来获取我的对象。

于 2017-04-15T15:33:58.683 回答