Objective C
dispatch_group_t group = dispatch_group_create();
dispatch_group_t group = dispatch_group_create();
dispatch_group_enter(group);
[self _someMethodWithCallback::^() {
NSLog(@"Finished 1");
dispatch_group_leave(group);
}];
dispatch_group_enter(group);
[self _anotherMethodWithCallback::^() {
NSLog(@"Finished 2");
dispatch_group_leave(group);
}];
dispatch_group_notify(group,dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^ {
NSLog(@"Finished all");
});
Swift
let group: DispatchGroup = DispatchGroup()
// For every endpoint call
group.enter()
someMethodWithCallback(onCompletion: {
group.leave()
}, onError: { (error) in
group.leave()
})
…
group.notify(queue: DispatchQueue.main) {
onCompletion()
}
Swift
let group: DispatchGroup = DispatchGroup()
// For every endpoint call
group.enter()
someMethodWithCallback(onCompletion: {
group.leave()
}, onError: { (error) in
group.leave()
})
…
group.notify(queue: DispatchQueue.main) {
onCompletion()
}
No hay comentarios:
Publicar un comentario