【问题标题】:AFNetworking - Store JSON results and then load them to a tableViewAFNetworking - 存储 JSON 结果,然后将它们加载到 tableView
【发布时间】:2014-12-03 10:11:20
【问题描述】:

我正在使用 AFNetworking 从 url 获取 JSON 数据并将它们存储到 SQLite 数据库中。 现在,我想在 tableView 中显示此信息,但重点是我想在下载数据后从数据库中加载此数据。现在,我的视图什么也没有显示,因为数据库是空的。我必须等待请求完成。

这些是我想做的步骤:

  1. 加载 tableView 控制器。
  2. 启动 UIActivityIndi​​catorView。
  3. 从 JSON url 加载数据并将其存储到数据库中。
  4. 完成后,从数据库中获取此数据并将其放入 tableView。
  5. 停止 UIActivityIndi​​catorView。

希望你能理解我。

谢谢!!

【问题讨论】:

  • 在第3步中,您是否确认数据已成功检索?在第 4 步中,您是否确定在模型填充完成后致电reloadData?请向我们展示您所做的诊断,并在您准确确定问题所在后分享相关代码 sn-ps。

标签: ios objective-c json sqlite afnetworking


【解决方案1】:

根据 afnetworking github 页面上提到的文档。

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager GET:@"http://example.com/resources.json" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", error);
}];

你将进入这个成功:^(AFHTTPRequestOperation *operation, id responseObject) 函数,在这个函数中你可以重新加载你的表数据。 喜欢

[tableoutlet reloadData];

但在重新加载之前,请确保将您的响应数据加载到 sqlite db。

提示是进入成功函数后触发reloadData函数。

【讨论】:

  • 在成功块中,您还需要将responseObject 反序列化为一个对象数组,您的表格视图数据源将从这些对象中填充单元格。
猜你喜欢
  • 1970-01-01
  • 2016-01-25
  • 1970-01-01
  • 2016-01-23
  • 2020-05-29
  • 1970-01-01
  • 2016-03-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多