dispatch_group_t group = dispatch_group_create();
dispatch_group_enter(group);
[request1 completed:^(BOOL sucess, id response){
dispatch_grpup_leave(group);
}];
dispatch_group_enter(group);
[request2 completed:^(BOOL sucess, id response){
dispatch_grpup_leave(group);
}];
dispatch_group_enter(group);
[request3 completed:^(BOOL sucess, id response){
dispatch_grpup_leave(group);
}];
dispatch_group_enter(group);
[request4 completed:^(BOOL sucess, id response){
dispatch_grpup_leave(group);
}];
.
.
.
.
dispatch_group_notify(group, dispatch_get_main_queue(), ^{
[do something];
});