我的应用程序解析一个在线 XML 文件。我正在尝试添加一项功能,该功能将从 xml 中的每个项目的 LINK 中扫描某些关键字,并将它们返回给 NSString。当它使用以下方法解析时,我将其设置为执行此操作:
NSString *string = [NSString stringWithContentsOfURL:[NSURL URLWithString:articleUrl] encoding:NSUTF8StringEncoding error:nil];
NSMutableArray *substrings = [NSMutableArray new];
NSScanner *scanner = [NSScanner scannerWithString:string];
[scanner scanUpToString:@"Thought:" intoString:nil];
while(![scanner isAtEnd]) {
NSString *substring = nil;
[scanner scanString:@"Thought:" intoString:nil];
if([scanner scanUpToString:@"</body>" intoString:&substring]) {
[substrings addObject:substring];
}
[scanner scanUpToString:@"Thought:" intoString:nil];
}
[substrings release];
问题是 XML 有很多项目,这需要时间,并且 TableView 单元格直到此任务完成后才会出现。有没有更快的方法可以工作?