我有一个Mac OS应用程序,它使用核心数据将其对象保存到磁盘,由sqlite支持。在可可中坚持数组控制器的内容和顺序
我有一个tableView可以检查所有的NSManagedObject子类。这绑定到绑定到managedObjectContext中的实体的arrayController。
使用这个arrayController中的对象,我加载另一个arrayController,它支持另一个tableView,它用于组织对象以准备导出到tsv文件。这个tableView允许拖放以重新排序和删除条目 - 但这些都不会影响managedObjectContext。
将第二个arrayController的内容保存到磁盘的最佳方法是什么,以便当文档重新打开时,tableView具有与以前相同的顺序的相同对象?
到目前为止,我设法调制的所有东西都是在关闭文档时设置的名为secondaryArrayOrder的managedObjects中添加属性,或者如果从次级arrayController中删除对象,则设置为nil。虽然这会起作用,但它似乎是错误的方法。
编辑 - 添加MacRuby标签,因为我现在用这种语言回答了我自己的问题。
检查在答复diablosnuevos HTTP ://stackoverflow.com/questions/1077568/how-to-implement-re-ordering-of-coredata-records。它看起来很简单。你也可以尝试其他的答案。发布问题前,您可以搜索相关问题。 – Rakesh 2013-02-28 14:59:30
谢谢Rakesh。但是,在我的问题的最后一段中,我特别说过,我不想将订单字段添加到我的对象中。他们为什么要关心他们的秩序? – ryecroft 2013-02-28 19:26:07
但即使在你的回答中,你所做的或多或少都是一样的。不是将其添加到托管对象,而是使用objectId创建一个plist。 – Rakesh 2013-03-01 02:22:39