Вопрос проверяет умение синхронизировать несколько асинхронных операций и дождаться их завершения.
Короткий ответ
Создаётся DispatchGroup, перед каждой асинхронной задачей вызывают group.enter(), а внутри её завершения — group.leave(). После добавления всех задач можно вызвать group.notify(queue:) или group.wait(), чтобы выполнить код, когда все задачи завершатся.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.