在Swift

时间:2017-02-07 20:56:18

标签: swift realm

我在didFinishLaunchingWithOptions内执行了以下操作:

let config = Realm.Configuration(
  schemaVersion: 0,
  deleteRealmIfMigrationNeeded: true
)
Realm.Configuration.defaultConfiguration = config

let realm = try! Realm()

基本上,在开发过程中,我不想担心迁移,只是想在架构发生变化时清除数据库。我的理解是deleteRealmIfMigrationNeeded正好是什么。

问题是,在尝试使用以下错误初始化Realm时,它有时会崩溃:

  

致命错误:'尝试!'表达式意外地引发了错误:错误Domain = io.realm Code = 5"目录在路径' / Users / rock / Library / Developer / CoreSimulator / Devices / D626848E-14D5-47AC-8FFB-9B67D024DEF1 / data /Containers/Data/Application/6F71103C-9E10-4131-BED4-D96445FABA52/Documents/default.realm'不存在。"

default.realm文件被删除了,大概是因为deleteRealmIfMigrationNeeded,但是当用最后一行初始化Realm时,它不会被重新创建(正如我所期望的那样)。

有趣的是,如果我手动删除default.realm.lock然后重新启动应用,它就可以正常工作。

我这样做错了吗?这可能是个错误吗? (我使用的是Realm Swift 2.4.1)

1 个答案:

答案 0 :(得分:10)

我刚遇到同样的问题,我的解决方案就是关闭Realm浏览器,如果你打开它。

干杯!