我已使用this guide on the Speak Objectively Blog以编程方式在UITableView
内创建UIViewController
。
但是我现在遇到.reloadData()
没有刷新视图的问题。但是,如果我在UITableView
内拖动或移动,数据会正确显示。
This answer suggests that I haven't set up the outlet。据我所知IBOutlets
用于将Interface Builder中的元素连接到代码。如果我的理解是错误的,请纠正我。
如果我以编程方式创建UITableView
,如何设置插座?
答案 0 :(得分:4)
该指南创建了一个UITableViewController。它上面已经有一个UITableView实例,它就是你在屏幕上看到的实例。没有必要创建出口,所以答案实际上不是你问题的答案(但可能与某种程度有关)
我能想象的是你在别的地方发送消息。
正如您在Table View Controller Class Reference中看到的那样,您可以通过self.tableView
(或只是swift中的tableView)获取表格视图
因此,请务必将邮件发送至self.tableView.reloadData()
如果它不起作用,发送部分代码将有助于我们更好地预测可能出现问题的地方;)
答案 1 :(得分:2)
如果self.tableView.reloadData()不能独立工作,请使用:
dispatch_async(dispatch_get_main_queue(), {self.tableView.reloadData()})
或
dispatch_async(dispatch_get_main_queue()) {self.tableView.reloadData()}