كيفية استخراج بيانات AppleScript من nsappleeventdescriptor في الكاكاو وتحليلها

StackOverflow https://stackoverflow.com/questions/1247013

سؤال

ما أقوم به هو تنفيذ ملفات AppleScript داخل الكاكاو. إرجاع بعض البيانات ك nsappleeventdescripttor., ، أي طباعة NSLOG () مثل ذلك:

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

أريد أن آخذ هذه البيانات وتحويلها إلى nsdictionary. أو nsarray., ، أو شيء مفيد حتى أتمكن من استخراج الأشياء منه (على وجه التحديد أنا بعد الحقل الذي يحمل رقم "69671872"). يبدو أن مجموعة من نوع ما، ولكن معرفتي مع أحداث Apple محدودة إلى حد ما. أي فكرة عن كيفية فعل هذا؟

إليك المصدر الذي يخلق البيانات أعلاه:

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];

شكرا مقدما على أي مساعدة! :)

هل كانت مفيدة؟

المحلول

[[aDescriptor descriptorForKeyword:keyAEKeyData] stringValue]

نصائح أخرى

هذا سجل، وليس قائمة. يحاول descriptorForKeyword:, ، تمرير ثابت مطابقة رمز أربعة الأحرف التي تريدها. (يتم الإعلان عن الثوابت في رؤوس أحداث Apple.)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top