sqlite - 如何在不使用 -wal 和 -shm 的情况下将 MOC 的内容保存到文件中?

标签 sqlite cocoa core-data wal

我想将 MOC 的内容保存到文件 myFile.ext。一切正常,我的数据已保存到文件中,但我还必须添加辅助文件:

  • myFile.ext-wal
  • myFile.ext-shm

这些文件对于我的目的来说是必需的吗(将 MOC 的内容保存到文件中)?我只想将我的数据“传送”到一个文件中。此外,当我再次获取数据时,我只使用 myFile.extURL

如果它们不是必需的,是否可以避免创建它们?

最佳答案

正如 CL 所指出的,它们在 WAL 模式下是必需的。要在创建持久存储时禁用日志模式,请传递流动选项。

NSDictionary *options = @{NSSQLitePragmasOption: @{@"journal_mode": @"DELETE"};

_coordinator = [_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:url options:options error:&storeError]; 

当您再次运行应用程序时,-wal 应该消失,并且 -shm 可以被删除或忽略。所有数据都应该位于一个 sqlite 文件中。

关于sqlite - 如何在不使用 -wal 和 -shm 的情况下将 MOC 的内容保存到文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24291083/

相关文章:

c++ - 如何使用C++设置sqlite参数

objective-c - 为什么 cocoa 绑定(bind)不能与框架类的 typedef 一起使用

swift - Sigabrt 出现错误,该类必须具有有效的 NSEntityDescription

macos - NSPersistentDocument 在 “save as” 上崩溃

android - Android 中的单个内容提供者还是多个内容提供者?

php - MySQL 上每个用户的单个 SQLite 数据库?

java - 获取所有行 SQLite Android Studio

objective-c - 沙盒: bookmarkDataWithOptions and errors are nil without explanation

objective-c - Xcode 不断告诉我 NSDirectoryEnumerator 的使用是错误的。

objective-c - 迁移后抛出核心数据异常