Ios4 如何将数据值从Grand Central Dispatch asych块传回主线程使用?

Ios4 如何将数据值从Grand Central Dispatch asych块传回主线程使用?,ios4,grand-central-dispatch,Ios4,Grand Central Dispatch,题目就是全部问题。如果_asych代码块产生有意义的工作,那么在某些情况下,它将产生主线程现在想要使用的信息 在这个简单的示例中,如何从块中获取myData中包含的数据值,即字符串数据,以供主线程使用: dispatch_queue_t myQueue = dispatch_queue_create("com.mycompany.myqueue", 0); dispatch_async(myQueue, ^{

题目就是全部问题。如果_asych代码块产生有意义的工作,那么在某些情况下,它将产生主线程现在想要使用的信息

在这个简单的示例中,如何从块中获取myData中包含的数据值,即字符串数据,以供主线程使用:

dispatch_queue_t myQueue = dispatch_queue_create("com.mycompany.myqueue", 0); 
dispatch_async(myQueue, ^{                                                    
NSString *myData = [self getSavedData];
});
dispatch_async(myQueue, ^{ dispatch_release(myQueue); });        
请扩展代码帮助,以简单的使用方式向我展示此NSLog或其正确等效项在相对于GCD块的程序主线程中的位置和方式:

NSLog(@"%@", myData);

您可以嵌套块,但每个块都在不同的线程中运行


如果您的代码很长,那么在嵌套块中添加代码是很不方便的。因此,只需在
dispatch\u async
中调用一个方法,就像
[self-processData:myData]

这样简单,只要你知道怎么做!现在我做到了,我真的很感激。
dispatch_queue_t myQueue = dispatch_queue_create("someid", 0);
dispatch_async(myQueue, ^{
        NSString *myData = [self getSavedData];
        dispatch_async(dispatch_get_main_queue(), ^{
                self.someLabel.text = myData;
            });
    });
dispatch_async(myQueue, ^{ dispatch_release(myQueue); });