Junior — Middle
How does adding tasks to a DispatchGroup work in your code?
sobes.tech AI
Answer from AI
Tasks are added to a DispatchGroup using the enter() and leave() methods. Before starting an asynchronous task, group.enter() is called, and upon its completion, group.leave() is called. This allows the DispatchGroup to track the number of active tasks and notify when all are finished.
Example:
let group = DispatchGroup()
group.enter()
DispatchQueue.global().async {
// Asynchronous task
print("Task completed")
group.leave()
}
group.notify(queue: .main) {
print("All tasks are completed")
}