Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated

Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated
有时候会遇到这个bug, 你不要以为这个和collectionview 有关系,他们毛关系也没有,意思是 集合发生了突变.就是有人改变了数组.
接下来文门看一段代码就知道了

Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated_第1张图片
18C60B13-8EE5-4702-A867-C27D6D549B4A.png

很显然 第一段代码这么做不会有问题,第二段就会报错也就是上面的的错,原因就是,你一边遍历数组一遍删数组元素,

Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated_第2张图片
图片.png

那么再看第三段代码 他同样会报错,这是因为 深复制和前复制的原因

so 要用第一个方法.

你可能感兴趣的:(Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated)