realm throws error that object was deleted

45 Views Asked by At

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.

0

There are 0 best solutions below