我有一个 Mac OS 应用程序,它使用核心数据将其对象持久保存到磁盘,由 sqlite 支持。
我有一个 tableView 可以检查所有 NSManagedObject 子类。这绑定到一个 arrayController,该 arrayController 绑定到 managedObjectContext 中的一个实体。
使用这个 arrayController 中的对象,我加载了另一个 arrayController,它支持另一个 tableView,该 tableView 用于组织对象以准备导出到 tsv 文件。此 tableView 允许拖放以重新排序和删除条目 - 但这些都不会影响 managedObjectContext。
将第二个 arrayController 的内容持久保存到磁盘的最佳方法是什么,以便在重新打开文档时 tableView 具有与以前相同的顺序相同的对象?
到目前为止,我设法编写的只是向 managedObjects 添加一个名为secondaryArrayOrder 的属性,该属性在关闭文档时设置,或者如果从辅助arrayController 中删除对象,则设置为nil。虽然这会起作用,但似乎是错误的处理方法。
编辑 - 添加了 MacRuby 标签,因为我现在已经使用该语言回答了我自己的问题。