gpt4 book ai didi

iphone - Core Data 中具有多多关系的排序顺序

转载 作者:行者123 更新时间:2023-12-03 16:21:45 25 4
gpt4 key购买 nike

假设我正在为一所学校建模,那么我有 2 个实体:学生和类(class)。无论出于何种原因,我希望每个类(class)名册都有一个自定义的排序顺序。在简单的关系中,这意味着为 Student 提供 sortOrder 属性,并仅按该数字对列表进行排序。问题是,一名学生可能在一个类(class)中排名第 3,而在另一个类(class)中排名第 6。我如何将这些订单存储在核心数据中,以便我可以轻松访问它们并对列表进行正确排序?

 Student                  Class
classes <<--------->> students
^ ^
| |
unordered ordered

这张图可能有助于解释我正在尝试做的事情。我希望以存储在某处的特定顺序获取学生“花名册”,这可以是任何顺序。我不确定如何以最有效的方式存储此顺序。创建一堆 Order 对象并尝试管理链接听起来开销很大,而且感觉必须有更好的方法。

最佳答案

如果学生的排序可以通过一个或多个 NSSortDescriptors 进行描述,您可以在 Class 实体上创建一个获取属性,用于获取学生并应用排序描述符。或者,将排序描述符应用到您用来处理类(class)学生集合的 NSFetchedResultsController 可能会更容易(取决于您的用例)。

如果您无法使用 NSSortDescriptor,那么您将需要 Student 上的 index 属性(或您选择的名称) > 实体,如果只有一个排序或一组 Order 实体,描述每个 Student 的每个排序中的索引。您将负责维护这些索引值。不幸的是,在 Core Data 中没有简单的方法可以做到这一点。这只是大量的工作。

关于iphone - Core Data 中具有多多关系的排序顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4504198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com