在寻找将有序多对多关系添加到我的核心数据模型的方法时,我对模型进行了尽可能少的更改,我注意到了ordered
的多对多关系选项(见下面的截图)。哇,听起来不错,但它做了什么?
当我检查或取消选中它时,我的SQLite商店没有抱怨,我的应用程序仍然可以编译并运行正常。我想也许轻量级迁移可以处理更改,但从它的外观来看,我所有的自定义NSManagedObject
子类都可以工作而不需要修改,所以发生了什么?
总结问题:
ordered
标志是否应该将多对多关系的数据类型从NSSet
更改为NSArray
? 非常感谢!
答案 0 :(得分:11)
有序关系允许您为相关对象分配任意顺序。您可以将此视为从最喜欢的到最不喜欢的颜色排序,而不是按日期,标题等排序。
在添加此功能之前,通过创建位置属性来实现排序,然后在用户重新排序时手动更新项目的位置索引。如果您有大量项目,则使用内置订购可能比手动实施此项目更昂贵,如上所述。