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

问题描述 投票:22回答:1

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

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

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

ios objective-c core-data default
1个回答
24
投票

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

您可以使用sortedArrayUsingComparator:自行排序

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

© www.soinside.com 2019 - 2024. All rights reserved.