【问题标题】:SQLite.Swift: Cannot invoke 'insert' with an argument list of type '(Setter, Setter, Setter)'SQLite.Swift:无法使用类型为“(Setter,Setter,Setter)”的参数列表调用“insert”
【发布时间】:2015-11-02 00:07:45
【问题描述】:

好的,经过反复试验,我设法消除了一些其他错误,尽管我仍然对返回上述错误的一个命令有疑问。该行是:

PCharacter.PCharacters.insert(PCharacter.charName <- "\(newCharName)", 
    PCharacter.maxHP <- "\(newCharHP)", PCharacter.maxMP <- "\(newCharMP)")

据我所知,这遵循插入命令的格式,除了 Github 上的示例使用硬编码值而不是变量,尽管我需要变量,因为用户输入它们。

只是提供一点背景知识:PCharacter 是 AppDelegate 中的一个结构,而这是一个包含在与 ViewController 中的按钮链接的 Action 中的命令。

这是 PCharacter 结构:

struct PCharacter {
    static let PCharacters = db["PCharacters"]
    static let id = Expression<Int64>("id")
    static let charName = Expression<String>("charName")
    static let currentHP = Expression<Int64>("currentHP")
    static let maxHP = Expression<Int64>("maxHP")
    static let currentMP = Expression<Int64>("currentMP")
    static let maxMP = Expression<Int64>("maxMP")
    static let currentExp = Expression<Int64>("currentExp")
    static let nextExp = Expression<Int64>("nextExp")
    static let charWeaponID = Expression<Int64>("charWeaponID")

    static func createTable() {
        db.create(table: PCharacters) { t in
            t.column(id, primaryKey: .Autoincrement)
            t.column(charName, unique: true)
            t.column(currentHP)
            t.column(maxHP)
            t.column(currentMP)
            t.column(maxMP)
            t.column(currentExp)
            t.column(nextExp)
            t.foreignKey(charWeaponID, references: Weapon.Weapons[id], delete: .SetNull)
        }
    }
}

感谢您的帮助!

【问题讨论】:

    标签: ios sqlite sqlite.swift


    【解决方案1】:

    有一个 section of the Contributing Guidelines 涵盖了这个确切的错误。如果您将insert 拆分为多行,您将在以下两行中梳理出正确的错误消息:

    PCharacter.maxHP <- "\(newCharHP)"
    PCharacter.maxMP <- "\(newCharMP)"
    

    二元运算符“

    您的 maxHPmaxMP 列是 Int64,但您将它们设置为字符串值。确保newCharHPnewCharMP 都是Int64

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-26
      • 2015-07-23
      • 2013-01-05
      相关资源
      最近更新 更多