Мне нужно сделать резервную копию базы данных realm.io по умолчанию и восстановить ее из Dropbox. Я использую Dropbox-iOS-SDK для загрузки и скачивания. Когда я попытался заменить текущий файл базы данных (например, default.realm) резервной копией, RLMRealm был в кеше, и я не могу очистить этот кеш, поэтому я не могу создать новый экземпляр базы данных.
Могу ли я перезагрузить объект RLMRealm?
Вот код:
func reloadDB(fromPath: String) {
let defaultParentPath = RLMRealm.defaultRealmPath().stringByDeletingLastPathComponent
let dbPath = defaultParentPath.stringByAppendingPathComponent("db.realm")
let dbLockPath = defaultParentPath.stringByAppendingPathComponent("db.realm.lock")
NSFileManager.defaultManager().removeItemAtPath(dbPath, error: nil)
NSFileManager.defaultManager().removeItemAtPath(dbLockPath, error: nil)
NSFileManager.defaultManager().copyItemAtPath(fromPath, toPath: dbPath, error: nil)
self.db = RLMRealm(path: dbPath, readOnly: false, error: nil)
NSFileManager.defaultManager().removeItemAtPath(fromPath, error: nil)
}
Как лучше всего сделать резервную копию базы данных Realm.io?