【发布时间】:2011-02-17 18:31:31
【问题描述】:
如果我尝试解析单个 HTTP URL,它会很快完成。但是如果我必须在应用程序启动时解析四个不同的 URL,那么使用 NSThreads 和 NSOperation 队列是否可行。 如果可能的话,谁能用一个小例子解释一下?
萨戈斯
【问题讨论】:
标签: iphone nsxmlparser nsthread
如果我尝试解析单个 HTTP URL,它会很快完成。但是如果我必须在应用程序启动时解析四个不同的 URL,那么使用 NSThreads 和 NSOperation 队列是否可行。 如果可能的话,谁能用一个小例子解释一下?
萨戈斯
【问题讨论】:
标签: iphone nsxmlparser nsthread
编写一个 NSOperation 子类,并在 main 方法中执行如下操作:
- (void)main
{
NSXMLParser *parser = [[[NSXMLParser alloc] initWithContentsOfURL:myURL_] autorelease];
[parser setDelegate:self];
[parser parse];
}
在你的 NSOperation 子类上实现你的解析器委托方法。然后实例化子类,为它们分配 URL,并将它们添加到操作队列中。使用通知或委托来了解它们何时完成。
【讨论】:
是的。一定要使用 NSOperationQueue。以下链接基本上展示了如何使用 NSOperationQueue 解析多个 URL(xml 文件)。
http://www.cocoabuilder.com/archive/cocoa/275115-nsoperationqueue-for-nsxmlparser-object.html
【讨论】: