我需要在调用 api(NSURLSessionDataTask 异步)的单独线程中一个接一个地运行 3 个方法。我查看了调度组,但这似乎同时运行方法 1 和 2,然后在它们完成时运行方法 3:
dispatch_group_t group = dispatch_group_create();
//METHOD 1
dispatch_group_enter(group);
[self method1WithCompletion:^(BOOL success){
dispatch_group_leave(group);
}];
//METHOD 2
dispatch_group_enter(group);
[self method2WithCompletion:^(BOOL success){
dispatch_group_leave(group);
}];
dispatch_group_notify(group,dispatch_get_main_queue(),^{
//METHOD 3
});
我需要它来运行方法 1,何时完成运行方法 2,何时完成最终运行方法 3(对方法进行排队)。
我知道我可以在每个完成时链接方法以运行下一个,但我认为会有更好的方法来解决这个问题......有什么想法吗?