1

Xcode 7 と Swift 2 に更新したため、次のエラーが発生します。

モジュール 'SQLite' に 'Query' という名前の型がありません宣言されていない型 'Database' の使用

このコードを使用して:

let table:SQLite.Query

init(db:Database){

    table = db["BucketType"]
}

私は SQLite.swift の swift2 ブランチを使用していますが、私のプロジェクトのように見えますが、参照 SQLite.swift モジュールが見つかりません。また、SQLite.swift を使用するすべてのファイルに SQLite をインポートします。手動統合とココア ポッドを試しましたが、結果は同じでした。

Xcode 6.4で動作していました。

4

1 に答える 1

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 は...

システム構成のインポート

クラスユーティリティ{

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

    return path!
}

}

これがお役に立てば幸いです。

于 2015-10-08T12:10:08.713 に答える