美文网首页
下拉刷新2.0--数据获取

下拉刷新2.0--数据获取

作者: 酸po萄 | 来源:发表于2016-08-26 09:18 被阅读28次

    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;
    }];
    
    }```

    相关文章

      网友评论

          本文标题:下拉刷新2.0--数据获取

          本文链接:https://www.haomeiwen.com/subject/myoasttx.html