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

iOS tableView刷新的更多相关文章

  1. iOS tableview cell 的展开收缩

    iOS tableview cell 的展开收缩 #import "ViewController.h" @interface ViewController ()<UITabl ...

  2. ios tableview 上加 textfiled

    ios tableview 上加 textfiled 首先附上我项目中用曾经用到的几张图  并说明一下我的用法: 图1: 图2: 图3: 心在你我说一下  我当初的实现 方法 ,希望能给你们一些  启 ...

  3. IOS如何刷新视图上的显示内容

    大家都知道,UItableView 有个 reloadData的方法,可以tableview刷新视图.而普通的View上面.我们如何刷新视图的呢? 下图是我做的一个用户登录之后显示用户昵称和个性签名还 ...

  4. iOS TableView多级列表

    代码地址如下:http://www.demodashi.com/demo/15006.html 效果预览 ### 一.需求 TableView多级列表:分级展开或合并,逐级获取并展示其子级数据,可以设 ...

  5. iOS tableview的常用delegate和dataSource执行顺序

    在这次项目中遇到了一个特别奇葩的问题:表视图创建的cell在7以上的系统能正常运行显示,在模拟器上就不能正常实现......为解决这个问题,纠结了好久...... 对在7系统上不显示的猜测: 用mas ...

  6. IOS tableview下拉刷新上拉加载分页

    http://code4app.com/ios/快速集成下拉上拉刷新/52326ce26803fabc46000000 刷新没用用插件,加载使用的MJ老师的插件. - (void)viewDidLoa ...

  7. iOS TableView如何刷新指定的cell或section

    指定的section单独刷新 NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:indexPath.row]; [tableview relo ...

  8. ios开发之--tableview刷新某一个区和某一行

    在开发中,有时候,我们不需要刷新整个表,只需要刷新局部数据即可,具体代码如下: //section刷新 NSIndexSet *indexSet=[[NSIndexSet alloc]initWith ...

  9. IOS tableView的数据刷新

    1.tableView的刷新 1> 数据刷新的总体步骤 * 修改模型数据 * 刷新表格(刷新界面) 2> 刷新表格(刷新界面)的方法 * 全局刷新(每一行都会重新刷新) - (void)r ...

随机推荐

  1. Publishing failed with multiple errors.问题解决

    问题:Publishing failed with multiple errors.(发布失败与多个错误) 原因:项目工程文件删除,但eclipse里面仍显示存在. 解决方案:刷新项目工程,重新部署, ...

  2. [Leetcode] Binary tree level order traversal二叉树层次遍历

    Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...

  3. mysql之 mysql 5.6不停机主从搭建(一主一从)

    环境说明:版本 version 5.6.25-log 主库ip: 10.219.24.25从库ip:10.219.24.22os 版本: centos 6.7已安装热备软件:xtrabackup 防火 ...

  4. MySQL分页优化中的“INNER JOIN方式优化分页算法”到底在什么情况下会生效?

    本文出处:http://www.cnblogs.com/wy123/p/7003157.html 最近无意间看到一个MySQL分页优化的测试案例,并没有非常具体地说明测试场景的情况下,给出了一种经典的 ...

  5. IntelliJ IDEA提示:Error during artifact deployment. See server log for details.

    IntelliJ IDEA-2017.1.1 tomcat-8.5.13   问题:在IntelliJ IDEA中使用tomcat部署web app时,提示:Error during artifact ...

  6. 从deque到std::stack,std::queue,再到iOS 中NSArray(CFArray)

    从deque到std::stack,std::queue,再到iOS 中NSArray(CFArray) deque deque双端队列,分段连续空间数据结构,由中控的map(与其说map,不如说是数 ...

  7. elememtui(有关权限的那些事)

    前言:关于权限路由的那些事儿…… 业务情景描述:现有一个后台管理系统,共存在三种类型的人员,①超级管理员(称作1):②组别管理员(2):③普通用户(3):每种类型的人看到的操作栏并不一样,可以进行的操 ...

  8. Netty方法误解ChannelHandlerContext.writeAndFlush(Object msg)

    乍一看这个方法,以为什么消息都能输出,因为参数是Object类型的,但实际上,netty内部只支持两种类型,如图

  9. SQL Server 使用ROW_NUMBER实现的高效分页排序

    declare @pageNum int declare @pageSize int select * from (select ROW_NUMBER() over(order by a_Creati ...

  10. 并行模式库PPL应用实战(一):使用task类创建并行任务

    自 VS2010 起,微软就在 CRT 中集成了并发运行时(Concurrency Runtime),并行模式库(PPL,Parallel Patterns Library)是其中的一个重要组成部分. ...