كيفية استخراج بيانات AppleScript من nsappleeventdescriptor في الكاكاو وتحليلها
-
12-09-2019 - |
سؤال
ما أقوم به هو تنفيذ ملفات 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.)
لا تنتمي إلى StackOverflow