最近、SwiftのRealmを学習しています。データモデル間の潜在的な通知に関する設計上の問題が発生しました。誰かがある程度の洞察を払うつもりなら、大いに感謝します。SwiftのRealmクエリーの相互参照述語
// Class A is what users mainly interact with
Class A: Object {
dynamic var propertyA = ""
dynamic var propertyB = ""
dynamic var propertyC = ""
override static func primaryKey() -> String? {
return "propertyA"
}
}
// Class B is what the server interacts with, like data feeding
Class B: Object {
dynamic var propertyA = ""
dynamic var propertyX = ""
dynamic var propertyY = ""
dynamic var propertyZ = ""
override static func primaryKey() -> String? {
return "propertyA"
}
}
Iはコントローラ内部Object A
の通知ブロックを設定しています。したがって、変更がresultObjectsA
で発生するたびに、通知ブロックがトリガーされます。私が構築していますアプリで
let resultObjectsA = realm.objects(A).filter('predicate1')
let notificationTokenA = resultObjectsA.addNotificationBlock {
...
}
、ユーザーがObject A
のセットを選択することができ、そしてアプリは、サーバから選択セットの状態を照会します。返品結果はObject B
に保存されます。今、私はObject B
のクエリ/述語を記述する必要があります。
let resultObjectsB = realm.objects(B).filter('predicate2')
propertyA
resultObjectB
のエントリは一対一のマッピングと同様に、propertyA
resultObjectsA
のエントリで見つけることができるようになっています。
このような述語が実行可能かどうかはわかりません。私がここでやりたいことを達成するための他の方法があれば、私も学びたいと思っています。すべてを照会する