0

他のスレッド (メインスレッドではない) でいくつかのデータを解析したい

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];
}

他のスレッドですべてのデータを解析した後、メインスレッドに戻りたいと思います。どうやってするか ?

4

2 に答える 2

1
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    // do your work here

    dispatch_async(dispatch_get_main_queue(), ^{
        // on the main thread
    }) ;
}) ;

gcd の方が効果的です。

于 2013-10-29T02:55:04.923 に答える