[swift] PKHUD에서의 사용자 즐겨찾기 관리 기능 구현 방법

개요

PKHUD는 iOS 앱에서 사용자에게 시각적인 인디케이터를 제공하는 라이브러리입니다. 이 블로그 포스트에서는 PKHUD를 사용하여 사용자 즐겨찾기 기능을 구현하는 방법을 알아보겠습니다.

PKHUD 설치

우선 PKHUD를 프로젝트에 설치해야 합니다. 이를 위해 CocoaPods를 사용할 수 있습니다. Podfile에 다음과 같이 PKHUD를 추가합니다.

pod 'PKHUD'

그리고 터미널에서 다음 명령어를 실행하여 PKHUD를 설치합니다.

$ pod install

사용자 즐겨찾기 구현하기

1. 즐겨찾기 버튼 추가하기

사용자가 원하는 항목을 즐겨찾기할 수 있도록 즐겨찾기 버튼을 추가해야 합니다. 이 버튼을 누르면 즐겨찾기 상태가 토글됩니다.

import PKHUD

class ViewController: UIViewController {

    @IBOutlet weak var favoriteButton: UIButton!

    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 즐겨찾기 버튼 초기 설정
        favoriteButton.setTitle("즐겨찾기", for: .normal)
        favoriteButton.addTarget(self, action: #selector(favoriteButtonTapped), for: .touchUpInside)
    }

    @objc func favoriteButtonTapped() {
        // 사용자 즐겨찾기 상태 토글
        let isFavorite = !isFavoriteButtonSelected()
        setFavoriteButtonSelected(isFavorite)
        
        // HUD 표시
        let message = isFavorite ? "즐겨찾기에 추가되었습니다" : "즐겨찾기에서 삭제되었습니다"
        PKHUD.sharedHUD.contentView = PKHUDTextView(text: message)
        PKHUD.sharedHUD.show()
        PKHUD.sharedHUD.hide(afterDelay: 2.0)
        
        // TODO: 즐겨찾기 상태에 따른 추가 작업 수행
    }
    
    func isFavoriteButtonSelected() -> Bool {
        return favoriteButton.isSelected
    }
    
    func setFavoriteButtonSelected(_ selected: Bool) {
        favoriteButton.isSelected = selected
    }
}

2. HUD 메시지 표시하기

즐겨찾기 버튼을 누르면 HUD를 통해 사용자에게 메시지를 표시합니다. PKHUDTextView를 사용하여 메시지를 설정하고, PKHUD.sharedHUD를 이용해서 HUD를 표시하고 숨깁니다. HUD 숨김 시간은 hide(afterDelay: 2.0)와 같이 설정할 수 있습니다.

3. 즐겨찾기 상태에 따른 추가 작업 수행하기

리소스를 저장하거나 API 호출과 같은 추가 작업을 즐겨찾기 상태에 따라 수행해야 할 경우에는 favoriteButtonTapped() 메소드 내에서 작업을 수행하면 됩니다.

결론

PKHUD를 사용하여 사용자 즐겨찾기 관리 기능을 구현하는 방법을 알아보았습니다. PKHUD를 활용하면 사용자에게 시각적인 피드백을 제공하고 기능을 구현하는 데 도움이 될 수 있습니다.

참고: PKHUD 공식 GitHub 페이지