【发布时间】:2013-11-08 00:37:34
【问题描述】:
我想在其他线程(不是主线程)解析一些数据
for (NSString* theKey in [rssSourcesData allKeys])
{
NSURL *url = [NSURL URLWithString:theKey];
NSURLRequest *initialRequest = [NSURLRequest requestWithURL:url];
AFGDataXMLRequestOperation *oper = [AFGDataXMLRequestOperation
XMLDocumentRequestOperationWithRequest:initialRequest
success:^(NSURLRequest *request, NSHTTPURLResponse *response, GDataXMLDocument *XMLDocument) {
[self parseDataInBackground:XMLDocument forKey:theKey];
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, GDataXMLDocument *XMLDocument) {
NSLog(@"failure handler: %@",theKey);
}];
[oper start];
}
finshied 解析完其他线程中的所有数据后,我想返回主线程。该怎么做?
【问题讨论】:
-
您可以在代码中使用块来强制应用返回主线程。或者,您可以添加一个侦听器并在 parseDataInBackground 完成时发布 NSNotification,以便侦听器可以执行之后的代码。此链接可能有助于理解:stackoverflow.com/questions/10492138/…
标签: ios iphone multithreading asynchronous concurrency