//一.代码

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

NSArray遍历和修改崩溃相关推荐

  1. jackson中JSON字符串节点遍历和修改

    有些场景下,在实现一些基础服务和拦截器的时候,我们可能需要在不知道JSON字符串所属对象类型的情况下,对JSON字符串中的某些属性进行遍历和修改,比如,设置或查询一些报文头字段. 在jackson中, ...

  2. 使用ListIterator 对List遍历时修改,删除

    无论使用什么方式对List进行遍历,都不能直接对List<E>变量进行直接修改操作,比如: List<String> strList = new ArrayList<St ...

  3. pandas 遍历并修改_Pandas循环提速7万多倍!Python数据分析攻略

    乾明 编译整理  量子位 报道 | 公众号 QbitAI 用Python和Pandas进行数据分析,很快就会用到循环. 但在这其中,就算是较小的DataFrame,使用标准循环也比较耗时. 遇到较大的 ...

  4. 21、List遍历时修改元素的问题

    List迭代时修改元素的问题 请编写代码完成以下需求: 判断一个List里面是否包含monkey,如果包含的话,向集合中添加1024这个字符串.' package com.monkey1024.lis ...

  5. 个人笔记-List遍历一(遍历及修改)

    创建实体类 ```java package listDemo;import lombok.Data;@Data public class Student {/*** id 主键*/private In ...

  6. window下遍历并修改文件

    今天需要写一个遍历文件夹下的所有文件,试了试以前的方法竟然报错了.重新改了一下. #include <iostream> #include <stdlib.h> #includ ...

  7. Map的循环遍历,修改,删除

    预制数据 Map<String, String> map = new HashMap<>();map.put("aaa","123"); ...

  8. python遍历字典修改符合条件的value

    仅限于字典中value类型包括list.dict.int.bytes.有其他类型酌情添加条件分支及处理函数. class traversal_modify(object):def modify_dic ...

  9. C++ vector 遍历修改汇总

    通过迭代器.下标操作符.范围for三种方式遍历vector内部元素以及不同遍历方式修改元素. #include<iostream> #include<vector> using ...

  10. java list 循环 更改_Java List遍历修改

    此示例仅从ArrayList入手,其他类型集合可能存在差异. 1.情景一,弄懂ArrayList的删除操作具体原理.假如有这样一个ArrayList list.add("1"); ...

最新文章

  1. cookie和url参数获取的常规实用方法合集(ES6)
  2. python创建数据集_使用Python从图像创建数据集以进行人脸识别
  3. libevent多线程使用bufferevent的那些事
  4. 【hdoj】3007 Buried memory 【计算几何--最小圆覆盖】
  5. SuperSocket 1.5 Documentation译文 ------- 目录索引
  6. kickstart及引导镜像制作
  7. Google的Project Stream准备在Chrome中播放AAA控制台游戏
  8. oracle 运营维护_Oracle数据库日常运维常用脚本
  9. LeetCode题——最长无重复子串
  10. Net操作Excel(终极方法NPOI)
  11. /proc 文件系统并使用/proc 进行输入
  12. linux shell 多线程执行程序
  13. python中的深拷贝和浅拷贝
  14. Visual Studio(VS2017/VS2019) C++ 配置 CPLEX 教程
  15. 即时通讯 音视频 开发技术
  16. HttpClient下载图片不完整的解决办法
  17. C++排列组合及应用
  18. 微格教学c语言指针教案,小学微课程教案
  19. Win10、Win11跳过联网注册微软账户激活方法
  20. 小米手机与计算机如何连接网络连接,小米手机怎么通过电脑上网如何将手机与电脑相连...

热门文章

  1. Parallels Toolbox for mac(PD工具箱合集)
  2. 微软出品 Remote Desktop for Mac(远程连接工具) 汉化版
  3. Macbook Pro休眠唤醒后后台运行程序被关闭的解决方法
  4. Angular7教程-04-Angular常用操作(下)
  5. 翻译spring4.2官方文档(3)
  6. [转载]Hibernate 一对一 双向关联
  7. 《统一沟通-微软-实战》-7-配置-2-呼叫寄存
  8. idea code key study form qinChao
  9. 瞧瞧,人家这后端API接口写得,那叫一个巴适~,再看看我的,像坨屎!
  10. 支付宝“跑路”,一亿用户服务彻底关停!