[swift] Swift PKHUD를 사용하여 네트워크 요청 중에 로딩 인디케이터를 표시하는 방법은?

네트워크 요청 중에 로딩 인디케이터를 표시하는 것은 사용자에게 진행 중임을 시각적으로 전달하고, UI를 블록하지 않으며, 더 나은 사용자 경험을 제공하는 좋은 방법입니다. 이를 구현하기 위해 Swift PKHUD 라이브러리를 사용해보겠습니다.

PKHUD 라이브러리 설치

먼저, PKHUD 라이브러리를 설치해야 합니다. 이는 CocoaPods를 통해 간단히 수행할 수 있습니다.

1. Podfile을 열고 다음과 같이 PKHUD 라이브러리를 추가합니다:

pod 'PKHUD'

2. 터미널에서 프로젝트 경로로 이동한 후, 다음 명령을 실행하여 CocoaPods를 설치합니다:

pod install

이제 PKHUD 라이브러리가 프로젝트에 추가되었습니다.

PKHUD를 사용하여 로딩 인디케이터 표시하기

1. 먼저, PKHUD를 import합니다:

import PKHUD

2. 네트워크 요청 전에 로딩 인디케이터를 표시하고 싶은 경우, 다음 코드를 사용합니다:

HUD.show(.progress)

3. 네트워크 요청이 완료되었을 때 로딩 인디케이터를 숨기고 싶은 경우, 다음 코드를 사용합니다:

HUD.hide()

네트워크 요청이 끝난 후 로딩 인디케이터를 숨기므로 사용자에게 작업이 완료되었다는 시각적인 피드백을 제공합니다.

예시

import UIKit
import PKHUD

class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        performNetworkRequest()
    }
    
    func performNetworkRequest() {
        // 네트워크 요청 전에 로딩 인디케이터 표시
        HUD.show(.progress)
        
        // 네트워크 요청 수행
        // ...
        
        // 네트워크 요청이 완료되었을 때 로딩 인디케이터 숨기기
        HUD.hide()
    }
    
}

위의 예시에서는 performNetworkRequest() 메소드에서 네트워크 요청 전에 HUD.show(.progress)로 로딩 인디케이터를 표시하고, 요청이 완료된 후에 HUD.hide()로 로딩 인디케이터를 숨깁니다.

PKHUD를 사용하면 네트워크 요청 중에 간단하게 로딩 인디케이터를 표시할 수 있으므로 사용자 경험을 향상시킬 수 있습니다.

참고 자료