我知道我可以将Pre-Populated SQLite文件设置为CoreData持久文件。但是当我更新我的应用程序版本,并且需要更新预填充数据时,我想知道是否还有其他方法可以做到这一点,除了在新版本启动后通过代码CRUD新的预先填充数据。
答案 0 :(得分:0)
您可以选择预先填充的sqlite文件作为persistentStoreCoordinator中的源文件,但请记住,如果更新de数据,用户生成的内容将丢失...
答案 1 :(得分:0)
在我的一个项目中,我也遇到过类似的问题。我的方法是。
在Core Data中创建2个配置。一个用于静态数据,另一个用于动态数据。
在配置persistantCordinator时,设置两个单独的SQLite文件,对应CoreData配置。
除了在persistantCordinator级别设置两个单独的DB之外,没有提取编码工作。其他所有内容都将由CoreData管理。阅读,写作等。
对于静态数据库,请保留您自己的DATABASE版本。当您的静态数据更改时,此数据库版本会增加,并且在App启动时会检查具有此新版本的现有数据库版本。如果新版本更大,则复制并替换现有的静态数据库。
通过这种方法,您可以获得以下好处。
您不会丢失动态数据。
只有在静态数据发生变化时才需要更改静态数据库。
希望这有帮助。