我在使用swift类时出错。当我试图创建一个像这样的新对象时

let prod_obj = Produs(nume: nume_prod, cod_bare: cod_ext)

我得到错误的“参数传递到调用,不需要参数”,我不知道为什么。我读过一些文件,他们也是这么做的。我的班级就是这样的:
class Produs {
    var nume: String!
    var cod_bare: String!
}

我想我可能需要添加一个初始值设定项,但我不明白为什么这在我的情况下是必要的。

最佳答案

你可以用一个结构得到合成的init,就像这样

struct Produs {
    let nume: String
    let codBare: String
}
let prodObj = Produs(nume: numeProd, codBare: codBare)

对于类,您可以提供初始值设定项:
class Produs {
    var nume: String
    var codBare: String

    init (nume: String, codBare: String) {
        self.nume = nume
        self.codBare = codBare
    }
}
let prodObj = Produs(nume: numeProd, codBare: codBare)

或者
class Produs {
    var nume: String!
    var codBare: String!
}

let prodObj = Produs()
prodObj.nume = numeProd
prodObj.codBare = codBare

注意:避免在变量名中使用下划线,使用camelcase,例如codBare

10-05 19:02