我需要将一些数据存储在CoreData实体中。我是否可以在CoreData中预先存储数据,这是在分发时继承的。或者,如果我需要在加载时运行某些东西来检查实体中是否有任何内容,并将这些行添加到其中,如果没有。 (此数据不是用户可以更改的内容。它们是预设数据点,只有在我发布新版本时才会更改)。
我不知道如何实现这一目标。任何建议将不胜感激。
感谢。
答案 0 :(得分:0)
解决方案是创建.plist文件。并且,在第一次启动时(有不同的方法来执行此操作:使用NSUserDefaults,或检查CoreData DataBase中的内容...),将该.plist文件中的数据设置为CoreData DataBase ......
答案 1 :(得分:0)
如果它们是仅随新版本更改的预设,则您需要检测先前版本的现有数据库并使用迁移技术。当您在启动时打开数据库时,您的代码将检查返回的错误代码,如果它不是当前版本,请重新创建数据库,更新预设字段,然后重新创建用户数据(假设有一些? )
至于预置集本身的存储,可以是plist或硬编码,尽管plist是优选的。
和一个很棒的教程:
http://www.raywenderlich.com/27657/how-to-perform-a-lightweight-core-data-migration