我遇到的问题是我需要在dispatch_async代码中返回region
值,而dispatch_async代码又应该返回外部函数的区域。函数中的dispatch_async代码如下:
dispatch_async(regionQ, ^{
NSData *jsonData = [NSData dataWithContentsOfURL:photoInformationURL];
NSDictionary *photoPlaceDictionary = [NSJSONSerialization JSONObjectWithData:jsonData
options:0
error:NULL];
NSString *regionName = [FlickrFetcher extractRegionNameFromPlaceInformation:photoPlaceDictionary];
region = [self createRegionWithName:regionName withContext:context];
});
还有另一个问题。函数[self createRegionWithName:regionName withContext:context]
也是一个包含dispatch_async的函数。
我想过尝试在块的末尾放置return语句,但这会导致对各种辅助函数的嵌套调用的大量混乱,以确定队列的完成。我需要一个更好的方法来做到这一点。
答案 0 :(得分:0)
你应该使用消息!您应该在dispatch_async
结束时发送通知并处理该通知。只是谷歌关于它。