我可以向符合 Codable 的对象添加成员初始化器吗?

Am I able to add a member-wise initializer to a Codable-conforming object?

我目前有一个 class 符合 Codable 并且有一个像这样的初始化器

public class A: Codable {
    var aString: String?
    public init(input: String?) {
        self.aString = input
    }
}

当我尝试创建它的实例时,出现错误

let myA = A(input: "Goodbye world")

Incorrect argument label in call (have 'input:', expected 'from:')

我是否仅限于 Codable classes 的 init(from decoder: Decoder) throws 初始值设定项?

你的代码是正确的,仔细检查你是否真的有一个 public 初始化器而不是私有的。

我将其放入我的 Xcode 游乐场,一切正常:

public class A: Codable {
    var aString: String?
    public init(input: String?) {
        self.aString = input
    }
}

let a = A(input: "123")