第一次加载应用程序时将数据添加到Core Data实体?

时间:2013-05-17 13:31:19

标签: ios core-data

我需要将一些数据存储在CoreData实体中。我是否可以在CoreData中预先存储数据,这是在分发时继承的。或者,如果我需要在加载时运行某些东西来检查实体中是否有任何内容,并将这些行添加到其中,如果没有。 (此数据不是用户可以更改的内容。它们是预设数据点,只有在我发布新版本时才会更改)。

我不知道如何实现这一目标。任何建议将不胜感激。

感谢。

2 个答案:

答案 0 :(得分:0)

解决方案是创建.plist文件。并且,在第一次启动时(有不同的方法来执行此操作:使用NSUserDefaults,或检查CoreData DataBase中的内容...),将该.plist文件中的数据设置为CoreData DataBase ......

答案 1 :(得分:0)

如果它们是仅随新版本更改的预设,则您需要检测先前版本的现有数据库并使用迁移技术。当您在启动时打开数据库时,您的代码将检查返回的错误代码,如果它不是当前版本,请重新创建数据库,更新预设字段,然后重新创建用户数据(假设有一些? )

至于预置集本身的存储,可以是plist或硬编码,尽管plist是优选的。

http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/CoreDataVersioning/Articles/Introduction.html

和一个很棒的教程:

http://www.raywenderlich.com/27657/how-to-perform-a-lightweight-core-data-migration