Swift 2 SQLite.swift模块参考

时间:2015-09-18 12:04:33

标签: swift2 sqlite.swift

由于我已更新到Xcode 7和swift 2,我收到此错误:

没有名为'查询'在模块' SQLite' 使用未声明的类型'数据库'

使用此代码:

let table:SQLite.Query

init(db:Database){

    table = db["BucketType"]
}

我使用的是SQLite.swift的swift2分支,但它看起来像我的项目,它无法找到引用的SQLite.swift模块。 在我使用SQLite.swift的每个文件上都有导入SQLite。 我尝试过手动整合和可可豆荚,但效果相同。

它正在使用Xcode 6.4。

1 个答案:

答案 0 :(得分:3)

我有这样的事情......

class DBHelper {

static let instance = DBHelper() // singleton

var db : Connection

init() {
    do {
        self.db = try Connection("\(Util.getDBPath())/db.sqlite3")
        createTablesIfNotExists()
    } catch {
        Logger.error("Could not create a connection to database")
    }
}

func createTablesIfNotExists() {

    // Logs

    let logs = Table(TLog.TABLE_NAME) // just the name of your table
    do {
        try db.run(logs.create(ifNotExists: true) { t in
                t.column(TLog.ID, primaryKey: true) // Expression<Int>("id")
                t.column(TLog.TS) // Expression<String>("ts")
                t.column(TLog.TAG) // Expression<String>("tag")
                t.column(TLog.TYPE) ...
                t.column(TLog.CONTENT) ...
        })
    } catch {
        Logger.error("Could not create table Logs")
    }

}

并且.. Util.getDBPath将是......

导入SystemConfiguration

class Util {

class func getDBPath() -> String {
    let path = NSSearchPathForDirectoriesInDomains(
        .DocumentDirectory, .UserDomainMask, true
    ).first

    return path!
}

}

希望这对你有所帮助。