【问题标题】:How to load an array of tuples in a SwiftUI List如何在 SwiftUI 列表中加载元组数组
【发布时间】:2023-01-03 12:47:58
【问题描述】:

以下代码产生错误 Type cannot conform to 'Hashable'

如何将元组数组加载到 SwiftUI 列表?

代码

import SwiftUI
struct TestingGeneral: View {

    let users: [(name: String, age: Double)] = [
        ("Jeff", 25),
        ("Nathan", 18)
    ]
   
    var body: some View {
        VStack{
            List {
                ForEach(users, id: \.self) { user in
                    Text(user.name)
                    Text("\(user.age)")
                }
            }
        }
    }
}

错误

类型 '(name: String, age: Double)' 不能符合 'Hashable'

【问题讨论】:

    标签: arrays swift swiftui


    【解决方案1】:

    ForEach 中使用 self 与 SwiftUI 不太兼容

    ForEach(users, id: .self) { user in
    

    你应该总是有一个唯一的变量。 SwiftUI 是关于身份的。

    ForEach(users, id: .name) { user in
    

    从 #wwdc21 查看 Demystify SwiftUI https://developer.apple.com/wwdc21/10022

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-29
      • 1970-01-01
      相关资源
      最近更新 更多