Задержка выполнения кода в Swift: изучение эквивалента setTimeout и других методов, основанных на времени

В Swift эквивалентной функцией JavaScript setTimeoutявляется DispatchQueue.main.asyncAfter. Он позволяет выполнить блок кода после заданной задержки. Вот пример:

DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) {
    // Code to be executed after 2 seconds
    print("Delayed execution")
}

В приведенном выше примере закрытие будет выполнено с задержкой в ​​2 секунды. Вы можете настроить задержку, изменив значение 2.0в соответствии с вашими требованиями.

Вот несколько дополнительных методов, связанных с операциями, основанными на времени, в Swift:

  1. Таймер: позволяет планировать повторяющиеся или одноразовые задачи.
  2. DispatchQueue.asyncAfter: аналогично DispatchQueue.main.asyncAfter, но позволяет указать другую очередь отправки для отложенного выполнения.
  3. DispatchWorkItem: представляет собой единицу работы, которую можно отправить в DispatchQueue с указанной задержкой или приоритетом.