我可以向符合 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")
我目前有一个 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")