gpt4 book ai didi

xcode - SQLITE_TRANSIENT 在 Swift 中未定义

转载 作者:IT王子 更新时间:2023-10-29 05:15:36 28 4
gpt4 key购买 nike

我使用的是 xcode 6,我导入了 libsqlite3.dyliblibsqlite3.0.dylib。我还添加了 Bridging-Header.h 文件 witch imports sqlite3.h

我可以打开 SQLite 数据库并执行简单的操作,例如插入选择...

if (sqlite3_bind_text(compiledStatement, 2, Name.cStringUsingEncoding(NSUTF8StringEncoding), -1, SQLITE_TRANSIENT) != SQLITE_OK)

我有一个错误:Use of unresolved identifier 'SQLITE_TRANSIENT'

我做什么节目?我是 Swift 的新手,这是我关于 Stack 的第一个问题,请有人帮助我!

最佳答案

定义

#define SQLITE_STATIC      ((sqlite3_destructor_type)0)
#define SQLITE_TRANSIENT ((sqlite3_destructor_type)-1)

来自 <sqlite3.h>未导入 Swift,可能是由于“不安全”的指针转换。

一个可能的 Swift 定义显示在 SQLite.swift项目,在 Statement.swift :

let SQLITE_STATIC = sqlite3_destructor_type(COpaquePointer(bitPattern: 0))
let SQLITE_TRANSIENT = sqlite3_destructor_type(COpaquePointer(bitPattern: -1))

对于 Swift 2 你需要

let SQLITE_STATIC = unsafeBitCast(0, sqlite3_destructor_type.self)
let SQLITE_TRANSIENT = unsafeBitCast(-1, sqlite3_destructor_type.self)

(取自 SQLite.swift 项目的 Swift 2 分支的 "Helpers.swift")。

Swift 3 的更新:

let SQLITE_STATIC = unsafeBitCast(0, to: sqlite3_destructor_type.self)
let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)

关于xcode - SQLITE_TRANSIENT 在 Swift 中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26883131/

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