我想将enum
嵌套在struct
内,但又嵌套了Codable
。如何使枚举codable
并因此使struct
可编码?
这里是我所拥有的一个例子:
struct Person: Codable {
var firstName: String
var lastName: String
var favoriteColor: Color
enum Color {
case blue, red, green, yellow, pink, purple
}
}
然后,我得到两个错误:
类型“人”不符合协议“可解码”
类型“人”不符合协议“可编码”
如何解决此问题?
编辑
我也尝试过使颜色符合Codable。 Xcode添加了以下协议存根:
init(from decoder: Decoder) throws {
<#code#>
}
func encode(to encoder: Encoder) throws {
<#code#>
}
我将如何处理?
struct Person: Codable {
var firstName: String
var lastName: String
var favoriteColor: Color
}
enum Color: String, Codable {
case blue, red, green, yellow, pink, purple
}