微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在列表中插入结构化可识别数组?

如何解决如何在列表中插入结构化可识别数组?

struct Gg: Identifiable{
    
    let id: Int
    let task: String
}

struct ContentView: View {

@State private var items = [Gg(id: 1,task:"take the trash out"),Gg(id: 2,task:"Go for a run")]


var body: some View {
        
        NavigationView {
           
            ZStack(alignment: .center) {
                vstack {
                    List(self.items,id: \.self) { index in
                        Text("\(index)")
                    }

}}

我收到以下错误

无法声明名为“ $ id”的实体; '$'前缀保留用于隐式合成的声明 初始化程序'init(_:id:rowContent :)'要求'Gg'符合'Hashable'

退出新的并开始感谢帮助

解决方法

您按项目而不是按索引进行迭代,因此很简单

            VStack {
                List(self.items) { item in
                    Text(item.task)
                }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。