0

我正在使用 GRDB 和自定义结构。获取行非常有效,但是在尝试更新或删除行时会出现问题。当我尝试添加行来保存记录时,我收到一个编译器错误,即“变量名”没有成员“保存”。如果我尝试删除,也会出现同样的错误。

该结构的定义如下:

struct ActiveTraffic {
    var id: Int
    ...
}

extension ActiveTraffic: TableMapping, RowConvertible {
    static let databaseTableName = "ActiveTraffic"

    enum Columns {
        static let id = Column("id")
        ...
    }

    init(row: Row) {
        id = row[Columns.id]
        ...
    } 
}

使用它的类是这样的:

import GRDB
class CustomManager {

...

    try appDBQueue.inTransaction { db in
        var activeTraffic = ActiveTraffic(id: traffic.id, ...)
        activeTraffic.save(db)
        return .commit
    }
}

查看所有文档,看来我所要做的就是在实例上调用 .save 以达到 .save 或 .delete 的通用实现,但是它没有识别附加功能。有任何想法吗?

4

0 回答 0