繁体   English   中英

UITableView reloadData()不刷新显示的单元格

[英]UITableView reloadData() does not refresh displayed cells

我有

class StationViewController : 
    UITableViewController, UITableViewDelegate, UITableViewDataSource {
  @IBOutlet var stationTableView: UITableView!

当更新我的数据源中的数据并执行

stationTableView.reloadData()

这不是立即在屏幕上可见。 如果我滚动,倾斜或执行任何其他操作以强制重新绘制屏幕,​​则更新的单元格将可见。 我可以通过调用来确认UITableView确实做了更新

println("\(stationTableView.visibleCells())")

打印预期的单元格。

其余的设置是一个UINavigationController ,它与我的StationViewController有关系。 stationViewController的IBOutlet已连接到情节stationViewController文件中的UITableView

我似乎需要屏幕的“重绘”以使我的更新立即可见。 我怎么做?

多亏了Artem,我发现我需要在主线程上调用reloadData()。 这就是我解决的方法:

func refreshUI() {
    dispatch_async(dispatch_get_main_queue(),{
        self.stationTableView.reloadData()
    });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM