マルチスレッドは初めてで、この関数をバックグラウンドで実行するにはどうすればよいか疑問に思っていました。この関数は、XML 解析に使用され、別の関数から呼び出される NSURL を返すだけです。または、それを呼び出す関数は、この関数が NSURL を返すまで続行しないため、バックグラウンドで実行する価値さえあります。基本的に、完了するのに少し時間がかかるので、これをスピードアップする方法を見つけようとしています!
+ (NSURL *)parserURL {
NSURL *theURL = [NSURL URLWithString:@"http://www.wccca.com/PITS/"];
NSData *data = [[NSData alloc] initWithContentsOfURL:theURL];
TFHpple *xpathParser = [[TFHpple alloc] initWithHTMLData:data];
NSArray *elements = [xpathParser searchWithXPathQuery:@"//input[@id='hidXMLID']//@value"];
if (elements.count >= 1) {
TFHppleElement *element = [elements objectAtIndex:0];
TFHppleElement *child = [element.children objectAtIndex:0];
NSString *idValue = [child content];
NSString *stg = [NSString stringWithFormat:@"http://www.wccca.com/PITS/xml/fire_data_%@.xml", idValue];
NSURL *url = [NSURL URLWithString:stg];
return url;
}
return nil;
}