1 TableView进行刷新
func firestTableRefresh() {
self.firstTableview.mj_header.beginRefreshing()
requestData(items: [0])
}
2 调用刷新加载的方法
let secondHeader = MJRefreshNormalHeader(refreshingTarget: self,refreshingAction: #selector(secondTableRefresh))
secondHeader?.lastUpdatedTimeLabel.isHidden = true
secondHeader?.setTitle(mjHeaderIdle, for: .idle)
secondHeader?.setTitle(mjHeaderPulling, for: .pulling)
secondHeader?.setTitle(mjHeaderRefreshing, for: .refreshing)
self.secondTableView.mj_header = secondHeader
3 在requestDeta 的方法里
主线程刷新UI
1 .先查询本地,进行刷新
DispatchQueue.main.async {
if (self?.firstTableview.mj_header.isRefreshing())! {
self?.firstTableview.mj_header.endRefreshing()
}
self!.firstTableview.reloadData()
}
4.网络请求,进行刷新
4.1先查询本地,进行刷新
DispatchQueue.main.async {
if (self?.firstTableview.mj_header.isRefreshing())! {
self?.firstTableview.mj_header.endRefreshing()
}
self!.firstTableview.reloadData()
}
4.2进行网络请求
DispatchQueue.main.async {
if (self?.firstTableview.mj_header.isRefreshing())! {
self?.firstTableview.mj_header.endRefreshing()
}
self!.firstTableview.reloadData()
}
5 下拉加载
func firestTableLoadMore() {
self.firstTableview.mj_footer.beginRefreshing()
// requestData(items: <#T##Array<Int>#>)
pullRequestData(0, self.newsFirstPageIndex+1, self.newsFirstPagesize)
}
在pullRequestData 中 开辟主线程
DispatchQueue.main.async {
if (self?.firstTableview.mj_footer.isRefreshing())! {
self?.firstTableview.mj_footer.endRefreshing()
}
}
网友评论