在Github 的一个简单项目中,我正在尝试下载 JSON 对象列表:
struct TopResponse: Codable {
let data: [Top]
}
struct Top: Codable /*, Identifiable */ {
let uid: Int
let elo: Int
let given: String
let photo: String?
let motto: String?
let avg_score: Double?
let avg_time: String?
}
这很好用,下一步我想将它显示在 SwiftUI 列表中,从而添加Identifiable
到结构中。
不幸的是,这会产生编译错误Type 'Top' does not conform to protocol 'Identifiable'
:
根据我的后端应用程序的设计,该字段uid
是一个唯一编号。
所以我试图通过将其类型从更改为来修复编译错误Int
,ObjectIdentifier
但 Swift 编译器仍然对新错误不满意Type 'Top' does not conform to protocol 'Decodable'
这里发生了什么,编译器现在是否可能缺少uid
解码 JSON 的字段?(它怎么可能知道传入的服务器数据有这样一个字段?)