gpt4 book ai didi

ios - 初始导入后 UITableview 在 iOS 10 中不再刷新

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:57:33 24 4
gpt4 key购买 nike

我有一个在首次启动时导入 XML 文件以创建表的应用程序。这在 iOS 9 中工作得很好。在 iOS 10 中,它仍然正确导入所有数据,并正确执行提取,但表格不会显示项目,直到我强制退出应用程序并再次打开它。相反,它只显示 xml 文件中的第一项。当我单击该项目时,它实际上将我带到了包含 298 个项目的有序列表中的第一个项目(这是一个不同的项目)。

视频显示问题的链接:reloading table issues

顺序:

  • 1) 应用在初次启动时打开,提示用户“导入数据”。解析器用于导入 XML 并成功运行 XML(我可以打印每个项目的日志)。
  • 2) App 保存 importContext 并调用tableView.reloadData
  • 3) 此时,数据应该在表中。导航标题包含正确的计数(298 项)。但是,表中只有一项,即 XML 中的第一项文件。
  • 4) 如果我点击那个项目,它会把我带到298 项列表中的第一项(不是实际在 table )。
  • 5) 有趣的是,如果我执行搜索,1item 没有改变,但是如果我点击它,它会带我到我想要的项目搜索。如果我搜索不同的项目并单击 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,因为它会很痛苦。

最佳答案

您在 cellForRowAtIndexPath: 方法中进行单元格配置?我有一个类似的问题,我解决了它移动 willDisplayCell: 中的代码。

关于ios - 初始导入后 UITableview 在 iOS 10 中不再刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39553683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com