我正在做的是在 Cocoa 中执行 AppleScript。它返回一些数据作为 NSAppleEventDescriptor,NSLog() 打印如下:
<NSAppleEventDescriptor: 'obj '{ 'form':'name', 'want':'dskp', 'seld':'utxt'("69671872"), 'from':'null'() }>
我想获取这些数据并将其转换为 NSDictionary 或 NSArray,或一些有用的东西,这样我就可以从中提取内容(具体来说,我在该领域之后持有“69671872”号码)。它似乎是某种数组,但我对 Apple Events 的了解相当有限。关于如何执行此操作的任何想法?
这是创建上述数据的来源:
NSString *appleScriptSource = [NSString stringWithFormat:@"tell application\"System Events\"\n return desktop 1\n end tell"];
NSDictionary *anError;
NSAppleScript *aScript = [[NSAppleScript alloc] initWithSource:appleScriptSource];
NSAppleEventDescriptor *aDescriptor = [aScript executeAndReturnError:&anError];
NSLog (@"%@", aDescriptor);
[aScript release];
在此先感谢您的帮助! :)
最佳答案
那是记录,不是列表。尝试 descriptorForKeyword:
,传递匹配您想要的四字符代码的常量。 (常量在 Apple Events header 中声明。)
关于objective-c - 如何从 Cocoa 中的 NSAppleEventDescriptor 中提取 AppleScript 数据并解析它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1247013/