我有一个数组,我想遍历它,根据数组值初始化视图,并根据数组项索引执行操作
当我遍历对象时
ForEach(array, id: \.self) { item in
CustomView(item: item)
.tapAction {
self.doSomething(index) // Can't get index, so this won't work
}
}
所以,我try 了另一种方法
ForEach((0..<array.count)) { index in
CustomView(item: array[index])
.tapAction {
self.doSomething(index)
}
}
但第二种方法的问题是,当我更改数组时,例如,如果doSomething
执行以下操作
self.array = [1,2,3]
即使值已更改,ForEach
中的视图也不会更改.我相信,这是因为array.count
没有改变.
有解决办法吗?提前谢谢.