我有一个应用程序在首次启动时导入XML文件以创建表。这在iOS 9中运行得非常好。在iOS 10中,它仍然可以正确导入所有数据,并正确执行提取,但在强制退出应用程序并再次打开之前,表格不会显示这些项目。相反,它只显示xml文件中的第一项。当我点击该项目时,它实际上将我带到298项的有序列表中的第一项(这是一个不同的项目)。
链接到显示问题的视频:reloading table issues
订单:
我试过调用
self.viewDidLoad
和
self.tableView.reloadData()
和
dispatch_async(dispatch_get_main_queue()) {
self.tableView.reloadData()
}
使用NSNotificationCenter调用所有上述三个函数,然后使用
完成解析NSNotificationCenter.defaultCenter().postNotificationName("performFetch", object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.test), name: "performFetch", object: nil)
但实际上没有任何内容重置tableView中的一个项目(恰好是xml文件中的第一项。同样,所有数据都在那里,只是看不见。
如果我强行退出应用程序并将其重新打开,所有数据都在那里并且可见并且工作得很好。在iOS 10中是否有强制执行tableview刷新的不同/新方法?同样,这个功能在ios 9中运行良好,没有代码改变,但在ios 10中它失败了。我还没有升级到Swift 3.0,因为它会很痛苦。
答案 0 :(得分:0)
你在cellForRowAtIndexPath:方法中进行单元格配置?我有一个类似的问题,我解决了它在willDisplayCell中移动代码:。