gpt4 book ai didi

ios - 从网站提取文本的更快方法?

转载 作者:行者123 更新时间:2023-11-29 04:12:54 35 4
gpt4 key购买 nike

我的应用程序解析在线 XML 文件。我正在尝试添加一个功能,该功能将扫描 xml 中每个项目的链接以查找某些关键字,并将它们返回到 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 单元格直到此任务完成后才会出现。有没有更快的方法可以工作?

最佳答案

更快是非常相对的。 (文件大小、要搜索的内容数量、使用的算法等......)您可以尝试其他一些方法。NSXMLParser 是另一个。NSRegularExpression 是另一个。首先捕获所有链接然后解析它们可能会更有效。但同样,这是一个非常笼统的说法。

为了在解析时保持 UI 响应,请创建 NSOperation 的子类并在后台使用该操作。让 NSOperation 子类在完成时(或为添加到数据结构中的每个项目)在主线程上发送通知。让您的应用程序委托(delegate)(或任何合适的 Controller )成为通知的观察者。您可以有一个单独的完成通知,并利用它来提供进度指示器停止。

这为您提供了响应式 UI、回调和用于更新的 Hook 。

关于ios - 从网站提取文本的更快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14151179/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com