Ios4 如何将数据值从Grand Central Dispatch asych块传回主线程使用?
题目就是全部问题。如果_asych代码块产生有意义的工作,那么在某些情况下,它将产生主线程现在想要使用的信息 在这个简单的示例中,如何从块中获取myData中包含的数据值,即字符串数据,以供主线程使用: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, ^{
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); });