首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Coredata中预加载数据的最佳实践

在Coredata中预加载数据的最佳实践
EN

Stack Overflow用户
提问于 2012-01-11 15:34:41
回答 2查看 469关注 0票数 0

可能重复:

Way to Prepopulate Core Data with Certain Data

我需要一个建议:我开始开发一个应用程序来收集费用记录(coredata后端)。我需要部署带有三个预加载实体(类型、项和类别)的应用程序,其关系如下:

"Record <-->Type“"Record <-->Item”"Record <-->Category

我计划在记录实体中插入/添加一个假对象,只是为了尊重类型、项和类别之间的记录关系;关系是可选的。

从长远来看,哪一种方式是最好的方式来装载这些清单及其关系?我读过几种方法,所以有点困惑。

a)预先填充的数据库

( b)解析xml /csv

( c)在didFinishLaunchingWithOptionsviewDidLoad中插入新对象

这三个列表都是在应用程序生命周期中加载一次;但是,该应用程序可能需要每3-6个月更新一次。Item有200个记录,Type有3个记录,Category有30个记录;都是纯文本。

我使用的是XCode4.2 Bulid4C199。非常感谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2012-01-11 15:41:15

我通常使用一个版本数据库,其中包含生成最新版本的代码。它将插入或更新记录和列等,支持对最新版本的任何先前版本的更新。

代码语言:javascript
运行
复制
if (noversiontable) {
    create tables;
    create defaults;
    set version to 1;
} else {
    get version;
}
if (version == 1) {
   updates to version 2;
   set version to 2;
}
if (version == 2) {
   updates to version 3;
   set version to 3;
}
saveVersion;

有时我只是在添加列,有时我只是删除它们,甚至更改数据类型,并进行某种处理。例如,我可能有一个地址字段,并决定以后添加地理编码。版本更新将包括处理现有记录并运行它们的地理代码。

票数 2
EN

Stack Overflow用户

发布于 2012-01-11 15:45:34

虽然预先填充的数据库通常是最简单的,但您说您需要偶尔更新数据,这使我相信,与Matt版本控制建议实现的选项c一起使用导入机制(您的选项b)是值得的。为此,我更喜欢JSON而不是xml或csv。使用KVC将每个产生的字典复制到一个核心数据对象中是相当容易的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8821991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档