最佳答案
我有一个数组,我想通过它迭代初始化基于数组值的视图,并希望执行基于数组项目索引的操作
当我迭代对象时
ForEach(array, id: \.self) { item in
CustomView(item: item)
.tapAction {
self.doSomething(index) // Can't get index, so this won't work
}
}
所以,我尝试了另一种方法
ForEach((0..<array.count)) { index in
CustomView(item: array[index])
.tapAction {
self.doSomething(index)
}
}
但是第二种方法的问题是,当我更改数组时,例如,如果 doSomething
跟随
self.array = [1,2,3]
视图在 ForEach
不改变,即使值改变。我相信,这种情况发生,因为 array.count
没有改变。
有解决办法吗? 提前谢谢。