swift4 extension的使用

相对于OC中一个常用类的扩展OC需要引入扩展类头文件,而swift你只需要在任意文件下使用extension对某个类进行扩展,全局调用,以tableView的头部刷新为例,扩展头部刷新方法:

import UIKit

import MJRefresh

public  typealias blockDataSouce = (_ dataArray:[Any],_ canRefresh:Bool)->Void

class ExtensionTableView: NSObject{

}

extension UITableView{

    func addHeadRefresh(blcok:@escaping()->Void){

        let header = MJRefreshNormalHeader()

        self.mj_header = header

        self.mj_header.setRefreshingTarget(self, refreshingAction: #selector(self.headerRefresh))

        blcok()

    }

    @objc func headerRefresh(){

        DispatchQueue.main.asyncAfter(deadline: DispatchTime.now()+20) {

            self.mj_header.endRefreshing()//停止刷新

        }

        print("下拉刷新")

    }

    func endHeadRefresh(){

        self.mj_header.endRefreshing()

    }

    func beginHeadRefresh() {

        self.mj_header.beginRefreshing()

    }

     //MARK: SetPersonalTableViewStyle

    func setPersonalTableViewStyle(){

        self.separatorStyle = .none

        self.backgroundColor = UIColor.white

    }

}

2.调用tableView的添加头部刷新方法即可
 self.tableView.addHeadRefresh {
            
      }
  self.tableView.beginHeadRefresh()

你可能感兴趣的:(swift头部刷新,tableView,swift,iOS)