Цель C, методы делегата синтаксического анализатора NSXML никогда не вызывают - PullRequest
0 голосов
/ 21 марта 2011
xmlParser = [[NSXMLParser alloc]initWithData:[xmlString dataUsingEncoding:NSASCIIStringEncoding]];
[xmlParser setDelegate:self];
[xmlParser parse];

У меня есть это в файле ApplicaitonDelegate.m, и я пытаюсь проанализировать XML-документ в методе - didFinishLaunchingWithOptions.Я использую делегат NSXML в моем заголовочном файле, но метод делегата никогда не вызывается ..

1 Ответ

2 голосов
/ 21 марта 2011

Вы используете NSASCIIStringEncoding. Вы уверены, что ваш XML кодирован в ascii? Если вы не знаете, попробуйте NSUTF8StringEncoding. В любом случае, это лучший выбор, потому что он "включает" ASCII.

Реализовали ли вы делегатское сообщение parseErrorOccurn?

- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError

Если есть ошибка, связанная с кодированием, вы должны получить ошибку, например,

NSXMLParser error=31 "The operation couldn’t be completed. (NSXMLParserErrorDomain error 31.)"
...