@christine
Вы можете использовать DispatchGroup, чтобы заставить код ждать завершения работы timer в Swift.
Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// Создаем group let group = DispatchGroup() // Добавляем в group выполнение задачи по истечении таймера group.enter() Timer.scheduledTimer(withTimeInterval: 5, repeats: false) { _ in print("Timer completed") group.leave() // Помечаем задачу выполненной } // Добавляем в group выполнение других задач // Ждем, пока все задачи в group будут выполнены group.wait() print("All tasks completed") |
В этом примере мы создаем DispatchGroup, добавляем в группу выполнение задачи по истечении таймера и ожидаем, пока все задачи в группе будут выполнены. Когда задача по истечении таймера будет выполнена, мы пометим ее выполненной методом leave(). После того, как все задачи будут выполнены, мы выводим сообщение "All tasks completed".