将已删除的对象添加回领域失败 swift

Adding a deleted object back to realm fails swift

我向领域添加了一个对象并且能够删除该对象,但是如果我尝试再次读取该对象,我会收到此错误

Terminating app due to uncaught exception 'RLMException', reason: 'Attempting to create an object of type 'PropertyImage' with an existing primary key value '3'.

key 3 的项目被删除,当我查看 realmDB 时,key 3 的项目不存在。我该如何解决这个问题。

下面是我如何添加到我的数据库以及如何删除

func delete<T: Object>(_ object: T, title: String) where T: Codable {
        do {
            let predicate = NSPredicate(format: "title=%@", title)
            guard let toRemove = realm?.objects(T.self).filter(predicate) else { return}
            try realm?.write {
                realm?.delete(toRemove)
            }
        } catch {
        }
    }

    func create<T: Object>(_ objects: [T]) where T: Codable {
        do {
            try realm?.write {
                realm?.add(objects)
            }
        } catch {
            print(error.localizedDescription)
        }
    }

添加是这样完成的

var property: FeaturedProperties? RealmManager.instance.create(property)

删除是

RealmManager.instance.delete(property, title: property.title!)

如果你的创建很乱,那么这样做可以避免插入相同的主键

do { 
    // property to be saved 
    let predicate = NSPredicate(format: "primaryProperty=%d",property.primaryProperty)
    guard let arr = realm?.objects(T.self).filter(predicate) , arr.isEmpty else { print("exists") ; return }    
    // call create here 
} catch {
      print(error)
}

其中 primaryProperty 是模型中的主要值