gpt4 book ai didi

ios - 插入核心数据后 TableView 行未更新

转载 作者:行者123 更新时间:2023-11-29 02:26:21 25 4
gpt4 key购买 nike

我是快速编程的新手。我一直在玩这个有一段时间了,但我没有得到任何地方所以在这里问。

我有一个 TableView ,我可以毫无问题地将数据从 CoreData 加载到 View 中。我在顶部有一个 ADD 按钮,它可以连接到一个新的 tableview,其中包含一长串可供选择的选项。此表格 View 也可以正常工作,并且包含一个搜索栏。
当用户从第二个 tableview 中选择一个项目行时,它将该项目插入到 CoreData 中,然后 segue 返回到第一个 tableview。这就是我的问题所在,数据不会在可见 View 上更新。

我调用 tableview.reloaddata() 并且我可以看到我的代码使用新查询调用 fetchedResultsController,该新查询将返回新数据。但是代码永远不会到达 cellForRowAtIndexPath 函数,因此可见数据 View 永远不会改变。它保持与按下添加按钮时可见的相同显示。

可见数据如何更新?我错过了什么?

最佳答案

当使用NSFetchedResultsController时,如果你希望它“自动”更新tableview的内容,那么你需要确保以下几点......

  1. 您必须成为NSFetchedResultsControllerDelegate并实现更新 TableView 所需的方法。这些内容很长,可以在 Ray Wenderlich website 上找到。此处的代码使用的是 Objective-C,但转换为 Swift 相当容易。

  2. 您需要做的第二件事是确保核心数据更新在后台线程上完成。上面链接的网站再次显示了这一点。

完成此操作后,您实际上不需要运行[tableview reloadData],因为获取的结果 Controller 方法将为您管理一切。

关于ios - 插入核心数据后 TableView 行未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27488400/

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