Ist es möglich, die Beziehungen eines Realm-Objekts zu aktualisieren, indem nur die IDs der Beziehungen übergeben werden?Realm-Beziehung mit primären IDs aktualisieren
Wenn ich eine Library
Klasse, die eine List<Books>
Beziehung hat und ich wollte zwei Libraries
zusammen fusionieren, würde ich das wie getan werden, vermuten könnte:
let bookIds = (firstLibrary.books.toArray() + secondLibrary.books.toArray).map { $0.id }
Dann benutze ich ObjectMapper & SugarRecord:
let changes = ["books": bookIds]
Mapper<T>().map(changes, toObject: secondLibrary)
let realm = self.realm
realm.add(secondLibrary, update: true)
Aber die Liste der Bücher wird nicht aktualisiert. Ich nehme an, das liegt daran, dass ObjectMapper nichts über primäre IDs weiß und daher versucht, sie in ein Objekt abzubilden, tut nichts.
Kann Realm über die primäre ID aktualisieren? Wenn ja, würde ich gerne meinen Persistenz-Stack umschreiben.
Der Code, den Sie gepostet haben, ist etwas unklar. Ihr zweites Snippet scheint sich überhaupt nicht auf die Objekt-IDs zu beziehen und verweist auf eine Anzahl verschiedener Variablen, deren Typen aus dem Kontext nicht offensichtlich sind. Können Sie näher erläutern, wie Ihre Modelle aussehen und was Sie damit machen? – bdash