Coredata 性能——为只读数据集提供预填充的核心数据 sqlite db
Posted
技术标签:
【中文标题】Coredata 性能——为只读数据集提供预填充的核心数据 sqlite db【英文标题】:Coredata performance -- shipping prepopulated core data sqlite db for readonly data set 【发布时间】:2012-04-26 08:42:51 【问题描述】:我正在考虑创建一个预填充核心数据 sqlite 文件并复制到我的资源中。并使用它而不是在第一次运行时从头开始创建数据库。
我的数据是只读的,不会被iphone app修改。
数据库可能会每月更新一次。那么对于更新我可以通过http请求获取更新的coredata sqlite db并丢弃前一个并开始使用更新的数据库。 这种方法还可以为我省去迁移和其他事情的麻烦
如果这种方法看起来不错,请提出建议
【问题讨论】:
【参考方案1】:是的,你的想法似乎没问题,但有一个问题。
主应用程序包中的文件是只读的,因此您无法更新 sqlite 文件。
您可以做的是,当您创建 coredata 存储文件时,检查该文件是否在文档目录中。如果不存在,则从那里复制捆绑包中的文件,然后创建托管存储。
【讨论】:
以上是关于Coredata 性能——为只读数据集提供预填充的核心数据 sqlite db的主要内容,如果未能解决你的问题,请参考以下文章
在 EditView 中使用 CoreData 中的值预填充 SwiftUI 表单