Разбор простого фрагмента текста из NSAppleEventDescriptor - PullRequest
0 голосов
/ 21 июля 2011

Итак, у меня есть простой appleScript, который возвращает (возвращает «test») следующее:

NSAppleEventDescriptor: 'utxt' («test»)

Я нашел this вопрос и попытался повторить то, что он делал, с помощью следующего кода

NSAppleScript *scriptObject = [[NSAppleScript alloc]initWithContentsOfURL:[NSURL fileURLWithPath: scriptPath]
                                                                    error:&error];
returnDescriptor = [scriptObject executeAndReturnError: &errorDict];
NSLog(@"Return Discriptor,%@",returnDescriptor);

NSAppleEventDescriptor *utxt = [returnDescriptor descriptorForKeyword:'utxt'];
NSLog(@"Found utxt Discriptor: %@",utxt);

NSString *scriptReturn = [utxt stringValue];
NSLog(@"Found utxt string: %@",scriptReturn);

, но он ничего не возвращает:

Return Discriptor, Found utxt Discriptor: (null) Found utxt string: (нуль)

1 Ответ

0 голосов
/ 22 июля 2011

Мне кажется, что returnDescriptor уже является дескриптором, и вам это не понадобится: [returnDescriptor descriptorForKeyword: 'utxt'] ;.Я не тестировал этот код, но попробовал ...

NSDictionary *errorDict = nil;
NSAppleScript *scriptObject = [[NSAppleScript alloc]initWithContentsOfURL:[NSURL fileURLWithPath:scriptPath] error:&errorDict];
if (errorDict) {
   NSLog(@"Error: %@", errorDict);
   return;
}
NSAppleEventDescriptor *returnDescriptor = [scriptObject executeAndReturnError: &errorDict];
if (errorDict) {
   NSLog(@"Error: %@", errorDict);
   [scriptObject release];
   return;
}

NSString *scriptReturn = [returnDescriptor stringValue];
NSLog(@"Found utxt string: %@",scriptReturn);
[scriptObject release];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...