SWBasePagingQueryModel 1.0.9

SWBasePagingQueryModel 1.0.9

zhoushaowen 维护。



 
依赖关系
MJRefresh>= 0
ReactiveObjC>= 0
 

  • Zhoushaowen

SWBasePagingQueryModel

是一个分页查询工具

pod 'SWBasePagingQueryModel'

我们在开发过程中经常遇到需要分页查询请求的页面,在实现下拉刷新和上拉加载更多时,每次都要写很多重复代码。现在有了这个工具,你可以用一行代码搞定 tableView 和 collectionView 的下拉刷新和上拉加载更多。

[self.tableView setDefaultPagingQueryWithModel:[MyPagingQueryModel new] completion:^(NSError *error) {
        @strongify(self)
        if(self.tableView.pagingQueryModel.fetchError){
            [self.view showHUDWithDetailMessage:self.tableView.pagingQueryModel.fetchError.localizedDescription hideWithDelay:1.0f];
        }
    }];

截图

如果你想使用默认样式的 MJRefresh,可以调用下面的方法

- (void)setDefaultPagingQueryWithModel:(SWBasePagingQueryModel *)pagingQueryModel completion:(SWFetchListCompletedBlock)fetchListCompletedBlock;

如果你想使用自定义样式的 MJRefresh,可以调用下面的方法

- (void)setCustomPagingQueryWithMjHeader:(MJRefreshNormalHeader *)mjHeader mjFooter:(MJRefreshAutoNormalFooter *)mjFooter pagingQueryModel:(SWBasePagingQueryModel *)pagingQueryModel completion:(SWFetchListCompletedBlock)fetchListCompletedBlock;

自定义一个继承自 SWBasePagingQueryModel 的类,然后在自定义类中实现以下方法

/**
 每页数据的数量,你需要重写此方法
 */
- (NSUInteger)pageSize;

/**
 网络异步请求,你需要重写此方法

 @param pageIndex 刷新的索引,从0开始
 @param completedBlock 异步请求完成的block,在网络请求结束之后必须要调用此block;
 error:网络请求之后返回的错误
 totalCount:分页数据的总个数,如果不知道可以传0
 result:请求到的当前页的数据
 */
- (void)asyncFetchWithPageIndex:(NSInteger)pageIndex completion:(void(^)(NSError *error, NSInteger totalCount, NSArray *result))completedBlock;