[swift] DZNEmptyDataSet을 사용하여 빈 상태일 때 버튼 추가하기

데이터가 없는 상태일 때 사용자에게 표시할 내용을 구성하는 것은 앱 개발 중 중요한 부분입니다. DZNEmptyDataSet은 UITableView나 UICollectionView와 같은 UI 컴포넌트의 데이터가 없을 때 빈 상태를 보여주는 기능을 제공합니다. 이 기능을 사용하여 빈 상태에 버튼을 추가하는 방법을 알아보겠습니다.

DZNEmptyDataSet 라이브러리 설치하기

먼저, DZNEmptyDataSet 라이브러리를 설치해야 합니다. 다음과 같이 CocoaPods을 사용하여 라이브러리를 설치할 수 있습니다.

pod 'DZNEmptyDataSet'

DZNEmptyDataSet을 사용하여 빈 상태일 때 버튼 추가하기

  1. DZNEmptyDataSetDelegate와 DZNEmptyDataSetSource 프로토콜을 뷰 컨트롤러에 채택합니다.
class MyViewController: UIViewController, DZNEmptyDataSetDelegate, DZNEmptyDataSetSource {
    // ...
}
  1. DZNEmptyDataSetSource 프로토콜의 button(forEmptyDataSet:) 메서드를 구현하여 빈 상태일 때 버튼을 반환합니다.
func button(forEmptyDataSet scrollView: UIScrollView) -> UIButton? {
    let button = UIButton(type: .custom)
    button.setTitle("새로고침", for: .normal)
    button.setTitleColor(.black, for: .normal)
    button.addTarget(self, action: #selector(refreshData), for: .touchUpInside)
    return button
}

위 코드에서 refreshData는 버튼을 눌렀을 때 실행될 메서드입니다. 해당 메서드를 구현해야 합니다.

  1. refreshData 메서드를 구현하여 데이터를 다시 가져올 수 있도록 로직을 구현합니다.
@objc func refreshData() {
    // 데이터를 다시 가져오는 로직 구현
}

참고 자료