私はコア データを使用してそのオブジェクトをディスクに永続化する Mac OS アプリケーションを持っており、sqlite に支えられています。
すべての NSManagedObject サブクラスを検査できる tableView があります。これは、managedObjectContext 内のエンティティにバインドされている arrayController にバインドされています。
この arrayController のオブジェクトを使用して、tsv ファイルへのエクスポートに備えてオブジェクトを整理するために使用される別の tableView をサポートする別の arrayController を読み込みます。この tableView を使用すると、ドラッグ アンド ドロップで並べ替えたり、エントリを削除したりできますが、これは managedObjectContext には影響しません。
この 2 番目の arrayController の内容をディスクに永続化して、ドキュメントを再度開いたときに tableView が以前と同じ順序で同じオブジェクトを持つようにする最善の方法は何ですか?
これまでのところ、ドキュメントを閉じるときに設定される、セカンダリ arrayController からオブジェクトが削除された場合は nil に設定される、secondaryArrayOrder と呼ばれる属性を managedObjects に追加するだけです。これは機能しますが、アプローチする方法が間違っているようです。
編集 - その言語を使用して自分の質問に答えたので、MacRuby タグを追加しました。