Swift UITableView reloadData() UI 行为

标签 swift uitableview

我们正在通过 REST 调用加载数据:

let task = NSURLSession.sharedSession().dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
    //Update data store….
    self.tableView.reloadData()
})
task.resume()

但网格中的数据未显示。您必须单击模拟器中的网格 - 执行此操作时会显示数据。在没有任何 UI 交互的情况下让数据自动加载,我们缺少什么?

最佳答案

reloadData() 方法必须在主线程中运行。 dataTaskWithRequest(_ request: NSURLRequest) 在后台线程中运行:

let task = NSURLSession.sharedSession().dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in

    dispatch_async(dispatch_get_main_queue(),{
        //Update data store….
        self.tableView.reloadData()
    })

})

task.resume()

关于Swift UITableView reloadData() UI 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36239271/

相关文章:

swift - 缩进 UILabel 的第二行(swift)

swift - 更改 AVPlayerView 背景颜色

ios - 如果从 UICollectionView 中的其他部分选择了一个单元格,则取消选择所有其他选择

ios - 如何禁用 UITableViewCell 上的删除操作?

ios - 在 UITableView 上嵌入 UISearchController 时出现奇怪的白条

ios - Telnet 得到空输出并且没有登录名/密码

ios - 以编程方式通过单元格设计重用错误 tableView

ios - UITableViewCell 内的 TableView - 必须注册一个 nib 或类

uitableview - 自 Xcode Beta5 以来的 iOS 8 UITableViewCell 类编译器错误

iphone - 配置 UItableView 不在 iPhone 上滚动