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

标签 ios multithreading core-data concurrency

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

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

如果我已经用单独的上下文和合并设置了东西,为什么主上下文中的数据与合并后后台上下文中的数据不同?我知道这很奇怪,所以非常感谢您的帮助!

最佳答案

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

关于ios - 核心数据对象的顺序改变,核心数据合并后上下文之间不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19962898/

相关文章:

ios - Realm :声明为链接对象属性来源的属性不存在

ios - 获取与自身具有多对多链接的链接实体?

objective-c - 对从 coreData 检索到的值求和并在部分中显示

iphone - 您如何确定 future 转型的框架?更新 : More elegant way?

ios - 在选择一行之前,函数无法正常工作

ios - Swift 4 转换段错误 : 11

linux - Linux 中进程的线程堆栈

iOS CloudKit 在 -fetchUserRecordIDWithCompletionHandler : 的完成 block 上崩溃

java - 在 Swing 线程之外的其他线程中初始化 Swing GUI 组件是否正确,只要它们不被附加?

ios - 如何使用核心数据更新表格 View 单元格中的图像