作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
对于最近在应用程序和扩展程序之间共享 Realm 数据感到非常兴奋。该文档详细说明了如何将默认 Realm 设置为应用程序组目录,我已经做到了。
这就是我坚持的问题 -- 将旧数据库转移到应用程序组中的新位置的最佳方法是什么?
最佳答案
根据@segiddins 的评论,我决定使用 NSFileManager 将旧数据库移动到应用程序组:
let fileManager = NSFileManager.defaultManager()
//Cache original realm path (documents directory)
let originalDefaultRealmPath = RLMRealm.defaultRealmPath()
//Generate new realm path based on app group
let appGroupURL: NSURL = fileManager.containerURLForSecurityApplicationGroupIdentifier("group.AppGroup")!
let realmPath = appGroupURL.path!.stringByAppendingPathComponent("default.realm")
//Moves the realm to the new location if it hasn't been done previously
if (fileManager.fileExistsAtPath(originalDefaultRealmPath) && !fileManager.fileExistsAtPath(realmPath)) {
var error: NSError?
fileManager.moveItemAtPath(originalDefaultRealmPath, toPath: realmPath, error: &error)
if (error != nil) {
println(error)
}
}
//Set the realm path to the new directory
RLMRealm.setDefaultRealmPath(realmPath)
关于ios - 如何将 Realm 数据库迁移到应用程序组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29996999/
我是一名优秀的程序员,十分优秀!