2009-08-07 10 views
4

私がやっていることは、Cocoaの中でAppleScriptを実行することです。CocoaのNSAppleEventDescriptorからAppleScriptデータを抽出して解析する方法

<NSAppleEventDescriptor: 'obj '{ 'form':'name', 'want':'dskp', 'seld':'utxt'("69671872"), 'from':'null'() }> 
私はそのデータを取り、 NSDictionaryのまたは にNSArrayにそれを有効にする

、または有用な何か私ができるので:それはのNSLog()はそうのように印刷しNSAppleEventDescriptor、などいくつかのデータを返します。それから物質を抽出する(具体的には、 "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]; 

ありがとう:ここ

は、上記のデータを作成するソースです! :)

答えて

2
[[aDescriptor descriptorForKeyword:keyAEKeyData] stringValue] 
+0

ありがとうございます! :)それはあまりにも簡単に見えます。私は学ぶことがかなりあると思う。 ;) –

+0

@Peter Hosey絶えず交換してくれてありがとう(私はそれを捕らえたはずだった)。 – Wevah

2

これはレコードでありリストではありません。 descriptorForKeyword:を試し、必要な4文字のコードと一致する定数を渡します。 (定数はApple Eventsヘッダーで宣言されています)

+0

ああ、完璧です。本当にありがとう! :) –

関連する問題