我有一个预装在SQLite中的数据库:“ BenedictusCoreData.sqlite”。
我将其添加到XCode项目中。
我修改了BenedictusCoreData.xcdatamodel,以创建名称和类型与预加载的sqlite的表和列相同的实体和属性。
我无需编写任何其他代码即可在模拟器中运行该应用程序。我打印主捆绑包路径,然后转到应用程序的沙箱。在/ Library / Application Support /中,我找到了三个文件:.sqlite .sqlite-shm .sqlite-wal
我打开了.sqlite,显然它是空的,但是Xcode用大写字母创建了表和列,在表名中添加了“ Z”,在列名中添加了“ Z”,这是通过添加新表“ Z_METADATA”来实现的“” Z_MODELCACHE“,” Z_PRIMARYKEY“。
在这一点上,由于结构完全不同,我认为仅将捆绑包中的sqlite复制到“ Application Support”文件夹中并重写该文件不是一个好主意。
因此,我第一次打开应用程序时就迷失了如何将sqlite预加载的数据库复制到CoreData中的操作。
也许你可以帮助我。
答案 0 :(得分:0)
在appDelegate中,您可以将默认的.xcdatamodel名称更改为您添加的名称。然后xcode将加载您的预加载数据.sqlite文件,而不是默认文件。您应该在上面进行搜索