XML 解析用に同時に約 15 の URL があります。XML 解析に KMXML パーサーを使用しています。
スレッドを使用して同時に解析を行うにはどうすればよいですか。その解析からの応答を処理する方法。これらの応答を Sq-lite データベースに保存するにはどうすればよいですか。
解析用の私のコードは次のとおりです。
NSArray* yourURLs = [NSArray arrayWithObjects:@"http://www.designworldonline.com/rss/",@"http://www.3dcadtips.com/feed/",@"http://feeds.feedburner.com/MakePartsFast",@"http://www.designworldonline.com/category/technologies/electricalelectronic/feed", nil];
for(NSString* url in yourURLs) {
[self performSelectorInBackground:@selector(parse:) withObject:url];
}
-(void)parse:(NSString*)link {
KMXMLParser *parser = [[KMXMLParser alloc] initWithURL:link delegate:self];
_parseResults = [parser posts];
[self performSelectorOnMainThread:@selector(update) withObject:_parseResults waitUntilDone:NO];
}
-(void)update
{
[pd addObject:_parseResults];
}
ただし、このコーディングで
_parseresults=[parser posts];
は、各リンクではなく、最後のリンクに対してのみ呼び出されます。
そして、配列で応答を得たpd
のは、最後のリンクと9回だけです。解析メソッドが前回のみ呼び出される理由がわかりません。