バックリンク

fun <t : TypedRealmObject> 埋め込みRealmObject.バックリンク(sourceProperty : KProperty1 < T * > sourceClass : KClass < T >): embeddedBacklinksDelegate<t>

埋め込みRealmObject とTypedRealmObject間の 1 対 1 の逆関係を表すバックリンクを定義します。

バックリンク自体を直接変更することはできません。ポインティング オブジェクトで実行する必要があります。 使用例:

class Town : EmbeddedRealmObject {
val county: County by backlinks(County::towns)
}

class County : RealmObject {
val towns: RealmList<Town> = realmListOf()
}

これは、埋め込みRealmObject クラスは、バックリンクによって定義されたものとは異なるTypedRealmObjectによって参照される可能性があるためです。 このような場合、ポイント オブジェクトがT値に解決されない可能性があることを示す例外がスローされます。

Return

バックリンク コレクションの委任型。

パラメーター

t

モデルを参照するオブジェクトの型。

source プロパティ

モデルを参照するプロパティ。

スロー

バックリンクがTタイプでない場合


埋め込み RealmObjectTypedRealmObject の 2 つの間の逆の関係を表す バックリンク sDelegate を返します。

埋め込みRealmObject.backlinks の便宜的ラッパーを再化しました。


fun <t : TypedRealmObject> RealmObject.バックリンク(sourceProperty : KProperty1 < T * > sourceClass : KClass < T >): バックリンク削除<t>

2 つの Realm モデル間の逆関係を表すバックリンクのコレクションを定義します。 1 対 1 または 1 対多などの直接関係は、バックリンクによって元に戻すことができます。

バックリンク コレクションからアイテムを直接追加または削除することはできません。 コレクションは、関係が変更されると自動的に更新されます。

1 対 1 の関係のバックリンクは、 RealmObjectプロパティで作成できます。

class Town {
var county: County? = null
}

class County {
val towns: RealmResults<Town> by backlinks(Town::county)
}

1 対多の関係のバックリンクは、 RealmListRealmSet 、またはRealmDictionaryプロパティで作成できます。

class Parent : RealmObject {
var childrenList: RealmList<Child> = realmListOf()
var childrenSet: RealmSet<Child> = realmSetOf()
var childrenDictionary: RealmSet<Child?> = realmDictionaryOf() // Nullability of Child? is required by RealmDictionary
}

class Child : RealmObject {
val parentsFromList: RealmResults<Parent> by backlinks(Parent::childrenList)
val parentsFromSet: RealmResults<Parent> by backlinks(Parent::childrenSet)
val parentsFromDictionary: RealmResults<Parent> by backlinks(Parent::childrenDictionary)
}

逆関係のクエリは、 RealmResultsのクエリと同様です。 つまり、逆関係は null にすることはできませんが、空にすることができます(長さは0)。 バックリンク フィールドを含む クラス内のフィールドをクエリできます。 これはリンク クエリと同じです。

Realm リストでは重複要素が許可されているため、ターゲット プロパティが Realm リストで、同じオブジェクトへの複数の参照が含まれている場合、バックリンクには重複した参照が含まれる可能性があります。

Return

バックリンク コレクションの委任型。

パラメーター

t

モデルを参照するオブジェクトの型。

source プロパティ

モデルを参照するプロパティ。


インライン fun <t : TypedRealmObject> RealmObject.バックリンク(sourceProperty : KProperty1 < T * >): バックリンク削除<t>

2 つの Realm モデル間の逆の関係を表すバックリンクsDelegateを返します。

RealmObject.backlinksの便宜的ラッパーを再化しました。