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

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

使用方法:
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。

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

友情链接更多精彩内容