我正在尝试删除索引处的对象,但出现错误。这是我的代码:
var arr2 = [3,5,6]
let arr3 = arr2
for (index, element) in arr3.enumerated() {
print("III \(index)")
arr2.remove(at: index)
}
日志:
III 0
III 1
III 2
fatal error: Index out of range
请让我知道我做错了什么。
最佳答案
您的index
值基于arr3
。当您从 arr2
中删除项目时,index
并不代表 arr2
中的正确位置。
一种解决方案是反向迭代arr3
。
for (index, element) in arr3.enumerated().reversed() {
这使得剩余的索引在迭代继续时保持不变。
关于arrays - iOS swift : fatal error: Index out of range,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45846398/