博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NSArray遍历和修改崩溃
阅读量:4691 次
发布时间:2019-06-09

本文共 1111 字,大约阅读时间需要 3 分钟。

//一.代码NSArray *array = [self.dataList mutableCopy]; 或   NSArray *array = [NSArray arrayWithArray:self.dataList];                if (array && array.count > 0) {                    for (ChatHeader *header in array){ //遍历                        if (currConact.userid == header.curContact.userid){                            RSLog(@"退出群组删除好友消息:%@",header);                                self.dataList = [self.dbManager getLocalMessageChatHeader]; 重新获取数组的值                                [self.tableView reloadData];//二.报的错误6] *** Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSArrayM: 0x15f8e55a0> was mutated while being enumerated.'*** First throw call stack:(0x182175900 0x1817e3f80 0x182175334 0x10042efe4 0x100b6dbf0 0x100b6dbb0 0x100b7a6c8 0x100b718a0 0x100b6dbb0 0x100b7ce10 0x100b7c4d8 0x181ddd470 0x181ddd020)libc++abi.dylib: terminating with uncaught exception of type NSException

三.解决方案 :NSArray = [[NSArray alloc]init] ,然后再赋值 array = [NSArray arrayWithArray:self.dataList];

原因: 在你遍历这个数组时,又同时修改了这个数组,所以会报错

转载于:https://www.cnblogs.com/TheYouth/p/5151079.html

你可能感兴趣的文章
windows虚拟机下 安装docker 踩过的坑
查看>>
使用 CXF 做 webservice 简单例子
查看>>
2017-2018-1 20155339 《信息安全系统设计基础》第8周学习总结
查看>>
socket.io 消息发送
查看>>
C# 两个datatable中的数据快速比较返回交集或差集
查看>>
没有body怎么添加onload事件
查看>>
JS等比例缩小图片尺寸
查看>>
日留存、周留存、月留存,究竟怎样才能让更多的用户留下来?
查看>>
提升内外网文件交换安全性,这里有5点建议
查看>>
C# 合并Excel工作表
查看>>
关于oracle样例数据库emp、dept、salgrade的mysql脚本复杂查询分析
查看>>
一些有趣的代码
查看>>
从RTP到ORTP
查看>>
单文档切换OpenGL视图
查看>>
抽象类和接口的区别
查看>>
JS生成随机的字母数字组合的字符串
查看>>
[jQuery] form提交到iframe之后,获取iframe里面内容
查看>>
js new到底干了什么,new的意义是什么?
查看>>
python基础3
查看>>
淘宝大牛们——晒一晒淘宝网技术内幕
查看>>