[swift] PKHUD를 이용한 회원가입 진행 상태 표시 방법

회원가입과 같은 비동기 작업을 수행할 때, 사용자에게 작업이 진행 중임을 알려주는 효과적인 방법은 작업 상태를 화면에 표시하는 것입니다. 이를 위해서 PKHUD라는 라이브러리를 참고하여 회원가입 진행 상태를 표시하는 방법을 알아보겠습니다.

1. PKHUD 설치

먼저, PKHUD를 사용하기 위해 프로젝트에 라이브러리를 설치해야 합니다.

pod 'PKHUD'

위의 코드를 Podfile에 추가한 다음 터미널에서 pod install 명령어를 실행하여 PKHUD를 설치합니다.

2. 핵심 코드 작성

회원가입 버튼을 누르면 PKHUD를 이용하여 회원가입 진행 상태를 표시하고, 작업이 완료되면 PKHUD를 숨기는 코드를 작성해야 합니다. 아래의 코드를 참고하여 작성해보세요.

import PKHUD

// 회원가입 버튼 클릭 시 실행되는 함수
func signUpButtonTapped() {
    // PKHUD 설정
    PKHUD.sharedHUD.contentView = PKHUDProgressView()
    PKHUD.sharedHUD.show()

    // 비동기 작업 수행
    signUpProcess { success in
        DispatchQueue.main.async {
            // 작업이 완료되면 PKHUD 숨기기
            PKHUD.sharedHUD.hide(animated: true)
            
            if success {
                // 회원가입 성공 알림 표시
                PKHUD.sharedHUD.contentView = PKHUDSuccessView()
                PKHUD.sharedHUD.show()
                PKHUD.sharedHUD.hide(afterDelay: 2.0)
            } else {
                // 회원가입 실패 알림 표시
                PKHUD.sharedHUD.contentView = PKHUDErrorView()
                PKHUD.sharedHUD.show()
                PKHUD.sharedHUD.hide(afterDelay: 2.0)
            }
        }
    }
}

// 회원가입 작업 수행 함수
func signUpProcess(completion: @escaping (Bool) -> Void) {
    // 회원가입 작업 수행
    // ...
    // 작업이 성공/실패할 경우 completion 콜백 실행
    let success = true
    completion(success)
}

위의 코드에서 signUpButtonTapped 함수는 회원가입 버튼을 클릭했을 때 실행되는 함수입니다. 먼저, PKHUD 설정을 위해 PKHUDProgressView를 contentView로 설정하고 show 메서드를 호출하여 PKHUD를 화면에 표시합니다.

그런 다음, 비동기 작업인 signUpProcess를 실행합니다. 작업이 완료되면 메인 큐에서 해당 작업이 성공했는지 여부를 확인하고, 성공 여부에 따라 적절한 PKHUD 알림을 보여줍니다. 작업이 완료되면 hide 메서드를 호출하여 PKHUD를 숨깁니다.

signUpProcess 함수는 실제 회원가입 작업을 수행하는 함수로, 작업이 성공 또는 실패할 경우 completion 콜백을 실행하여 결과를 전달합니다.

3. 실행 결과

위의 코드를 작성하고 실행하면, 회원가입 버튼을 클릭했을 때 PKHUD를 통해 회원가입 진행 상태를 표시할 수 있습니다. 작업이 성공하면 성공 알림이, 실패하면 실패 알림이 잠시 동안 화면에 표시되고 사라집니다.

PKHUD를 통해 진행 상태를 표시함으로써 사용자는 작업이 진행 중임을 알 수 있고, 시각적인 피드백을 받을 수 있게 됩니다.

참고자료