我有一个带核心数据的iPhone应用程序。在用户从app store下载应用程序之前,我预先填充了一个名为DefaultValues的实体,然后他将自己的数据添加到其他实体。 DefaultValues永远不会改变。现在,我想从我的DefaultValues实体修改一些数据并向其添加一些新数据(实体模式没有变化)。我该怎么办?
当然,我在问这个问题之前在网上做了一些研究。我在这里找到了一些链接 Link 1:
但这个问题没有具体的答案。
我是否必须执行核心数据版本控制和数据迁移?或者我应该如何更改DefaultValues实体而不删除用户数据???
由于
答案 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"];
同样,你可以存储字符串,数字和其他一些东西。