这是我的代码.但我不知道该如何设定价值.它必须手动完成,因为实际结构比这个例子稍微复杂一些.
有什么帮助吗?
struct Something: Decodable { value: [Int] enum CodingKeys: String,CodingKeys { case value } init (from decoder :Decoder) { let container = try decoder.container(keyedBy: CodingKeys.self) value = ??? // < --- what do i put here? } }
由于一些错误/错别字,您的代码无法编译.
原文链接:https://www.f2er.com/swift/319193.html解码Int写入数组
struct Something: Decodable { var value: [Int] enum CodingKeys: String,CodingKey { case value } init (from decoder :Decoder) throws { let container = try decoder.container(keyedBy: CodingKeys.self) value = try container.decode([Int].self,forKey: .value) } }
但是如果问题中的示例代码表示整个结构,则可以将其缩减为
struct Something: Decodable { let value: [Int] }
因为可以推断初始化器和CodingKeys.