在我的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() } }>
现在,我喜欢将其解析为代表" Thearg"实际脚本对象的NSOBJECT。我怎么做?除了简单的类型,例如文本,数字和文件引用。
NSAppleEventDescriptor
中的任何评估功能。事实证明,我再次需要一个私人功能。
@interface NSScriptObjectSpecifier (NSPrivate)
+ (id) _scriptingSpecifierWithDescriptor:(NSAppleEventDescriptor*) descriptor;
@end
这样,我将得到一个NSScriptObjectSpecifier
,然后调用objectsByEvaluatingSpecifier
来获取我的对象。