我想将一个对象添加到收藏夹中。 在这种情况下,当用户按下按钮将对象添加到收藏夹时,该对象将保存到领域。然后他按下一个按钮从收藏夹中删除对象,它将被删除。之后,他按下按钮再次保存,应该再次保存。 可以吗?
当我按两次保存按钮时,它会显示
Terminating app due to uncaught exception 'RLMException', reason: 'Object has been deleted or invalidated.'
代码如下所示。
func delete() {
realm.write({
self.realm.delete(obj)
})
}
func save() {
realm.write({
self.realm.add(obj, update: false)
})
}
答案 0 :(得分:6)
(免责声明:我为Realm工作)
都能跟得上!就像在锡上说的那样,当一个对象从一个领域中删除时,你不能简单地使用相同的对象引用再次添加它。
可能有必要在那里重新思考你的逻辑。如果用户有权在他们移动删除对象后重新添加对象,那么 实际 删除它可能是个好主意,直到用户已将应用程序推进到无法返回的位置。
如果不这样做,您可以随时将信息保存在对象中,只需在用户再次按下按钮时创建一个新对象。