相对于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()