在SwiftUI中使用列表时,如何解决错误“ Initializer'init(_:id:rowContent :)'要求'(String,String)'符合'Hashable'”)

时间:2019-10-20 02:04:24

标签: swiftui-list

下面是代码:

struct DetailView: View {
let trafficRule: [(String, String)] = [("123","rule1"),("123","rule2")]
var body: some View {
List(trafficRule, id: \.self) { trafficRule in
            Text("\(trafficRule.0)")
            Spacer()
            Text("\(trafficRule.1)")
}
}

出现错误消息的列表块。

1 个答案:

答案 0 :(得分:0)

快速组合不符合Hashable,因此,它们不能用作List的元素。与其使用元组,不如考虑构造一个结构来表示您的元素,并使它符合Hashable:

struct TrafficRule: Hashable {
    let name: String
    let rule: String
}