[英]How to use ForEach conform to protocol 'Hashable'
您好,我有一个关于确认协议“Hashable”的问题。 真的很烂这是我的模型:
struct Page: Decodable, Identifiable {
var id: String
var name: String
var thumbnail: String?
var description: String
var type: String
var speechs: [String]
}
struct ExploreDataSource: Decodable, Hashable {
var title: String
var data: [Page]
}
这是我的ForEach
代码:
List {
ForEach(self.VM.dataSource, id: \.self) { item in
Text(item.title).bold().font(.system(size: 22.0))\
}
}
错误:
“ExploreDataSource”类型不符合“Equatable”协议。 你想添加协议存根吗? 类型“ExploreDataSource”不符合协议“Hashable”
您的Page
结构不符合Hashable
和Equatable
,因此ExploreDataSource
也不能符合Hashable
。
所以我的建议是让你的Page
符合Hashable
。
struct Page: Decodable, Identifiable, Hashable {
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.