【发布时间】:2018-09-04 11:28:25
【问题描述】:
我是 Swift4 的新手。我正在尝试使用Codable 使我的struct 类型对象可编码和解码为JSON。
这是我的struct Product:
// 我声明它符合可编码性
public struct Product: Codable {
public let name: String
public var isSold: Bool
public let icon: UIImage // problem is here
…
// I have excluded 'icon' from codable properties
enum CodingKeys: String, CodingKey {
case name
case isSold = “is_sold”
}
}
编译器告诉我错误:'UIImage’ doesn’t conform to ‘Decodable’,但我已经定义了CodingKeys,它应该告诉哪些属性是可编码的,并且我已经排除了UIImage 属性。
我认为这样编译器不会抱怨UIImage 类型,但它仍然会抱怨。如何摆脱这个错误?
【问题讨论】:
-
使图标成为可选;因为它是非可选的并且不能被解码,所以解码器不可能创建你的结构的实例