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) {
}];

 

人已赞赏
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索