Ich möchte ein RealmObject
von seinem Realm
zu „lösen“, was bedeutet, dass ich möchte ein RealmObject
von einer Methode zurückgeben zu können und in der Lage, es zu benutzen, nachdem ich die close
Realm
Instanz.Detach RealmObject von Realm/Managed Convert RealmObject auf nicht verwalteten Objekt
Etwas wie folgt aus:
public Person getPersonWithId(final Context context, final String personId){
Realm realm = Realm.getInstance(context);
Person person = realm.where.....;
realm.close();
return person;
}
Derzeit getPersonWithId(mContext, personId).getName()
einen Fehler zurück, wie erwartet.
Wenn Sie ein verwaltetes Objekt haben, bedeutet dies auch, dass das Objekt unveränderlich ist (kann nicht geändert werden). Daher schlägt jede Methode zur Aktualisierung des Objekts wie person.setName(String name)
fehl, da das Objekt ein verwaltetes Objekt ist.
Ich wünschte, es wäre eine Methode, wie Person person = person.detachFromRealm();
sein
jemand eine Lösung/Abhilfe für dieses Problem Kennt?
Dies ist keine Antwort, sondern ein zusätzliches Detail für Ihre Frage zu konvertieren. Würden Sie bitte Ihre Frage bearbeiten, um dies zu berücksichtigen, und dann diese "Antwort" entfernen? Vielen Dank! – 323go
Ich denke jedoch, dass dies eine gültige Antwort ist, da er die Frage beantwortet "Kennt jemand eine Lösung/Workaround für dieses Problem?". Er stellt eine mögliche Problemumgehung vor und bietet einen Kontext über das Projekt mit einer Feature-Anforderung zu diesem Thema. – Thermometer
Können Sie dies bitte als akzeptierte Antwort entfernen, wurde die Feature-Anfrage implementiert: https://github.com/realm/realm-java/pull/1849 –