繁体   English   中英

如何使用 ForEach 符合协议“Hashable”

[英]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结构不符合HashableEquatable ,因此ExploreDataSource也不能符合Hashable

所以我的建议是让你的Page符合Hashable

struct Page: Decodable, Identifiable, Hashable {
...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM