博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS博客项目搭建-11-刷新数据UIRefreshControl
阅读量:2384 次
发布时间:2019-05-10

本文共 2898 字,大约阅读时间需要 9 分钟。

IOS自带刷新数据的方法UIRefreshControl,该方法可以下拉刷新获取数据

000343_E8Cp_2557944.png

在加载view的时候,就调用刷新控件的方法来获取新数据:

- (void)viewDidLoad{    [super viewDidLoad];        // 0.集成刷新控件 =====【2016-04-12 新增刷新控件方法】======    [self setupRefreshView];        // 1.设置导航栏的内容    [self setupNavBar];        // 2.加载微博数据    [self setupStatusData];}

刷新控件的具体方法:

/** *  集成刷新控件【2016-04-12】 */- (void)setupRefreshView{    UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];        // 监听刷新控件的状态改变    [refreshControl addTarget:self action:@selector(refreshControlStateChange:) forControlEvents:UIControlEventValueChanged];        [self.tableView addSubview:refreshControl];}-(void)refreshControlStateChange:(UIRefreshControl*)refreshControl{    // 刷新数据(向新浪获取更新的微博数据)        // 1.创建请求管理对象    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];        // 2.封装请求参数    NSMutableDictionary *params = [NSMutableDictionary dictionary];    params[@"access_token"] = [IWAccountTool account].access_token;    params[@"count"] = @5;        // 取出数组第一个元素    IWStatusFrame *statusFrame = self.statusFrames[0];    // 加载ID比since_id大的微博    params[@"since_id"] = statusFrame.status.idstr;            // 3.发送请求    [mgr GET:@"https://api.weibo.com/2/statuses/home_timeline.json" parameters:params     success:^(AFHTTPRequestOperation *operation, id responseObject) {         // 将字典数组转为模型数组(里面放的就是IWStatus模型)         NSArray *statusArray = [IWStatus objectArrayWithKeyValuesArray:responseObject[@"statuses"]];         // 创建frame模型对象         NSMutableArray *statusFrameArray = [NSMutableArray array];         for (IWStatus *status in statusArray) {             //              if (status.pic_urls.count == 9) {             //                  NSMutableArray *tempArray = [NSMutableArray array];             //                  for (int i = 0; i<4; i++) {             //                      [tempArray addObject:status.pic_urls[i]];             //                  }             //                  status.pic_urls = tempArray;             //              }             IWStatusFrame *statusFrame = [[IWStatusFrame alloc] init];             // 传递微博模型数据             statusFrame.status = status;             [statusFrameArray addObject:statusFrame];         }         // 赋值         // 将最新的数据追加到旧数据的最前面         // 旧数据:self.statusFrames         // 新数据:statusFrameArray         NSMutableArray *tempArray = [NSMutableArray array];         [tempArray addObjectsFromArray:statusFrameArray];         [tempArray addObjectsFromArray:self.statusFrames];         self.statusFrames = tempArray;                           // 刷新表格         [self.tableView reloadData];                  // 让刷新控件停止显示菊花         [refreshControl endRefreshing];     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {                  // 让刷新控件停止显示菊花          [refreshControl endRefreshing];     }];}

以上的代码即为调用系统自带的方法来刷新获取数据。

转载于:https://my.oschina.net/corwien/blog/659962

你可能感兴趣的文章
数据同步
查看>>
软件安全开发生命周期读书笔记
查看>>
openldap安装笔记
查看>>
GIT中文教程
查看>>
cobit成功案例
查看>>
Linux下的内网反弹实例
查看>>
Apache 漏洞之后缀名解析漏洞
查看>>
Sun Java Web Server version 7.0 update 7 remote stack overflow exploit
查看>>
Command execution with a MySQL UDF
查看>>
more with rpcclient
查看>>
ITIL项目手记四:证券公司ITIL项目的心得
查看>>
WINDOWS下搭建LDAP服务器
查看>>
二进制数据 + MySQL + PHP 怎样在Mysql中直接储存图片
查看>>
For Linux Mysql Udf
查看>>
Perl BackConnectShell + Rootlab t00l
查看>>
JBoss Autopwn Script
查看>>
OTPs: Using s/Key with SSH via OPIE
查看>>
使用arpwatch和arping来排查ARP攻击
查看>>
Linux硬件监控方法
查看>>
Linux系统安全工具之:Sxid和Skey
查看>>