objective-c - 如何从 Cocoa 中的 NSAppleEventDescriptor 中提取 AppleScript 数据并解析它

标签 objective-c cocoa applescript appleevents

我正在做的是在 Cocoa 中执行 AppleScript。它返回一些数据作为 NSAppleEventDescriptor,NSLog() 打印如下:

<NSAppleEventDescriptor: 'obj '{ 'form':'name', 'want':'dskp', 'seld':'utxt'("69671872"), 'from':'null'() }>

我想获取这些数据并将其转换为 NSDictionaryNSArray,或一些有用的东西,这样我就可以从中提取内容(具体来说,我在该领域之后持有“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/

相关文章:

objective-c - OSX 的网络连接 NSNotification?

objective-c - 如何在 OS X 下从 Applescript 调用 Cocoa 方法

javascript - 单击 HTML 链接时如何执行 Apple 脚本?

iphone - 如何将字体设置为我所有的文本字段?

objective-c - 将 JSON 反序列化为嵌套核心数据实体时出现 iPhone 核心数据 "Failed to call designated initializer on NSManagedObject class"错误

iphone - Objective-C 和 UML 建模

javascript - 将 Keynote 中的字体替换为 JXA

ios - getControlPointAtIndex 参数类型

swift - 使用 Swift 垂直对齐 NSTextField 中的文本

cocoa - NSManagedObject 实例的线程安全性?