【问题标题】:Ordered Core Data Relationship - How it is managed or what is the default ordering?有序核心数据关系 - 如何管理或默认排序是什么?
【发布时间】:2013-10-13 01:39:09
【问题描述】:

在核心数据中添加关系时,有一个选项可以使关系“有序”(复选框)。核心数据如何管理关系的排序或默认排序是什么(如果有的话)?

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

【问题讨论】:

    标签: ios objective-c core-data default


    【解决方案1】:

    ordered 设置只是在该实体中将属性创建为NSOrderedSet。所以本质上,它们是根据它们添加的顺序来排序的。

    您可以使用sortedArrayUsingComparator:自己对集合进行排序

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

    【讨论】:

    • “只是创建属性”没有回答如何在 sqlite 中管理数据的问题。
    • @LeoNatan 幸运的是,这不是问题。
    • Here is where it's described in the Core Data documentationArrangement: Select the Ordered checkbox to specify that the relationship has an inherent ordering, and to generate an ordered mutable set.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多