私は Core Data の設計に問題があります。私はそれが初めてで、まだ Apple ガイドを勉強しています。
「BOX」(属性: name、color、orderingValue) と「CD」(属性のみ: name) の 2 つのエンティティがあります。これは多対多の関係です。
私の架空の机の上には、たくさんの BOX を置くことができます。
BOXには多数のCDを収納できます。同じ CD のコピーをデスク上の異なる BOX に保管できます。
机の上で交換できるように、orderingValue 属性を使用して BOX を並べ替えます。
問題はCDです。
BOXごとにCDの順番を入れ替えられるようにしたいです。BOX の場合のように、CD エンティティに順序値属性を使用することはできません。これを「5」に設定すると、その CD は各 BOX の 5 番目の場所に配置され、これは私が望むものではないためです。
Ordered リレーションシップを使用することを考えましたが、サポートしたい iCloud とはまだ互換性がないため、このオプションを破棄しました。
標準的なデータベースでは、BOX.Id、CD.Id、orderingValue を含む 3 番目のテーブルを作成し、それを JOIN で並べ替えに使用します。
順序付けられた関係を使用せずに CoreData でこのシナリオを処理するための最良のオプションは何ですか?
ありがとう
ニコラ
更新: codeghost のアドバイスに従いました。問題なく動作します。