【发布时间】:2017-03-21 05:38:51
【问题描述】:
本教程告诉我,我需要将 3 个文件(在 WAL 模式下)扔到包中。
https://www.appcoda.com/core-data-preload-sqlite-database/
我的应用程序使用 DELETE WAL 模式,那里只存在 1 个文件(仅限 .sqlite)。
我只是测试并将 1 个文件 (.sqlite) 扔到包中。 然后编写方法将其复制到 App 的 Document 目录。 它工作:o,文件完美复制。
但我仍然想知道 1 文件模式以后会不会让我的应用崩溃?? 我应该改用“3个文件”模式(WAL MODE)吗???
更新***
您好,非常感谢,我刚刚将 .sqlite 文件完美地复制到了 NSBundle。但是在我将文件从 Bundle 复制到 Document 目录之后。我的 PSC 无法读取 .sqlite(认为 ps 添加到 psc 完美,由 [psc persistentStores] 检查。获取的数据仍然是空的(认为我可以从 DBBrowser 看到数据存在于 .sqlite 中)。我一遍又一遍地尝试过,但是仍然没有工作(更改文件名/等)。
我的 PSC 选项是这样的。请问是这个原因吗???谢谢
@{ NSSQLitePragmasOption : @{@"journal_mode":@"DELETE"},
NSInferMappingModelAutomaticallyOption: @YES,
NSMigratePersistentStoresAutomaticallyOption : @YES };
【问题讨论】:
-
正如我在对your previous question 的回答中解释的那样,您不需要创建和复制这些额外的文件。