Realm Swift:备份后数据库不会更新

时间:2016-10-29 04:48:37

标签: ios swift database orm realm

我的Swift应用程序中有以下工作流程,它附带了一个领域数据库:

当用户安装应用时:

  1. 我将应用包中的域文件复制到Documents文件夹中,如下所示:https://realm.io/docs/swift/latest/#bundling-a-realm-with-an-app
  2. 用户在使用应用程序时更改数据库内的数据
  3. 当用户安装新版本的应用程序(更新它)并且我们在发布的领域文件中更改了一些内容(没有架构更改)时:

    1. 我从Documents文件夹中的realm文件中的realm文件中读取数据以进行备份
    2. 我删除了这个领域文件,所有辅助文件以及对RealmResults个实例的每次引用
    3. 我将发布的realm文件从Bundle复制到Documents文件夹
    4. 我将备份数据(在步骤1中读取)写回Documents文件夹中新创建的领域文件。
    5. 现在的问题是,步骤4中写入的备份数据不会保留在领域中。

      我的问题:我的整个方法有问题吗?我想念一下吗?

      如果您需要更多详细信息,我很乐意提供任何步骤的代码(只是不想发布整个代码,而且需要很长时间)。

1 个答案:

答案 0 :(得分:0)

问题在于,即使我删除了域,该域仍然被缓存。

原来我必须在Realm块内释放对Resultsautoreleasepool的所有引用。这解决了它。