【发布时间】:2018-10-31 15:59:33
【问题描述】:
我在 SQLite 中预加载了一个数据库:“BenedictusCoreData.sqlite”。
我将它添加到 XCode 中的项目中。
我修改 BenedictusCoreData.xcdatamodeld 以创建与我预加载的 sqlite 的表和列具有相同名称和类型的实体和属性。
我在模拟器中运行该应用程序,而无需编写任何其他代码。我打印主包路径并转到应用程序的沙箱。在 /Library/Application Support/ 我找到三个文件: .sqlite .sqlite-shm .sqlite-wal
我打开 .sqlite 并且显然它是空的,但是 Xcode 已经创建了带有大写字母的表和列,在表名中添加了“Z”,在列名中添加了“Z”,除了添加新表“Z_METADATA " "Z_MODELCACHE", "Z_PRIMARYKEY"。
此时,我认为将我的 sqlite 从 bundle 复制到“Application Support”文件夹并重写文件并不是一个好主意,因为结构完全不同。
所以我不知道如何在您第一次打开应用程序时将 sqlite 预加载的数据库复制到 CoreData 中。
也许你能帮助我。
【问题讨论】: