iOS tableView刷新

时间:2022-02-22 22:04:24

下面是我对AFN刷新一个简单的封装我们只需要传过去一个tableView就好了 简化了一些代码

#import <Foundation/Foundation.h>

typedef NS_ENUM(NSInteger, refreshType) {
TableViewHeaderRefresh,
TableViewFooterRefresh }; @interface HuTableViewRefresh : NSObject /**
tableView 刷新 @param tableView tableView
@param success 下拉或者上拉
*/
+ (void)tableViewRefresh:(UITableView *)tableView success:(void(^)(refreshType refresh))success; @end
#import "HuTableViewRefresh.h" @implementation HuTableViewRefresh + (void)tableViewRefresh:(UITableView *)tableView success:(void (^)(refreshType))success{ tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
success(TableViewHeaderRefresh);
}];
[tableView.mj_header beginRefreshing];
tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{
success(TableViewFooterRefresh);
}];
tableView.mj_footer.automaticallyHidden = YES; } @end
使用方法

 [HuTableViewRefresh tableViewRefresh:self.tableView success:^(refreshType refresh) {

        refresh == TableViewHeaderRefresh ? _pageNum = kPageNum: _pageNum ++;
[self loadingData];
}];
- (void)loadingData{ NSDictionary *paramters = @{@"pageNum":@(_pageNum),@"pageSize":@"10",@"classTypes":@"4"}; WS(weakSelf)
[PCHttpTools
myCollection:paramters
view:nil
success:^(NSArray *dataListArray) { [self.dateListArray addObjectsFromArray:dataListArray]; if (_pageNum == kPageNum) { [self.tableView.mj_header endRefreshing]; if (dataListArray.count <= 0) {
[self.tableView removeFromSuperview];
[self loadingDefaultview:@"暂无收藏课程~"]; }
[self.dateListArray removeAllObjects]; } if (dataListArray.count < 10) { [weakSelf.tableView.mj_footer endRefreshingWithNoMoreData]; } [weakSelf.dateListArray addObjectsFromArray:dataListArray];
[self.tableView reloadData]; }];
}