So habe ich in letzter Zeit gelernt Realm in Swift und ich stolpere mit einem Design-Problem in Bezug auf eine mögliche Benachrichtigung zwischen Datenmodellen. Es wäre sehr zu begrüßen, wenn jemand bereit ist, Einblick zu gewähren.Querverweis Prädikat für Realm-Abfragen in Swift
// 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"
}
}
Ich habe eine Benachrichtigungsblock für Object A
in der Steuerung eingestellt. Wenn also Änderungen in resultObjectsA
stattfinden, wird der Benachrichtigungsblock ausgelöst.
let resultObjectsA = realm.objects(A).filter('predicate1')
let notificationTokenA = resultObjectsA.addNotificationBlock {
...
}
In der App, die ich baue, kann der Benutzer einen Satz von Object A
wählen, und die App wird den Status der vom Server eingestellten Auswahl abfragen. Die Ergebnisse werden in Object B
gespeichert/dargestellt. Nun, ich brauche eine Abfrage/Prädikat für Object B
schreiben:
let resultObjectsB = realm.objects(B).filter('predicate2')
so dass propertyA
in resultObjectB
Einträge können in propertyA
in resultObjectsA
Einträge gefunden werden, wie eine Eins-zu-Eins-Abbildung.
Ich bin nicht sicher, ob ein solches Prädikat machbar ist. Wenn es andere Wege gibt, um das zu erreichen, was ich hier tun möchte, möchte ich auch mehr lernen.