之前分页都是接口实现的,现在有需求,接口不想弄,需要客户端实现分页算法。所以。。
/**
计算分页总数
@param pageSize 每页条数
@param totalCount 总条数
@return 分页数
*/
+ (NSInteger)getPageCountWithPageSize:(NSInteger)pageSize totalCount:(NSInteger)totalCount{
NSInteger pageCount = (totalCount + pageSize - 1) / pageSize; //推荐写法
return pageCount;
}
/**
取分页数据
@param pageNum 分页 从0开始
@param pageSize 每页条数
@param data 数据
@return 分页数据
*/
+ (NSArray *)getPagedList:(NSInteger)pageNum pageSize:(NSInteger)pageSize data:(NSArray *)data{
NSInteger fromIndex = pageNum * pageSize;
if (fromIndex >= data.count) {
return [NSMutableArray array];
}
NSInteger toIndex = (pageNum+1) * pageSize;
if (toIndex >= data.count) {
toIndex = data.count-pageSize;
}
return [data subarrayWithRange:NSMakeRange(fromIndex, toIndex)];
}