我遇到了 UITableView
的这种奇怪行为。
我正在我的应用程序中从 CloudKit 获取一些记录。我已经设置了一个专用的 NSObject
子类来处理所有这一切,只要它收到一条记录,它就会将该记录添加到我的模型数组中,然后告诉它的委托(delegate)它已经收到了一些东西。然后委托(delegate)重新加载 tableView
。
func cloudKitFetchedRecord(identifier: NSString) {
if identifier.isEqualToString("getAllProfiles") {
self.tableView.reloadData()
}
}
这一切都有效。除了在我调用 reloadData
之后,有一段时间什么都没有发生。表实际重新加载大约需要 10-20 秒。奇怪的是,当我点击屏幕时它也会重新加载,但是当我触发 reloadData
时没有任何反应。
我已经检查了我的整个应用程序,到处都设置了断点,但应用程序在延迟重新加载时没有做任何事情。我还清理了项目,清理了构建文件夹,几乎完成了我能想到的所有事情,但它一直在这样做。
有没有其他人遇到过这种行为,或者有没有人知道如何解决它?
如有任何意见,我们将不胜感激
最佳答案
在主线程上运行你的 reloadData 方法:
dispatch_async(dispatch_get_main_queue(), {self.tableView.reloadData()})
关于ios - UITableView reloadData() 被解雇但延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30412444/