【发布时间】:2015-05-02 14:54:17
【问题描述】:
我已经看过几篇关于此的帖子,并且我已经关注并重新检查了建议,但我仍然得到了
Use of undeclared type 'sqlite3'
我的 BridgingHeader.h 文件包含
#ifndef areabook_Bridging_Header_h
#define areabook_Bridging_Header_h
#import <sqlite3.h>
#endif
(Link Binary With Libraries 有 libsqlite3.0.dylib。我也使用过 libsqlite3.dylib。构建永远不会进入链接阶段,所以这不是问题。)
BridgingHeader.h 在构建设置 Objective-C Bridging Header 中被引用。 我知道我正确引用了 BridgingHeader.h,因为如果我更改
<sqlite.h> to <sqlitexx.h>
编译器报错
'sqlite3xx.h' file not found
当我使用正确的名称 (sqlite.h) 时,我没有收到错误。
在 BridgingHeader.h 中使用 sqlite.h,编译器在我的 swift 代码中给出了这个错误。
import UIKit
class Db: NSObject {
var database: sqlite3 = nil
Use of undeclared type 'sqlite3'
. . .
什么,哦,我错过了什么?
【问题讨论】:
-
你不要在 Swift 中使用
sqlite3类型。使用COpaquePointer。例如,请参阅stackoverflow.com/a/28642293/1271826。 -
使用也可以用于 sqlite.swift 包装器以实现 sqlite 连接。以stackoverflow.com/questions/29454722/… 为例
-
Rob,这就是我所缺少的:COpaquePointer。谢谢!