gpt4 book ai didi

Swift 核心数据查询生成 Sqlite 错误代码 769(sqlite3_snapshot_open 失败)

转载 作者:行者123 更新时间:2023-12-02 05:16:02 27 4
gpt4 key购买 nike

我正在使用核心数据查询生成,对于每次读取 View 上下文数据,我都执行以下操作

  1. 固定上下文
  2. 阅读(获取请求)
  3. 取消固定上下文

一切都按预期正常工作,但有时我会收到以下错误:

error: SQLCore dispatchRequest: exception handling request: , sqlite3_snapshot_open failed with userInfo of { NSSQLiteErrorDomain = 769; } CoreData: error: SQLCore dispatchRequest: exception handling request: , sqlite3_snapshot_open failed with userInfo of { NSSQLiteErrorDomain = 769; }

在固定/取消固定上下文的代码下方:

// MARK: Query generation
func pinContext() {
do {
context.reset()
try context.setQueryGenerationFrom(NSQueryGenerationToken.current)
} catch {
fatalError("Context pinning:\(error)")
}
}

func unpinContext() {
do {
try context.setQueryGenerationFrom(nil)
} catch {
fatalError("Context unpinning:\(error)")
}
}

错误代码 (769) SQLITE_ERROR_SNAPSHOT 的 sqlite.org 网站指出:

当尝试使用 sqlite3_snapshot_open() 接口(interface)在数据库的历史版本上启动读取事务时,可能会返回 SQLITE_ERROR_SNAPSHOT 结果代码。如果历史快照不再可用,则读取事务将失败并返回 SQLITE_ERROR_SNAPSHOT。仅当使用 -DSQLITE_ENABLE_SNAPSHOT 编译 SQLite 时才会出现此错误代码。

现在,我该如何处理或防止核心数据中的这个错误?

最佳答案

bgCTX = container.newBackgroundContext()
bgCTX.mergePolicy = NSMergePolicy.mergeByPropertyObjectTrump
bgCTX.automaticallyMergesChangesFromParent = true
try bgCTX.setQueryGenerationFrom(NSQueryGenerationToken.current)

关于Swift 核心数据查询生成 Sqlite 错误代码 769(sqlite3_snapshot_open 失败),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55184108/

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