核心数据:如何在不删除用户数据的情况下迁移核心数据

时间:2011-03-02 16:55:22

标签: iphone core-data

我有一个带核心数据的iPhone应用程序。在用户从app store下载应用程序之前,我预先填充了一个名为DefaultValues的实体,然后他将自己的数据添加到其他实体。 DefaultValues永远不会改变。现在,我想从我的DefaultValues实体修改一些数据并向其添加一些新数据(实体模式没有变化)。我该怎么办?

当然,我在问这个问题之前在网上做了一些研究。我在这里找到了一些链接 Link 1:

Link 2

但这个问题没有具体的答案。

我是否必须执行核心数据版本控制和数据迁移?或者我应该如何更改DefaultValues实体而不删除用户数据???

由于

1 个答案:

答案 0 :(得分:0)

对于实际迁移,请搜索“轻量级迁移”。有一些关于它的Apple文档,还有一个主题here

但是,您说您使用Core Data存储默认值。您可能不应该使用核心数据,而是使用NSUserDefaults

使用此代码设置设置的默认值:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setBool:YES forKey:@"SomeSetting"];

您可以稍后获取SomeSetting的值,如下所示:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
BOOL currentSetting = [defautls boolForKey:@"SomeSetting"];

同样,你可以存储字符串,数字和其他一些东西。