我在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)
答案 0 :(得分:10)
我刚遇到同样的问题,我的解决方案就是关闭Realm浏览器,如果你打开它。
干杯!