【发布时间】:2013-07-15 21:43:36
【问题描述】:
我对 GCD 很陌生,但我试图仅在其他操作完成后才调用某些代码。无论如何,这意味着我正在使用您在下面看到的代码:
dispatch_group_async(group, queue, ^{
[self getTitlesArrayForChannel:channelID completionHandler:^(NSMutableArray *results) {
//Nothing in this block called, when method inside dispatch_group
[resultsDict setObject:results forKey:kFeedElementTitle];
NSLog(@"Received title result");
}];
});
所以我正在调用一个带有回调块的方法,为我提供该方法的结果。当我把它放在dispatch_group_asyncblock 中时,回调块永远不会被调用。为什么会这样?
还有一点值得注意的是,我在运行此命令时收到一条控制台消息:
Storing duplicate dispatch for GTLQueryYouTube selector setPart:
我不知道它的真正含义,也无法在网上找到任何相关示例。可能和它有关吗?
基本上,我试图用回调块调用两种不同的方法,给我结果,然后一旦我从这两个方法中得到结果,我想调用最后一个块,给我一个包含每个结果的字典。但是我碰到了这个问题。
【问题讨论】:
标签: objective-c youtube-api block grand-central-dispatch