核心数据对象的顺序改变,核心数据合并后的上下文之间不同

时间:2013-11-13 19:43:20

标签: ios multithreading core-data concurrency

在合并之前和之后,我的应用中的数据出现了一个奇怪的问题。我有一个应用程序,让用户刷新所以我有一个单独的上下文,然后合并任何更改(因为我相信我应该)。我注意到刷新后,数据更新是正确的(添加,删除项目等)但我的项目是重新排序。我可以追溯到不同的上下文,但不知道为什么会发生这种情况。场景是:

在后台上下文中刷新并使用deleteObject 保存 这会触发与通知的合并 在背景上下文中查询数据库显示正确的顺序 在主上下文中查询数据库(应该将更改合并到它)显示不同的顺序

如果我使用单独的上下文和合并进行设置,为什么主上下文中的数据与后合并后的后台上下文中的数据不同?我知道这很奇怪,所以感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

未指定由提取请求(没有排序描述符)返回的对象的顺序。如果你需要 如果定义明确,则应该为获取请求添加排序描述符。

答案 1 :(得分:0)

我调试并发现MOC的CD保存修复了它。我还在弄清楚为什么,但是为了防止其他人碰到这个,拯救帮助了我