问题描述
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)
}