2013-08-06 50 views
0

我曾嘗試使用下面的代碼創建NSXMLParser對象:NSXMLParser - 原始數據是什麼?

- (void) foo:(NSMutableString *)string 
{ 
    NSXMLParser *parser = [[NSXMLParser alloc] initWithData:[string dataUsingEncoding:NSUTF8StringEncoding]]; 
    [parser setDelegate:self]; 
    [parser parse]; 
} 

,有時我運行分析器之後出現錯誤(委託方法被在錯誤的稱呼):

- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError 
{ 
    LOGE(@"XML parser error in line:%ld column:%ld. Retrying..", [parser lineNumber], [parser columnNumber]); 
    [parser abortParsing]; 
    [parser parse]; 
} 

我如何可以提取回當我得到錯誤時,解析器中原始的stringdata

回答

0

如果您以後需要使用這些指針,那麼您有責任存儲指向這些對象的指針,而不是解析器。

解析器永遠不會知道字符串,因爲它永遠不會傳遞給它。如果解析器保存到數據的指針上,它的效率也會非常低下。

相關問題