gpt4 book ai didi

ios - 没有更改部分信息尽管更改导致 controllerDidChangeContent 调用 tableView.reloadData() 并依次调用 numberOfSections

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

在 Swift 的 iOS 开发中使用 NSFetchedResultsController 和核心数据是非常奇怪的情况。

起初,FetchedResultsController 仅包含未更改部分的信息,但没有更改部分信息,尽管更改会导致 controllerDidChangeContent 方法调用 tableView.reloadData 方法,然后调用 numberOfSections 方法。

但是随后的手动调用,例如在 viewWillAppear 中,FetchedResultsController 会导致正确显示更改的部分信息以及其他未更改的部分信息。

换句话说,在后台上下文中通过 cloudkit 获取的 sectionNameKeyPath 中引用的属性更改被保存到 viewContext,后者又将其保存到持久容器。过程中调用了controllerDidChangeContent,调用了tableView.reloadData。此时,在numberOfSections 中,在fetchedResultsController.sections 中看不到更改的部分信息,它只包含未更改部分的信息。我已将该属性名称设置为与 fetchedResultsController 关联的获取请求中的第一个排序描述符。

我真的找不到任何不合逻辑的线索;欢迎任何想法。

最佳答案

发现问题!!!在回答 NSFetchedResultsController calls didChangeObject delete instead of update 时感谢迈克尔

原因是我的谓词对数字值使用字符串插值。更改数字谓词的使用后,奇迹发生了。感谢 Stackoverflow 社区!

关于ios - 没有更改部分信息尽管更改导致 controllerDidChangeContent 调用 tableView.reloadData() 并依次调用 numberOfSections,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53148172/

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