如何使用ForEach符合协议“哈希”

时间:2019-12-28 15:22:54

标签: swift swiftui

你好,我有一个关于确认协议“哈希”的问题。真烂 这是我的模型:

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”不   符合协议“哈希”

1 个答案:

答案 0 :(得分:2)

您的Page结构分别不符合Hashable Equatable,因此ExploreDataSource也不能符合Hashable

因此,我的建议是也使您的Page符合Hashable

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