gpt4 book ai didi

ios - 核心数据和 iOS 7 : Different behavior of persistent store

转载 作者:IT王子 更新时间:2023-10-29 06:16:56 25 4
gpt4 key购买 nike

我正在为基于 Core Data 的应用程序准备更新,以修复 iOS 7。我使用 Xcode 5 和 iOS 7 SDK GM。但是我意识到持久存储的一种不同行为(它是 UIManagedDocument):在 iOS 7 构建之前,文档文件夹中只有一个文件 persistentStore(有时有第二个 persistentStore-journal).

在 iOS 7 构建(全新安装)中,持久存储现在有三个文件:

  • 持久存储
  • persistentStore-wal
  • persistentStore-shm

Apple 现在是否将日志模式默认更改为 WAL?我想知道是否对我的应用程序有影响(想想用户如何从上一个版本更新)?是否最好禁用 WAL - 如果是这样,我如何使用 iOS 7/UIManagedDocument 执行此操作?

最佳答案

是的,Apple 已经将 iOS7 的默认日志模式更改为 WAL。您可以通过在调用 addPersistentStoreWithType:configuration:url:options:error 时将 NSSQLitePragmasOption 添加到选项中来指定日志模式。例如。设置以前的默认删除模式:

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

根据我的经验,WAL 提供了更好的性能,但也请参阅这篇文章:

iOS CoreData - are there any disadvantages to enabling sqlite WAL / Write-Ahead Logging

关于ios - 核心数据和 iOS 7 : Different behavior of persistent store,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18870387/

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