2016-08-25 6 views
1

異なるクラスタイプ(ただし、すべてがスーパークラスObject)からなる汎用レルムリストを作成したいと思います。 parentsプロパティが正しく判定されていることを保証することができる方法レルムのジェネリックリストから逆の関係を取得する

- Property ‘Parent.children’ declared as origin of linking objects property ‘Child1.parents’ links to a different class. 
- Target type 'RealmSwiftObject' doesn't exist for property ‘children’. 

Parentオブジェクト正常に動作しChild1Child2のインスタンスをリンク

class Parent: Object {  
    var children = List<Object>() 
} 

class Child1: Object { 
let parents = LinkingObjects(fromType: Parent.self, property: "children") 
} 

class Child2: Object { 
let parents = LinkingObjects(fromType: Parent.self, property: "children") 
} 

は、しかし、逆の関係は、次のエラーを与えますか?それが属しているクラスタイプ(すなわち、Child1またはChild2)に対してフィルタリングする必要があると思いますが、その方法はわかりません。

答えて

0

私が気づいていない回避策がない限り、Listには異なる種類を保存することはできません。

Listは、1つのタイプの他のものを含み、非常によく似たインターフェイスを持っています(Array)。 (https://realm.io/docs/swift/latest/#to-many-relationships

+0

これは正しいです。レルムは一般に型多型をサポートしていません。詳細と回避策については、https://realm.io/docs/swift/latest/#model-inheritanceを参照してください。 – jpsim

+0

私はドキュメントでこれを見落としましたが、私は回避策を見つけようとします。 – Taco

関連する問題