//
//  ViewController.swift
//  HZRefresh_Example
//
//  Created by 何志志 on 2019/3/12.
//  Copyright © 2019 何志志. All rights reserved.
//

import UIKit

class ViewController: UIViewController {
    
    fileprivate var dataSource: [String]? = ["一", "二", "三", "四"]
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        
        view.backgroundColor = .white
        
        let tableview = UITableView(frame: view.bounds, style: .grouped)
        tableview.dataSource = self
        tableview.delegate = self
        HZRefresh.refreshWithHeader(tableview) {
            DispatchQueue.main.asyncAfter(deadline: .now()+2, execute: {
                tableview.mj_header.endRefreshing()
            })
        }
        view.addSubview(tableview)
        
    }
}

extension ViewController: UITableViewDataSource, UITableViewDelegate {
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        guard let count = dataSource?.count else {
            return 0
        }
        return count
    }
    
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 40
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = UITableViewCell()
        cell.textLabel?.text = dataSource?[indexPath.row]
        cell.contentView.backgroundColor = .gray
        
        return cell
    }
    
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        dataSource = nil
        tableView.reloadData()
    }
    
}
