美文网首页
JMRefreshTool(上拉刷新、下拉加载更多工具类)

JMRefreshTool(上拉刷新、下拉加载更多工具类)

作者: Liuny | 来源:发表于2019-03-14 15:50 被阅读0次

项目中经常用到翻页请求数据,这个类就能快速的实现。

使用方法:
1、在VC中添加属性变量
@property (strong, nonatomic) JMRefreshTool *refreshTool;
2、结合接口一起使用

-(void)requestBillList{
    if(self.refreshTool == nil){
        JMWeak(self);
        self.refreshTool = [[JMRefreshTool alloc] initWithScrollView:self.tableView dataAnalysisBlock:^NSArray *(NSDictionary *responseData) {
            NSMutableArray *array = [[NSMutableArray alloc] init];
            NSDictionary *dataDic = responseData[@"data"];
            NSString *income = [dataDic getJsonValue:@"income"];
            NSString *expend = [dataDic getJsonValue:@"expend"];
            weakself.totalLabel.text = [NSString stringWithFormat:@"支出%@ 收入%@",expend,income];
            NSArray *listArray = dataDic[@"page"][@"list"];
            for(NSDictionary *dic in listArray){
                WalletBillModel *model = [[WalletBillModel alloc] initWithDictionary:dic];
                [array addObject:model];
            }
            
            if([weakself.refreshTool isAddData]){
                [weakself.tableData addObjectsFromArray:array];
            }else{
                weakself.tableData = array;
            }
            [weakself.tableView reloadData];
            return array;
        }];
        self.refreshTool.requestUrl = kUrlWalletBillList;
    }
    
    NSMutableDictionary *params = [JMCommonMethod baseRequestParams];
    [params setJsonValue:self.selectType.requestType key:@"msgType"];
    [params setJsonValue:[self.month stringWithFormat:@"yyyy-MM"] key:@"month"];
    self.refreshTool.requestParams = params;
    [self.tableView.mj_header beginRefreshing];
}

responseData就是接口返回的数据,解析成自己的model使用即可。 注意使用weakself。

相关文章

网友评论

      本文标题:JMRefreshTool(上拉刷新、下拉加载更多工具类)

      本文链接:https://www.haomeiwen.com/subject/jxccmqtx.html