Bitte helfen Sie mit Real-Objekte hinzufügen/aktualisieren Ich möchte Benutzerklasse speichern und aktualisieren. Die Benutzerklasse besteht aus der Clientklasse . Die Clientklasse besteht aus der Avatar-Eigenschaft und der Rooms-Liste. Problem ist, dass mir der Fehler "Der Realm befindet sich bereits in einer Schreibtransaktion" angezeigt wird, weil meine Client-Klasse-Avatara-Eigenschaft und die Rooms-Liste in verschiedenen Schließungen zur gleichen Zeit abgerufen und nach Realm verschoben werden.RealmSwift Update-Objekt in verschiedenen Threads (Schließungen)
0
A
Antwort
0
Wie Realm sagt, haben Sie einen Fehler in der Logik Ihrer App, wenn Sie versuchen, zwei Schreibtransaktionen in einem Thread zu öffnen. Ich würde Ihnen empfehlen, Ihre Logik zu überprüfen, um zu sehen, ob Sie sie schlanker gestalten können.
Aber in jedem Fall, um Ihren aktuellen Code zu beheben, wäre eine Möglichkeit, dies zu verringern, zu überprüfen, dass Sie nicht bereits in einer Schreibtransaktion sind, wenn Sie die Avatar-URL festlegen.
func getAvatarURL() {
let inWriteTransaction = realm?.isInWriteTransaction
do {
if !inWriteTransaction {
realm?.beginWrite()
}
avatarURL = avatarDelegate?.contactAvatarURL(eExtention: eExtention)
if !inWriteTransaction {
try realm.commitWrite()
}
catch let e {
print(e.localizedDescription)
}
}
Verwandte Themen
- 1. DecimalFormat.format (double) in verschiedenen Threads
- 2. iOS - RealmSwift
- 3. bedingte Schließungen in Julia
- 4. RealmSwift RLMException
- 5. Simultaner Datenzugriff von verschiedenen Threads
- 6. Mit Application.Run() auf verschiedenen Threads
- 7. GenericList Verwendung mit verschiedenen Threads
- 8. Starten einer Java-Klasse in verschiedenen Threads
- 9. NSManagedObject in verschiedenen Threads abrufen und verwenden
- 10. Javascript Schließungen in Firebug
- 11. Besitzer in groovigen Schließungen
- 12. RealmSwift - Begin/Commit schreibt
- 13. RealmSwift Installation auf Xcode
- 14. RealmSwift - Abschluss der Transaktion
- 15. RealmSwift: Kürzen build Kompilierung
- 16. RealmSwift Kontrolle Reflexion Prozess
- 17. RealmSwift Travis Bauzeit
- 18. RealmSwift mit xCode 8
- 19. falsche Art von RealmSwift
- 20. realmSwift, es funktioniert nicht
- 21. Wie zeichne Opengl Grafiken von verschiedenen Threads?
- 22. Mehrfache desselben Threads gleichzeitig mit verschiedenen Variablen
- 23. CPU-Affinitätsmasken (Putting Threads auf verschiedenen CPUs)
- 24. senden TCP-Nachrichten von zwei verschiedenen Threads
- 25. Wie verursachen Schließungen Speicherlecks?
- 26. Lua und serialisiert Schließungen
- 27. Hervorrufen Groovy Schließungen
- 28. Zuweisung und Freigabe von Speicher in verschiedenen Threads in Delphi7
- 29. Verschiedene Funktionen in verschiedenen Threads/Tasks ausführen in R
- 30. Verwendung einer Kamera in zwei verschiedenen Threads in Android