在我的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中找不到任何求值函数。
发布于 2017-04-15 23:33:59
原来我还需要一个私有函数,这个函数也是mentioned here的。
@interface NSScriptObjectSpecifier (NSPrivate)
+ (id) _scriptingSpecifierWithDescriptor:(NSAppleEventDescriptor*) descriptor;
@end这样,我将获得一个NSScriptObjectSpecifier,然后在其上调用objectsByEvaluatingSpecifier来获得我的对象。
https://stackoverflow.com/questions/43427703
复制相似问题