RxDataSources 上拉刷新下拉加载

//

//  TestViewController.swift

//  TaskElephant

//

//  Created by apple on 17/4/13.

//  Copyright © 2017年xiangguohe. All rights reserved.

//

importUIKit

#if!RX_NO_MODULE

importRxSwift

importRxCocoa

importRxDataSources

#endif

importMJRefresh

classTestViewController:UIViewController{

vardisposeBag =DisposeBag()

@IBOutletvartableView:UITableView!

lazyvarcoachViewModel:CoachViewModel= {

letcoachViewModel =CoachViewModel()

returncoachViewModel

}()

vardataSource =RxTableViewSectionedReloadDataSource>()

vardataArr =Variable([SectionModel]())

varpage =1

varheader =MJRefreshNormalHeader()

varfooter =MJRefreshAutoNormalFooter()

overridefuncviewDidLoad() {

super.viewDidLoad()

// Do any additional setup after loading the view.

ifIOS7{

self.edgesForExtendedLayout= .top

}

view.backgroundColor=whiteColor

self.automaticallyAdjustsScrollViewInsets=false

rx_requestAllViewControllerData()

rx_setupRxDataSourcesForTestViewController()

rx_addMoreAndRefresh()

}

overridefuncdidReceiveMemoryWarning() {

super.didReceiveMemoryWarning()

// Dispose of any resources that can be recreated.

}

}

extensionTestViewController{

funcrx_requestAllViewControllerData() ->Void{

ifpage==1{

self.dataArr.value.removeAll()

}

letparameterDic = [

"page":page,

"pageSize":"10",

"sportId":"",

]as[String:Any]

/*

coachViewModel.request(RequestType.requestTypePOST, urlstring: getCoachListBySportIdUrl, paramete: parameterDic as [String : AnyObject])

.bindTo(tableView.rx.items(dataSource: dataSource))

.addDisposableTo(disposeBag)

*/

coachViewModel.request(RequestType.requestTypePOST, urlstring:getCoachListBySportIdUrl, paramete: parameterDicas[String:AnyObject])

.subscribe(onNext: { (section : [SectionModel])in

self.dataArr.value+= section

})

.addDisposableTo(disposeBag)

}

}

extensionTestViewController:UITableViewDelegate{

funcrx_setupRxDataSourcesForTestViewController() ->Void{

self.tableView.hideTableFooterView()

dataSource.configureCell= {

_, tableView, indexPath, coachModelin

letcell = tableView.dequeueReusableCell(withIdentifier:"testTableViewCell", for: indexPath)as!TestTableViewCell

cell.tag= indexPath.row

cell.cellForCoachModel(model: coachModel)

returncell

}

//绑定数据

dataArr

.asObservable()

.bindTo(tableView.rx.items(dataSource:dataSource))

.addDisposableTo(disposeBag)

tableView.rx

.setDelegate(self)

.addDisposableTo(disposeBag)

tableView.rx.itemSelected

.map{ [weakself] indexPathin

return(indexPath,self?.dataSource[indexPath])

}

.subscribe(onNext: {(indexPath, item)in

//self.showAlter(item: item)

})

.addDisposableTo(disposeBag)

}

functableView(_tableView:UITableView, heightForRowAt indexPath:IndexPath) ->CGFloat{

return60

}

funcscrollViewWillBeginDragging(_scrollView:UIScrollView) {

view.endEditing(true)

}

}

//MARK:上拉加载,下拉刷新

extensionTestViewController{

//添加上拉加载下拉刷新

funcrx_addMoreAndRefresh(){

//下拉刷新

header.setRefreshingTarget(self, refreshingAction:#selector(TestViewController.headerRefresh))

self.tableView.mj_header=header;

//上拉加载

footer.setRefreshingTarget(self, refreshingAction:#selector(TestViewController.footerLoadMore))

self.tableView.mj_footer=footer;

}

//下拉刷新

funcheaderRefresh()  {

page=1//赋值为1不是page == 1

rx_requestAllViewControllerData()

//rx_setupRxDataSourcesForTestViewController()

//结束刷新

self.tableView.mj_header.endRefreshing()

}

//上拉加载

funcfooterLoadMore() {

page+=1

rx_requestAllViewControllerData()

//rx_setupRxDataSourcesForTestViewController()

//结束加载

self.tableView.mj_footer.endRefreshing()

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在工程的桥接文件中添加如下代码:(如何创建桥接文件:右键工程-->创建普通OC文件,名称随意起-->创建成功,会提...
    前端杜若阅读 2,207评论 5 1
  • 刷新状态(枚举) 创建ViewModel类,http请求类是一个对Alamofire的封装 控制器中定义dataS...
    StoneWing阅读 2,804评论 0 3
  • 版权声明:未经本人允许,禁止转载. 1. TableView初始化 1.UITableView有两种风格:UITa...
    萧雪痕阅读 3,011评论 2 10
  • 下拉刷新01-默认self.tableView.header = [MJRefreshNormalHeader h...
    XLsn0w阅读 490评论 0 0
  • 雪融化了,太阳暖了,风改变了方向,北方的春天来了,树枝不再那样僵硬,枯草似乎孕育着秘密,云飘飘荡荡,日子显得悠闲,...
    晚霞消失之时阅读 245评论 0 0

友情链接更多精彩内容