相关疑难解决方法(0)

在使用forEach迭代期间从集合中删除元素

最近,我编写了这段代码而没有多想它:

myObject.myCollection.forEach { myObject.removeItem($0) }
Run Code Online (Sandbox Code Playgroud)

myObject.removeItem(_)从哪里删除项目myObject.myCollection.

现在看代码,我很困惑为什么这个甚至有用 - 我不应该得到一个例外Collection was mutated while being enumerated吗?使用常规for-in循环时,相同的代码甚至可以正常工作!

这是预期的行为,还是我"幸运"它没有崩溃?

swift

16
推荐指数
2
解决办法
3632
查看次数

标签 统计

swift ×1