[swift] PKHUD를 이용한 작업 실행 중지 기능 구현

PKHUD는 Swift에서 기본적인 액티비티 인디케이터를 보여주는 라이브러리입니다. 이 라이브러리를 사용하여 작업 실행 중지 기능을 구현해보겠습니다.

시작하기 전에

PKHUD를 사용하기 위해서는 해당 라이브러리를 프로젝트에 추가해야 합니다. Cocoapods를 사용한다면, Podfile에 다음과 같이 추가해주세요:

pod 'PKHUD'

그리고 pod install 명령을 실행하여 종속성을 설치해주세요.

작업 실행 중지 기능 추가하기

  1. 먼저, PKHUD를 import 합니다.
import PKHUD
  1. 사용할 뷰컨트롤러에 아래와 같은 IBAction을 추가합니다.
@IBAction func stopButtonTapped(_ sender: UIButton) {
    PKHUD.sharedHUD.contentView = PKHUDProgressView()
    PKHUD.sharedHUD.show()

    // 작업을 멈추는 코드
    // ...

    PKHUD.sharedHUD.hide(afterDelay: 2.0)
}
  1. stopButtonTapped 메소드 안에서 작업 중지하기 전에 PKHUD를 통해 액티비티 인디케이터를 표시합니다. PKHUDProgressView()를 사용하여 기본 인디케이터를 보여줍니다.

  2. 작업을 멈추는 코드를 적절하게 추가합니다. 예를 들어, 네트워크 요청 중인 경우 URLSession.shared.invalidateAndCancel()을 호출하여 작업을 중지할 수 있습니다.

  3. 작업이 멈췄을 때, PKHUD를 숨겨줍니다. hide(afterDelay:) 메소드를 사용하여 인디케이터를 특정 시간 후에 숨길 수 있습니다.

실행 결과 확인하기

stopButtonTapped 메소드가 호출되면 액티비티 인디케이터가 화면에 표시되고, 작업이 멈췄다는 안내 메시지가 나타난 뒤 액티비티 인디케이터가 사라질 것입니다.

이제 PKHUD를 사용하여 작업 실행 중지 기능을 구현하는 방법을 알게 되었습니다. 동일한 원리로 다양한 상황에서 액티비티 인디케이터를 사용하여 사용자에게 진행 상태를 알릴 수 있습니다.

참고 자료