我有一个应用程序在首次启动时导入XML文件以创建表。这在iOS 9中工作得非常好。在iOS 10中,它仍然正确导入所有数据,并正确执行提取,但表格不会显示项目,直到我强制退出应用程序并再次打开。相反,它只是显示xml文件中的第一项。当我点击该项目时,它实际上将我带到298个项目(这是不同的项目)的有序列表中的第一个项目。UITableview不再在初次导入后在iOS 10中刷新
链接到视频显示问题:reloading table issues
订单:
- 1)应用上首次推出打开,提示用户 “导入数据”。解析器 用于导入XML并成功运行XML(我可以打印 每个项目的日志)。
- 2)App保存importContext并调用 tableView.reloadData
- 3)此时,数据应该在表中。 导航标题包含计数,这是正确的(298项)。 但是,该表中只有1个项目,即XML 文件中的第一个项目。
- 4)如果我点击该项目,它将带我到298项目列表中的第一项(不是 表中的项目)的 。 5)有趣的是,如果我执行搜索,则1 项目的名称不会改变,但是如果我点击它,它会将我带到搜索项目I 。如果我搜索不同的物品并点击表格中的1 物品,它会将我带到新物品(但仍不会 更改现有物品的文本) - 因此,所有298物品都存在, 只是未显示在桌子里。
我已经打过电话
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,因为它会很痛苦。
遇到与iOS 10.0类似的问题。2(它实际上开始与这个版本发生),但如果我滚动表,它会加载(有一些小故障,但它确实)。 – dccarmo
@dccarmo by glitch你的意思是重复数据吗?多数民众赞成在即时处理现在的问题 – Multinerd
@Multinerd我不记得,但我不认为这是重复数据。 – dccarmo