当前位置: 首页 > 面试题库 >

在Swift中未定义SQLITE_TRANSIENT

皇甫琛
2023-03-14
问题内容

我正在使用xcode 6,并且已经导入libsqlite3.dyliblibsqlite3.0.dylib。我还添加了Bridging- Header.h文件巫婆导入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)

from <sqlite3.h>不会导入到Swift中,可能是由于“不安全”的指针强制转换。

SQLite.swift项目的
Statement.swift中显示了可能的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)


 类似资料:
  • 问题内容: 注意:根据 ECMAScript5.1,第15.1.1.3节,window.undefined是只读的。 现代浏览器正确地实现了这一点。 例如:Safari 5.1,Firefox 7,Chrome 20等。 Undefined仍可在以下位置更改:Chrome 14,… 原来,问题的原因是 如果“对象”中没有属性“ x”,则返回false。 我通过在两个Facebook函数中用规则相等

  • 问题内容: 在CoreData中,我定义了从到无序的多对多关系。我创建了一个这样的Swift实体: 现在,我要向的实例添加,如下所示: 但是,此操作失败并显示以下错误: 由于未捕获的异常“ NSInvalidArgumentException”而终止应用程序,原因:“一对多关系的值的不可接受类型:property =“ tags”; 所需的类型= NSSet ; 给定类型= _TtCSs22Con

  • 问题内容: 在上面的代码中,我有2个问题:1)。它具有编译错误:’UINavigationController!’ 没有名为“ pushViewController”的成员 但是在该类中,确实有一个pushViewController方法。 2)。我必须添加注释:@objc(SEPushNoAnimationSegue),否则,在情节提要中,它只能识别随机生成的名称,例如_tcxxxxSEPush

  • “我想从Hello类获取用户Id的值,但无法从Hello world的goldUser获取。获取@Idclass”未为实体指定标识符:“错误。” 我做错了什么,或者应该用什么方法从Hello表中获取用户id的值。

  • 我试图按照这篇文章将cucumber规格与IntelliJ中的步骤定义相匹配。 当我按Alt Enter时,我看到检查未定义的步骤选项。但是,我应该看到意图操作创建步骤定义。 我想我已经安装了Cucumber IntelliJ插件,所以这应该不是问题。非常感谢任何帮助。

  • 问题内容: 我正在查看一些旧代码,这些代码只能一次使用。 MyPage.aspx: 和: 后面的代码: 但是在第一个摘录中,Chrome会报告: 未定义PageMethods 谁能看到为防止这种情况发生了什么变化? 注意:我发现了类似的问题,但它们似乎都与此代码有关,无法在母版页或用户控件中使用,在这里不是这种情况。 问题答案: 实际上只有一个方法相互作用被子类,及归属作为。 有2个,也需要是。