gpt4 book ai didi

ios - 如何在 CoreData SQLite 数据库中强制更新?

转载 作者:行者123 更新时间:2023-11-28 21:28:07 25 4
gpt4 key购买 nike

我有一个应用程序,我使用 CoreData 来存储数据。一切正常,但我想轻松访问我的数据,以进行验证。所以我有了尝试与 iTunes (UIFileSharingEnabled) 共享数据的想法。现在我可以在 iTunes 中看到我的数据库,我可以在我的 mac 上复制 .sqlite 文件,我可以用 sqlite3 验证数据。

一切正常,但我想测试其他东西,所以我修改了应用程序中的一些数据,但我无法访问修改后的数据。.sqlite 数据库总是有几天的历史。我在 iTunes 共享中还有另外两个文件(.sqlite-shm 和 .sqlite-wal),它们已修改(当我修改数据时日期会更改),但我无法“更新”.sqlite 文件。

我尝试在 iPhone 上强制退出应用程序,重建应用程序,创建新数据而不是修改,但没有成功。

我的应用程序中的数据是正确的,所以我假设修改存储在其他两个文件中,但是有人知道我可以尝试强制更新 .sqlite 文件吗?

最佳答案

根据 Technical Q&A1809 ,强制SQLite将-wal文件合并到主.SQLite文件中的方法是使用“回滚日志模式”将存储添加到持久存储协调器:

For a store that was loaded with the WAL mode, if both the main store file and the corresponding -wal file exist, using rollback journaling mode to add the store to a persistent store coordinator will force Core Data to perform a checkpoint operation, which merges the data in the -wal file to the store file. This is actually the Core Data way to perform a checkpoint operation.

技术说明包括实现此目的的示例代码(尽管是 objective-c )。

关于ios - 如何在 CoreData SQLite 数据库中强制更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37334075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com