如何过滤对象数组swift 4然后删除

时间:2018-05-01 16:04:30

标签: swift for-loop

我希望避免收到此错误image of error

这是INDEX超出范围。我试图循环一个数组但是当我找到我要删除的东西时,我删除了它,但是对于for循环的迭代,数组的.count保持不变,我该如何解决这个问题呢?

运行时是控制台

test i:0  count: 3
test i:1  count: 3
test i:2  count: 2

还有:在

    for i in stride(from: 0, to: count, by: 1)

似乎仍然是3 ...

有人可以告诉我如何过滤此数组或循环并删除?只要它有效我就不在乎它是什么

1 个答案:

答案 0 :(得分:1)

使用filter

let filteredImages = images.filter { $0.someproperty == whatYouWant } 

变异for - 循环是你想要避免的。过滤更加安全。