ios - Realm - 我可以在删除对象后保存对象吗?

标签 ios swift realm

我想将对象添加到收藏夹。 在这种情况下,当用户按下按钮将对象添加到收藏夹时,该对象将保存到 Realm 。然后他按下按钮从收藏夹中删除该对象,该对象将被删除。随后,他又按下了保存按钮,应该是又保存了。 可用吗?

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

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)
    })
}

最佳答案

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

不!正如它所说的那样,当一个对象已从 Realm 中删除时,您不能简单地使用相同的对象引用来再次添加它。

可能有必要重新考虑您的逻辑。如果用户在删除对象后有机会重新添加对象,最好实际上删除它,直到用户已将应用程序推进到无法返回的地步。

否则,您始终可以只将信息保存在对象中,并在用户再次按下按钮时简单地创建一个新对象。

关于ios - Realm - 我可以在删除对象后保存对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32308842/

相关文章:

mysql - 您可以将 PARSE 与 MySQL 数据库(Joomla 网站)一起使用吗?

IOS,如何创建一个像这样的中心选项卡式可滚动 TableView

ios - UINavigationController:确定后退按钮是否被按下或 popViewController 动画

iOS: Realm 文件的大小呈指数级增长超过 GB

ios - 如果使用自动释放池来控制对 Realm 的引用,在离开池之前调用 realm.invalidate 是一种好习惯吗

ios - 捕获 iBeacon 消息供以后使用

iphone - 将核心数据用于 iPhone 应用程序有什么值(value)吗?

ios - OpenGL ES 2.0 - 绘制线条(绘图)中的内存管理

ios - Swift:应用程序因未捕获的异常 'NSUnknownKeyException' 而终止

swift - 具有不同 TableView 部分的 Realm 过滤器字符串