加载预加载到核心数据中的SQLite数据库

时间:2018-10-31 15:59:33

标签: ios swift core-data

我有一个预装在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中的操作。

也许你可以帮助我。

1 个答案:

答案 0 :(得分:0)

在appDelegate中,您可以将默认的.xcdatamodel名称更改为您添加的名称。然后xcode将加​​载您的预加载数据.sqlite文件,而不是默认文件。您应该在上面进行搜索