我有一个问题困扰了我好几天了。
我正在使用 NSXMLParser 解析 RSS 提要并将结果输入 UITableView。不幸的是,提要返回了一些我用以下方法解析出来的 HTML:
- (NSString *)flattenHTML:(NSString *)html {
NSScanner *theScanner;
NSString *text = nil;
theScanner = [NSScanner scannerWithString:html];
while ([theScanner isAtEnd] == NO) {
[theScanner scanUpToString:@"<" intoString:NULL] ;
[theScanner scanUpToString:@">" intoString:&text] ;
html = [html stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%@>", text] withString:@""];
}
html = [html stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
return html;
}
我目前在 NSXMLParser 委托方法期间调用此方法:
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{
这工作得很好但是需要将近一分钟或更长时间来解析 HTML 并将其展平为文本并填充单元格。在那无休止的一分钟内,我的 UITableView 完全是空的,只有一个旋转的微调器。这不好。这是在我发布这个原本可以很好工作的应用程序之前解决的最后一个“错误”。
它在 iOS 模拟器上运行得非常快,这不足为奇。
提前感谢您的任何建议。