如果两个异步请求完成,我该怎么做?
执行异步initRequest
和异步refreshHeader
,它们在我执行requestEnd
方法后完成。
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self initRequest];
[self requestEnd];
}
- (void)initRequest{
[GBCompanyRequest requestWithSuccess:^(EvaluationAverage *evaluationAverage) {
} failure:^(NSString *message) {
}];
[self refreshHeader];
}
- (void)refreshHeader{
[GBCompanyEvaluationRequest requestWithSuccess:^(EvaluationAverage *evaluationAverage) {
} failure:^(NSString *message) {
}];
}
- (void)requestEnd{
NSLog(@"How can I do things when two asynchronous requests are finished");
}
@end
答案 0 :(得分:1)
我的建议是使用dispatch_group_t
dispatch_group_t :通常用于同步或异步方法/块的调用/执行组,它将在完成所有方法/块执行后通知您。
有关如何使用的更多信息,请阅读此问答。
Waiting until two async blocks are executed before starting another block