下面是我对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];
}];
}