Swift Realm,以正确的方式加载预先填充的数据库?

Swift Realm,以正确的方式加载预先填充的数据库?,第1张

概述我对ios开发很新. 我按照这个migration example来使用预先填充数据库并稍微更改代码 这是我在AppDelegate上使用的最终代码 – >功能应用程序 let defaultPath = Realm.Configuration.defaultConfiguration.path! let path = NSBundle.mainBundle().pathForResou 我对ios开发很新.

我按照这个migration example来使用预先填充的数据库并稍微更改代码

这是我在AppDelegate上使用的最终代码 – >功能应用程序

let defaultPath = Realm.Configuration.defaultConfiguration.path!    let path = NSBundle.mainBundle().pathForResource("default",ofType: "realm")    if let bundledpath = path {        print("use pre-populated database")        do {            try NSfileManager.defaultManager().removeItemAtPath(defaultPath)            try NSfileManager.defaultManager().copyItemAtPath(bundledpath,topath: defaultPath)        } catch {            print("remove")            print(error)        }    }

我在一个真实的设备中测试它.

它可以工作,但根据代码逻辑,它将始终重置为预先填充的数据库.这已经过验证:应用程序重启后数据会重置.

我尝试了moveItemAtPath而不是copyItemAtPath.权限错误

我试图在复制后删除预先填充的数据库文件.权限错误

我尝试使用预先填充的数据库文件作为领域默认配置路径.也发生错误.

是的,你的逻辑是正确的.每次执行此代码时,documents目录中的默认Realm文件都将被删除,并替换为app bundle附带的静态副本.这是通过Realm示例代码中的设计完成的,以便在每次启动应用程序时演示迁移过程.

如果您只希望这种情况发生一次,最简单的方法是事先检查Realm文件是否已存在于默认路径中,然后仅在尚未存在时才执行复制. 总结

以上是内存溢出为你收集整理的Swift Realm,以正确的方式加载预先填充的数据库?全部内容,希望文章能够帮你解决Swift Realm,以正确的方式加载预先填充的数据库?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1051301.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存