I need to delete object from realm. But when I do that, it throws an error:
Terminating app due to uncaught exception 'RLMException', reason: 'Object has been deleted or invalidated.'
Here is my code:
if let character = character {
DispatchQueue.main.async {
if !character.isInvalidated { // Check if the object is still valid
try? self.realm.write {
self.realm.delete(character)
}
} else {
print("Object has already been deleted or invalidated.")
}
self.leaveThisPage()
}
}
I tried to use isInvalidated to check if it is already deleted, so it works first two times, and then throws error. I also tried to use
if let character = realm.object(ofType: MyCharacterObjectModel.self, forPrimaryKey: characterID) {
}
but the same effect.