JMRefreshTool(上拉刷新、下拉加載更多工具類)

項目中經(jīng)常用到翻頁請求數(shù)據(jù),這個類就能快速的實現(xiàn)。

使用方法:
1、在VC中添加屬性變量
@property (strong, nonatomic) JMRefreshTool *refreshTool;
2、結(jié)合接口一起使用

-(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就是接口返回的數(shù)據(jù),解析成自己的model使用即可。 注意使用weakself。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容