从 AFNetworking 2.0 加载带有 JSON 的 UITableView

Posted

技术标签:

【中文标题】从 AFNetworking 2.0 加载带有 JSON 的 UITableView【英文标题】:Loading UITableView with JSON from AFNetworking 2.0 【发布时间】:2013-10-05 06:57:12 【问题描述】:

我正在尝试使用远程 JSON 文件填充 UITableView。我能够在 repsonseObject 中获取 JSON,但在使用 TableView 时遇到问题。我将 JSON 存储在一个数组中。

我的请求如下所示:

- (void)makeJSONRequest

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

    [manager GET:@"http://www.tylacock.com/cheats.json" parameters:nil
         success:^(AFHTTPRequestOperation *operation, id responseObject) 
             self.jsonFromAFNetworking = [responseObject objectForKey:@"ps3"];
         
         failure:^(AFHTTPRequestOperation *operation, NSError *error) 
             NSLog(@"Error: %@", error);
    ];

我的 cellForRowAtIndexPath 方法如下所示:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

    NSDictionary *tempDict = [self.jsonFromAFNetworking objectAtIndex:indexPath.row];

    cell.textLabel.text = [tempDict objectForKey:@"name"];

    return cell;

我已检查以确保数据源已连接到 ViewController。我实际上能够使用 AFNetworking 1.X 完成此任务,但由于升级和方法发生了变化,我不知所措。

【问题讨论】:

请问jsonFromAFNetworking是什么?一个 NSObject? 【参考方案1】:

您正在异步加载数据,因此您必须在设置 jsonFromAFNetworking 后调用 [self.tableView reloadData]

【讨论】:

感谢您的帮助!这就是问题

以上是关于从 AFNetworking 2.0 加载带有 JSON 的 UITableView的主要内容,如果未能解决你的问题,请参考以下文章

带有 OAuth2 令牌的 AFNetworking 2.0

使用 AFNetworking 2.0 加载图像

AFNetworking 2.0 发送带有字典参数数组的发布请求

如何设置 AFNetworking 2.0 默认标头?

UITableViewCell AFNetworking 仅加载一次带有动画的图像

从 AFNetworking 1.3 迁移到 AFNetworking 2.0 的问题