给UITableView添加MJRefresh

1、给表添加头视图

- (void)setUI{
    pageIndex = 1;
    _goodsTableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(loadData)];// 给表的头部添加刷新方法
    [_goodsTableView.mj_header beginRefreshing];// 开始刷新
}

2、初次加载数据的方法

- (void)loadData{
    pageIndex = 1;
    // 查询全部单品
    [GoodsModel getGoodsSale:@{@"categoryId":self.categoryId,@"pageIndex":@(pageIndex)} showHUD:NO parentViewController:self success:^(GoodsModel *data) {
        [self.goodsArray removeAllObjects];
        [_goodsArray addObjectsFromArray:data.list];
        [_goodsTableView reloadData];// 刷新表
        [_goodsTableView.mj_header endRefreshing];// 表的头部,停止刷新
        if(self.goodsArray.count

3、加载更多数据的方法

- (void)loadMoreData{
    // 查询全部单品
    [GoodsModel getGoodsSale:@{@"categoryId":self.categoryId,@"pageIndex":@(++pageIndex)} showHUD:NO parentViewController:self success:^(GoodsModel *data) {
        [self.goodsArray addObjectsFromArray:data.list];
        [_goodsTableView reloadData];// 刷新表
        [_goodsTableView.mj_footer endRefreshing];// 表的尾部,停止刷新
        
        if(self.goodsArray.count>=data.count){// 另一种停止刷新的方法,尾部会显示‘没有更多了’
            _goodsTableView.mj_footer.hidden = YES;
            [_goodsTableView.mj_footer endRefreshingWithNoMoreData];
        }
    } failure:^(NSError *error, NSString *message) {
        [_goodsTableView.mj_footer endRefreshing];
    }];
}

你可能感兴趣的:(给UITableView添加MJRefresh)