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

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

更新我的数据源中的数据并做

stationTableView.reloadData()

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

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

打印预期的单元格.

其余的设置是一个UINavigationController,它具有我的StationViewControlleras的关系. stationViewController的IBOutlet连接到故事板文件中的UITableView.

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

解决方法

感谢Artem,我想我需要在主线程上调用reloadData().这是我如何解决的:
func refreshUI() {
    dispatch_async(dispatch_get_main_queue(),{
        self.stationTableView.reloadData()
    });
}

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...