[swift] 비동기 작업의 지연 처리 방법

비동기 작업을 수행할 때 종종 작업을 지연시키고자 하는 경우가 있습니다. 이러한 상황에서 Swift에서 비동기 작업을 지연시키는 방법에 대해 알아보겠습니다.

Dispatch Queue의 asyncAfter 메서드 사용

Dispatch Queue는 GCD(Grand Central Dispatch)의 핵심 요소로, 비동기 작업을 수행하는 데 사용됩니다. asyncAfter 메서드는 특정 시간 이후에 작업을 실행할 수 있게 해줍니다. 예를 들어, 아래의 코드는 현재 시간으로부터 3초 후에 특정 작업을 실행합니다.

DispatchQueue.main.asyncAfter(deadline: .now() + 3) {
    // 3초 후에 실행될 작업
}

위 코드에서 DispatchQueue.main은 메인 스레드에서 작업을 수행하겠다는 것을 의미하며, .now() + 3은 현재 시간에서 3초를 더한 시간을 나타냅니다.

이 방법을 사용하면 특정 시간 이후에 작업을 실행할 수 있기 때문에, UI나 네트워크 요청 등의 작업을 지연시키는 데 유용하게 활용할 수 있습니다.

따라서 Swift에서는 Dispatch QueueasyncAfter 메서드를 활용하여 비동기 작업을 지연시킬 수 있습니다.

참고 자료