在 viewDidLoad 中从 JSON 加载数据不起作用
Posted
技术标签:
【中文标题】在 viewDidLoad 中从 JSON 加载数据不起作用【英文标题】:Loading data from JSON in viewDidLoad doesn't work 【发布时间】:2010-11-08 14:23:28 【问题描述】:我正在开发一个 iPhone 应用程序,其中数据来自一个返回 json 文件的 web 服务。我在要绑定数据的 UITableViewController 的 viewDidLoad 中使用以下命令:
responseData = [[NSMutableData data] retain];
NSURLRequest *request = [NSURLRequest requestWithURL:
[NSURL URLWithString:@"webservice url"]];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
然后我将 json 结果中的数据放入 connectionDidFinishedLodading 委托中的 NSDictionary。
问题是来自 UITableView 的 numberOfRowsInSection 委托在连接完成下载数据之前执行,这使我的表格视图为零行并且不显示任何内容。
我做错了什么?我是否误解了 viewDidLoad 的概念,应该在其他地方加载这些数据?
【问题讨论】:
【参考方案1】:处理完数据后,在 tableView 上调用 reloadData。
[self.tableView reloadData];
这会重新触发所有 UITableViewDatasource 方法。
【讨论】:
以上是关于在 viewDidLoad 中从 JSON 加载数据不起作用的主要内容,如果未能解决你的问题,请参考以下文章
在 Laravel 中从数据库存储和加载 JSON 的最佳方法
如何在 Swift 中从同一站点重新加载新的 JSON 数据?
在 jQuery 中从 JSON 加载 HTML 控件(即 Ajax serialiseArray 的逆向)
Swift 3:在 ViewDidLoad 中从服务器获取信息,当单击按钮时,等待服务器的信息响应