2017-04-13 11 views
1

私は現在、検索を容易にするためにレルムオブジェクトを設計する最良の方法を工夫しています。レルム多対多スウィフト逆関係

私は2つのオブジェクトtagsobjectを持っています。複数のtagsがあり、それぞれに多くのobjectが含まれている可能性があります。同様に、各objectは、それに関連付けられた複数のtagを持つことができ

理想的には、少なくとも1個のタグを持っている(ただし、明らかに複数持つことができる)すべてobject

が私のモデルは

として指定されますを取得しなければならない単一のタグを選択します
class Tag: Object { 
     let objects = List<Object>() 
    } 

    class Object { 
     let tags = List<Tag>() 
    } 

ここで逆の関係を使用する必要はないと思いますか?カテゴリの選択私はすべてのオブジェクト参照のリストを取得しても関係なく、オブジェクトへの参照を更新したり更新したりするのは難しいでしょうか?すなわち、ユーザはタグ「A」を選択し、タグ「B」を含むように第1オブジェクトを更新する。タグAのリスト内のオブジェクトを更新し、タグ「B」のリストに新しい項目を追加し、タグのリストにタグ 'B'を含む実際のObject自体

オブジェクトが表示され、そのオブジェクトの編集が許可されるのは、Tagオブジェクトだけです。しかし、タグオブジェクト自体には、Objectが適用できるものを知る必要があります。

しかし、私は理想的に私はこの努力を最小限に抑えたいときに私は複数の更新を行う必要がありますように感じる。誰もがこれを行うために良い方法をお勧めしますか?または、Realmの限界のためにこれを回避する方法はありませんか?

答えて

2

これはまさにLinkingObjectsが対象です。 Tagobjectsプロパティをlet objects = LinkingObjects(fromType: Object.self, property: "tags")に変更すると、タグがオブジェクトに追加されるたびに自動的に更新されます。

+0

ありがとう、申し訳ありませんが、私は受け入れるのにとても時間がかかりました。私はこれをテストするための単体テストを書いていましたが、領域オブジェクトの節約などの単体テストはそれほど簡単ではありませんでした! – TommyBs