iOS_报错”Collection NSArrayM was mutated while being enumerated”
在通讯录搜索时会不停的遍历数组源,获取匹配的用户信息用于展示,此时出现BUG。
报错:崩溃并报错“Collection <__NSArrayM: 0x166105d0> was mutated while being enumerated”。
原因1:数组遍历时修改了数组。解决方法:定义一个新数组,修改新数组
原因2:不同的线程同时读取和修改了数组。
解决方法:
[userList enumerateObjectsUsingBlock:^(id _Nonnull user, NSUInteger idx, BOOL * stop) {