有序核心数据关系 - 如何管理或默认排序是什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有序核心数据关系 - 如何管理或默认排序是什么?相关的知识,希望对你有一定的参考价值。

我尽力在这个论坛和网络上搜索答案,虽然我找到了一些相关的主题,但我找不到我想要的答案。我很抱歉,如果已经有一个,我可能已经错过了。

在核心数据中添加关系时,可以选择将关系设置为“Ordered”(复选框)。核心数据如何管理关系的排序或什么是默认排序(如果有的话)?

说,我有一个Header和Detail实体。我指定了“To-Many”关系(Header可以有很多细节)并选中“Ordered”复选框。当我对“标题”进行提取时,我可以指定它将被命令的属性 - 我很好,我的问题与此无关。我将结果放在tableview上,当用户点击详细信息时,我将在另一个tableview中显示Detail。我没有使用FetchResultController来显示细节,我只是通过关系访问细节。这意味着我没有为细节指定任何排序。我的问题与此有关,核心数据如何管理详细信息的排序?由于我将关系指定为“Ordered”,它是否真的按顺序排列细节?如果是,默认订单行为是什么?

答案

ordered设置只是在该实体内创建属性为NSOrderedSet。基本上,它们是根据它们的添加顺序排序的。

您可以使用sortedArrayUsingComparator:自行排序

更多信息:https://developer.apple.com/library/mac/documentation/Foundation/Reference/NSOrderedSet_Class/Reference/Reference.html

以上是关于有序核心数据关系 - 如何管理或默认排序是什么?的主要内容,如果未能解决你的问题,请参考以下文章

插入排序

插入排序

经典排序算法 ——直接插入排序

动画 | 什么是归并排序?

UITableViews 上的核心数据关系和/或 NSPredicate 排序

iCloud 中基于 SQLite 的核心数据中的有序关系