我对 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_async
块内时,回调块永远不会被调用。为什么会这样?
其他值得注意的是,运行此命令时我收到一条控制台消息:
Storing duplicate dispatch for GTLQueryYouTube selector setPart:
我不知道它的真正含义,也无法在网上找到任何相关的例子。可能与它有关吗?
基本上,我试图用回调块调用两种不同的方法,给我结果,然后一旦我从两者中得到结果,我想调用最后一个块,给我一个包含每个结果的字典。但是我碰到了这个问题。