下拉刷新2.0--数据获取

1.0上拉刷新也微博数据获取为例;

获取数据思路

  1. 创建请求管理者;
  2. 发送get/post请求;--准备工作:设置拼接:请求参数;

3.对请求成功后的数据进行“模型”化;
4.将newData插入到oldData中

- (void)loadMoreStatus
{
// 1.请求管理者
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
// 2.拼接请求参数
HWAccount *account = [HWAccountTool account];

NSMutableDictionary *params = [NSMutableDictionary dictionary];   
params[@"access_token"] = account.access_token;
// 取出最后面的微博(最新的微博,ID最大的微博)
HWStatus *lastStatus = [self.statuses lastObject];

if (lastStatus) {      
// 若指定此参数,则返回ID小于或等于max_id的微博,默认为0。
// id这种数据一般都是比较大的,一般转成整数的话,最好是long long类型    
long long maxId = lastStatus.idstr.longLongValue - 1;
params[@"max_id"] = @(maxId);
}

// 3.发送请求
[mgr GET:@"https://api.weibo.com/2/statuses/friends_timeline.json" parameters:params success:^(AFHTTPRequestOperation *operation, 
NSDictionary*responseObject) {
// 将 "微博字典"数组 转为 "微博模型"数组     
NSArray*newStatuses = [HWStatus objectArrayWithKeyValuesArray:responseObject[@"statuses"]];
// 将更多的微博数据,添加到总数组的最后面

[self.statuses addObjectsFromArray:newStatuses];
// 刷新表格
[self.tableView reloadData];       
// 结束刷新(隐藏footer)
  
self.tableView.tableFooterView.hidden = 
YES;
} failure:^(AFHTTPRequestOperation *operation, 
NSError
 *error) {
HWLog(@
"请求失败-%@"
, error);
// 结束刷新
self.tableView.tableFooterView.hidden = YES;
}];

}```
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 14,079评论 6 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,260评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,999评论 25 709
  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 14,778评论 0 15
  • 以前每次给朋友写贺卡,我都会写一句话:“万事如意,心想事成!”但是慢慢的,我发现每个人的人生,总有许多不尽如人意的...
    怡记阅读 5,249评论 5 7

友情链接更多精彩内容