2

select関数を使用して、結合された SQLite.swift テーブル ステートメントのテーブルからすべての列を選択しようとしていますが、常に次のエラーが発生します。

Cannot invoke 'select' with an argument list of type '(Expression<Void>)'

エラーを生成するデモコードは次のとおりです。

let messageId = Expression<String>("id")
let messageContent = Expression<String>("content")
let messageGroupId = Expression<String>("group_id")

let groupId = Expression<String>("id")
let groupName = Expression<String>("name")

if let db = try? Connection()
{
    let messageTable = Table("message")
    let groupTable = Table("group")


    try! db.run(messageTable.create() { t in
        t.column(messageId, primaryKey: true)
        t.column(messageContent)
        t.column(messageGroupId)
    })

    try! db.run(groupTable.create() { t in
        t.column(groupId, primaryKey: true)
        t.column(groupName)
    })


    let query = messageTable
        .join(groupTable, on: messageTable[messageGroupId] == groupTable[groupId])
        .filter(messageTable[messageGroupId] == "SOME GROUP ID")
        .select(messageTable[*])    // THIS SELECT IS CAUSING AN ERROR - WHAT IS WRONG?
}

STAR (テーブルのすべてのフィールド)を使用しようとすると、 select 関数の最後の呼び出しで常にエラーが発生します。スター演算子を使用して、すべてのフィールドを個別にリストしない方法はありますか?

私は Xcode 7.0.1 を使用していますが、これはおそらく 7.1 と swift 2.1 で修正されていますか?

4

0 に答える 0