Есть ли способ сломать NSXMLParser по условию?

У меня простой вопрос о nsxmlparser.

это мой фрагмент

- (void) parser: (NSXMLParser *) parser foundCharacters: (NSString *) string{
    [...]
    if ([currentElement isEqualToString:@"openpos"]) {
        if ([string isEqualToString:@"0"]) {
            // I WOULD EXIT FROM LOOP HERE!
            return;
        }
    }
    [...]
}

почему этот возврат не работает?
Мне нужно выйти из метода парсера и вернуться обратно в мой класс с ошибкой!

Мне нужно вызвать исключение ? или есть лучший способ разорвать цикл парсера?

спасибо,
альберто


person elp    schedule 05.01.2011    source источник


Ответы (1)


Попробуйте [парсер abortParsing]; перед возвращением;

Из документов: если вы вызываете этот метод, делегат, если он реализует parser:parseErrorOccurred:, информируется об отмене операции синтаксического анализа.

person badgerr    schedule 05.01.2011
comment
В parseErrorOccured вы должны проверить, какое значение возвращается с [кодом parserError], чтобы при необходимости вы могли обрабатывать это отдельно от других ошибок. - person Walter; 05.01.2011