我试图弄清楚这段代码是否正在更新主线程上的 UI。这段代码在我专门为下载 JSON 提要而制作的一个类中。获取数据后,我解析它以返回一个数组,我将使用它来更新 UI,然后让代理知道数据已准备好。我的委托,一个视图控制器,将使用这个数组来更新 UI。我需要-parser:didFinishParsingWithResults:
在一个dispatch_get_main_queue
街区内完成吗?或者因为我在视图控制器类而不是这个类中更新 UI,所以这不是必需的?谢谢!
__block NSArray *results;
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData *responseData = [NSData dataWithContentsOfURL:url];
results = [self parseData:responseData];
[self.delegate parser:self didFinishParsingWithResults:results];
});