gpt4 book ai didi

iphone - UIManagedDocument 和 NSFetchedResultsController

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:23:40 30 4
gpt4 key购买 nike

我在使用 UIManagedDocument 保存实体时遇到问题。我有一个 NSFetchedResultsController,其上下文设置为 UIManagedDocuments 上下文。我在 Controller 中设置了部分。用户向 UIManagedDocuments 上下文添加一个条目,我使用以下方法保存上下文: [上下文保存:&错误];并且我的 NSFetchedResultsController 正确更新。

如果我离开具有 NSFetchedResultsController 的 View ,然后返回到该 View ,在该 View 中我创建了一个具有相同 UIManagedDocuments 上下文的新 NSFetchedResultsController,我在调用时返回错误: [fetchedResultsController performFetch:&error];

错误说:

CoreData: 错误: (NSFetchedResultsController) 在索引处获取的对象有一个乱序的节名 '.对象必须按部分名称排序'

获取失败。

如果我在返回 View 之前等待一段时间,我就不会收到错误消息。我知道保存操作是在子上下文中完成的,然后将更改推送到父上下文中,我认为这与问题有关。有人有解决方案吗?

最佳答案

根据 UIManagedDocument Reference,您不应通过 NSManagedObjectContext 进行保存。应通过适当的 UIManagedDocument API 进行保存。遗憾的是,该文档并未明确说明您应该使用什么。

如果您使用撤消管理器,该路径应该确保所有内容都被适本地标记为脏并保存。同样,使用显式调用

[document updateChangeCount:UIDocumentChangeDone];

应该提供类似的功能。但是,保存将被推迟,因为它是在一个单独的线程中完成的。

关于iphone - UIManagedDocument 和 NSFetchedResultsController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9081643/

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