[swift] DZNEmptyDataSet이란 무엇인가?
DZNEmptyDataSet은 테이블 뷰나 컬렉션 뷰에 대한 델리게이트를 제공하며, 이를 통해 빈 상태일 때 표시할 내용을 커스터마이징할 수 있습니다. 예를 들어, 데이터가 없을 때 “데이터가 없습니다”라는 메시지와 함께 이미지를 보여줄 수 있습니다.
DZNEmptyDataSet의 사용법은 간단합니다. 먼저, DZNEmptyDataSet을 프로젝트에 추가해야 합니다. 이 후에 테이블 뷰나 컬렉션 뷰의 델리게이트에 DZNEmptyDataSet의 메소드를 구현하면 됩니다. 이 메소드에서는 데이터가 없을 때 표시할 내용을 반환하면 됩니다.
다음은 Swift로 DZNEmptyDataSet을 사용하는 예시 코드입니다:
import DZNEmptyDataSet
class MyViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, DZNEmptyDataSetSource, DZNEmptyDataSetDelegate {
@IBOutlet weak var tableView: UITableView!
var dataSource: [String] = []
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
tableView.emptyDataSetSource = self
tableView.emptyDataSetDelegate = self
// 데이터 소스 초기화
// ...
}
// 테이블 뷰 데이터소스 메소드
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return dataSource.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
cell.textLabel?.text = dataSource[indexPath.row]
return cell
}
// DZNEmptyDataSet 델리게이트 메소드
func title(forEmptyDataSet scrollView: UIScrollView!) -> NSAttributedString! {
let attributes: [NSAttributedString.Key: Any] = [
.font: UIFont.systemFont(ofSize: 15),
.foregroundColor: UIColor.gray
]
return NSAttributedString(string: "데이터가 없습니다", attributes: attributes)
}
func image(forEmptyDataSet scrollView: UIScrollView!) -> UIImage! {
return UIImage(named: "no_data_image")
}
}
위 예제에서는 DZNEmptyDataSet의 title(forEmptyDataSet:)
메소드를 구현하여 “데이터가 없습니다”라는 메시지를 반환하고, image(forEmptyDataSet:)
메소드를 구현하여 이미지를 반환합니다. 이런식으로 DZNEmptyDataSetSource
와 DZNEmptyDataSetDelegate
의 다른 메소드를 구현하여 커스텀화할 수 있습니다.
더 많은 정보는 DZNEmptyDataSet 공식 GitHub 페이지를 참조하시기 바랍니다.