2016-07-14 14 views
0

レルムオブジェクトは2つあります。 IdPairとIdPairScoreです。 IdPairは、私が持っている特定のクラスを識別するために使用される2つの文字列識別子を持つ単純なクラスです。レルムオブジェクトのレルムオブジェクトです。

IdPairScoreには、次のようなスコアを識別するために、整数スコアとIdPairがあります。アプリを起動すると

class IdPairScore: Object { 
    var id:IdPair? 
    var totalRight:Int = 0 
} 

は、私は次のコード行で保存されたIdPairのすべてを取得:

let pairs = realm.objects(IdPair) 

問題は、これがIdPairScoreのの子として保存IdPairsを拾うことです。たとえば、IdPairScoreを1つ保存してから、上記のコード行を「ペア」にすると、1つの値になります。

「IdPair」を個別に保存すると、は上記の行で検索してしまうことが予想されました。 "IdPairScore"のプロパティとして保存すると、NOT上記のコード行で取得できます。ありがとう。

答えて

1

これは意図した動作です。他のタイプのオブジェクトの子オブジェクトとしてRealmオブジェクトを追加しても、そのオブジェクトに排他的にはなりません。これは他のオブジェクトと同様にレルムに追加され、そのオブジェクトとリンクオブジェクトとの関係が確立されます。

あなたはオブジェクトが現在他のオブジェクトに属しているかどうかを判断するためのメカニズムが必要な場合は、レルムのinverse relationships機能を使用することができます

class IdPair: Object { 
    var parentScores = LinkingObjects(fromType: IdPairScore.self, property: "id") 
} 

あなたは簡単にドン」ものだけをフィルタリングするクエリでこれらのプロパティを使用することができます親オブジェクトがあります。

関連する問題