在iOS上重新初始化swift Realm DB的正确方法?

时间:2016-08-05 21:18:30

标签: ios swift realm

我需要在iOS应用程序的注销中重新初始化本地Realm DB,如下所示:

https://realm.io/docs/swift/latest/#deleting-realm-files

我们在iOS上使用swift。

首先,片段似乎已过时,因为日志文件的位置现在位于'default.realm.management'下。

但最重要的是,在删除Realm文件后,如果我尝试在没有重新启动应用程序的情况下访问领域API,我会收到EXC_BAD_ACCESS。

应用程序在重新启动时正常工作。

1 个答案:

答案 0 :(得分:0)

在磁盘上删除Realm文件并继续使用Realm并不是Realm支持的,如果有的话。领域及其支持对象和资源可能尚未被初始化和清理,即使在应用程序看起来好像所有对旧领域的引用已经超出范围的时候,这可能会导致问题。

处理注销情况的推荐方法是停止使用旧Realm并记下删除它(可能在NSUserDefaults或单独的管理域中)。在随后的应用程序启动时(但在打开任何领域之前 ),您的应用程序将查看是否有任何标记为删除的领域,然后从磁盘中删除其数据库和支持文件。