【发布时间】:2016-09-04 20:39:32
【问题描述】:
我正在关注有关迁移和将领域与应用捆绑在一起的领域文档。
我正在使用以下代码将捆绑的 Realm 复制为默认 Realm。效果很好。
let initialURL = NSBundle.mainBundle().URLForResource("bootstrap_v001", withExtension: "realm")!
let defaultURL = Realm.Configuration.defaultConfiguration.fileURL!
if Realm.Configuration.defaultConfiguration.schemaVersion == 0 {
do {
try NSFileManager.defaultManager().removeItemAtURL(defaultURL)
try NSFileManager.defaultManager().copyItemAtURL(initialURL, toURL: defaultURL)
} catch {
// Handle error here
print("realm delete copy error!!")
}
}
这一切正常,我可以看到其中包含数据的正确 Realm 文件。但是,如果我使用领域 = 试试! Realm(),它返回的结果总是空的。
需要注意的是,我在 AppDelegate.swift 的顶部有如下声明
import UIKit
import RealmSwift
let uiRealm = try! Realm()
我不确定这个 uiRealm 的初始全局声明是否会导致问题。我也尝试过声明本地版本,但这似乎无法解决问题。
应该注意的是,如果我在 Realm 文件已经就位时重新运行应用程序,一切都很好。
【问题讨论】:
标签: ios swift swift2 realm realm-migration