I have a function A that contains two other functions B & C. Inside function A I need to call function C once function B has completed. I'm thinking I need to use Grand Central Dispatch's dispatch_group_notify
for it, but am not too sure how to use it. I'm calling asynchronous methods in both functions B & C. Here are my functions:
func A() {
func B() {
// Three asynchronous functions
}
func C() {
// More asynchronous functions that handle results from func B()
}
funcB()
funcC()
}
EDIT: In func B()
, I have three async functions that take awhile to finish. When I use the following method, func C()
is still being called before the methods within func B()
are completely finished. How do I make sure they're completely finished before the second dispatch group is called?
func A() {
var group = dispatch_group_create()
dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0)) { () -> Void in
// async function 1
// async function 2
// async function 3
}
dispatch_group_notify(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), { () -> Void in
// async function
})
}