复用项目中的刷新加载

- (void)setupTableView {
    self.dataSource = [NSMutableArray array];
    self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, typeScrollHeight, RJScreenW, RJScreenH - typeScrollHeight) style:UITableViewStylePlain];
    self.tableView.delegate = self;
    [self.view addSubview:self.tableView];
}

- (void)setupRefreshHeaderAndFooter {
    self.header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(refresh)];
    self.footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMore)];
    self.tableView.header = self.header;
    self.tableView.footer = self.footer;
    self.header.automaticallyChangeAlpha = YES;
}

- (void)loadData {
    [RJNewsNewsHelper loadNewsDataWithParam:self.param success:^(NSDictionary *dict) {
        [self endLoadData];
        id result = [self.jsonToModel objectWithKeyValues:dict];
        NSMutableArray *data = [result valueForKeyPath:@"data.list"];
        [self isFailure:data];
        NSMutableArray *reconfigData = [RJNewsNewsHelper reconfigData:data];
        NSArray *newFrames = [self dataFramesWithData:reconfigData];
        [self.dataSource addObjectsFromArray:newFrames];
        [self endLoadData];
        [self.tableView reloadData];
    }failure:^(NSError *error) {
        [self endLoadData];
        [self loadDataFailure];
        NSLog(@"%@", error);
    }];
}

- (void)isFailure:(NSMutableArray *)data {
    if (data == nil || data.count == 0)
        [self loadDataFailure];
}

- (void)loadDataFailure {
    self.page = self.page > 2 ? self.page-- : self.page;
}

- (void)endLoadData {
    if (self.page == 1) {
        [self.dataFrames removeAllObjects];
        [self.tableView.header endRefreshing];
    } else {
        [self.tableView.footer endRefreshing];
    }
}

- (void)refresh {
    self.param = [[RJRequestParam alloc] initWithParamModel:newsNewsRequestModel];
    NSString *url = [self.selectBtn.object valueForKey:@"url"];
    self.param.urlString = url;
    NSMutableDictionary *dict = [NSMutableDictionary dictionary];
    self.page = 1;
    dict[@"p"] = @(self.page);
    self.param.params = dict;
    [self loadData];
}

- (void)loadMore {
    self.param = [[RJRequestParam alloc] initWithParamModel:newsNewsRequestModel];
    NSString *url = [self.selectBtn.object valueForKey:@"url"];
    self.param.urlString = url;
    NSMutableDictionary *dict = [NSMutableDictionary dictionary];
    dict[@"p"] = @(++self.page);
    self.param.params = dict;
    [self loadData];
}

转载于:https://my.oschina.net/famiove/blog/500924

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值