真实示例:使用NSURLSession提取JSON并填充UITableView第2部分。
这是这篇文章的第1部分。
在第1部分中,我们使用NSURLSession从Web上获取了JSON并将其存储到本地数组tableArray中 。
让我们开始打开Main.storyboard 。
继续并删除默认的ViewController 。
现在,您应该有一个空白的Main.storyboard 。
在右侧平面上,从对象库中拖放UITableViewController 。
在将UITableViewController连接到代码之前,我们需要使ViewController.swift与UITableViewController保持一致 。
为此,请打开ViewController.swift。
更改此:
ViewController类:UIViewController
对此:
ViewController类:UITableViewController
现在,通过打开main.Storyboard并单击控制器的外部,将UITableViewController连接到我们的代码。
打开Identity Inspector并将类更改为ViewController 。
现在我们需要确保它是Initial View Controller 。
现在让我们回到ViewController.swift中添加一些内容。
在viewDidLoad中添加以下两行代码:
self.tableView.dataSource =自我
self.tableView.delegate =自我
为了保持干净整洁,让我们创建ViewController的扩展 。
把这个放在 类大括号外 。
现在,在“ 属性”检查器中 ,将“ 单元格”作为标识符 。
现在,我们要做的就是在parseJSON()函数中添加self.tableView.reload() 。
现在,您可以使用C ommand + R运行您的项目。
您在控制台中看到该阵列的时间可能要延迟到填充表格所需的时间,或者直到您单击屏幕后才会显示。
这是因为未在主线程上调用self.tableView.reload() 。
您应该始终在主线程上更新UI。
我们可以这样简单地包装重载:
DispatchQueue.main.async {
self.tableView.reloadData()
}
现在,我们的表可以更快地填充。
而已! 现在,我们有了一个简单的准系统,其中填充了从网上获取的JSON的UITableView 。
对以后的帖子有任何意见或建议,请告诉我。 😊
如果您迷路了,我在GitHub上有完整的项目。