领域-删除对象后可以保存对象吗?

use*_*917 3 realm ios swift

我想将一个对象添加到收藏夹。在这种情况下,当用户按下按钮将对象添加到收藏夹时,该对象将保存到领域。然后他按一个按钮从收藏夹中删除该对象,它将被删除。之后,他按下按钮再次保存,应该再次保存。是可用的么?

当我按两次保存按钮时,它说

Terminating app due to uncaught exception 'RLMException', reason: 'Object has been deleted or invalidated.'
Run Code Online (Sandbox Code Playgroud)

代码如下。

func delete() {
realm.write({
    self.realm.delete(obj)
})
}
func save() {
    realm.write({
        self.realm.add(obj, update: false)
    })
}
Run Code Online (Sandbox Code Playgroud)

TiM*_*TiM 6

(免责声明:我为Realm工作)

不!就像在罐子上说的那样,从Realm中删除对象后,您不能简单地使用相同的对象引用来再次添加它。

可能需要重新考虑您的逻辑。如果用户在移动删除对象后有机会重新添加对象,那么最好不要实际删除它,直到用户将应用程序进行到无法返回的地步为止。 。

失败的话,您总是可以只将信息保存在对象中,并在用户再次按下按钮时简单地创建一个新对象。