/ / Jak wyodrębnić dane AppleScript z NSAppleEventDescriptor w kakao i przeanalizować to - objective-c, cocoa, applescript, appleevents

Jak wyodrębnić dane AppleScript z NSAppleEventDescriptor w Cocoa i przeanalizować - cel - c, kakao, applescript, appleevents

To, co robię, to wykonywanie kodu AppleScript w kakao. Zwraca niektóre dane jako plik NSAppleEventDescriptor, które NSLog () wyświetla tak:

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

Chcę wziąć te dane i przekształcić je w plik NSDictionary lub NSArraylub coś pożytecznego, z którego mogę wyodrębnić rzeczy(konkretnie jestem za polem zawierającym numer „69671872”). Wygląda na to, że jest to jakaś tablica, ale moja wiedza na temat wydarzeń Apple jest dość ograniczona. Masz jakiś pomysł, jak to zrobić?

Oto źródło tworzące powyższe dane:

NSString *appleScriptSource = [NSString stringWithFormat:@"tell application"System Events"n return desktop 1n end tell"];
NSDictionary *anError;
NSAppleScript *aScript = [[NSAppleScript alloc] initWithSource:appleScriptSource];
NSAppleEventDescriptor *aDescriptor = [aScript executeAndReturnError:&anError];

NSLog (@"%@", aDescriptor);
[aScript release];

Z góry dziękuję za pomoc! :)

Odpowiedzi:

2 dla odpowiedzi № 1
[[aDescriptor descriptorForKeyword:keyAEKeyData] stringValue]

2 dla odpowiedzi nr 2

To rekord, a nie lista. Spróbuj descriptorForKeyword:przekazując stałą pasującą do żądanego czteroznakowego kodu. (Stałe są deklarowane w nagłówkach Apple Events).