NSArray遍历和修改崩溃
//一.代码 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遍历和修改崩溃相关推荐
- jackson中JSON字符串节点遍历和修改
有些场景下,在实现一些基础服务和拦截器的时候,我们可能需要在不知道JSON字符串所属对象类型的情况下,对JSON字符串中的某些属性进行遍历和修改,比如,设置或查询一些报文头字段. 在jackson中, ...
- 使用ListIterator 对List遍历时修改,删除
无论使用什么方式对List进行遍历,都不能直接对List<E>变量进行直接修改操作,比如: List<String> strList = new ArrayList<St ...
- pandas 遍历并修改_Pandas循环提速7万多倍!Python数据分析攻略
乾明 编译整理 量子位 报道 | 公众号 QbitAI 用Python和Pandas进行数据分析,很快就会用到循环. 但在这其中,就算是较小的DataFrame,使用标准循环也比较耗时. 遇到较大的 ...
- 21、List遍历时修改元素的问题
List迭代时修改元素的问题 请编写代码完成以下需求: 判断一个List里面是否包含monkey,如果包含的话,向集合中添加1024这个字符串.' package com.monkey1024.lis ...
- 个人笔记-List遍历一(遍历及修改)
创建实体类 ```java package listDemo;import lombok.Data;@Data public class Student {/*** id 主键*/private In ...
- window下遍历并修改文件
今天需要写一个遍历文件夹下的所有文件,试了试以前的方法竟然报错了.重新改了一下. #include <iostream> #include <stdlib.h> #includ ...
- Map的循环遍历,修改,删除
预制数据 Map<String, String> map = new HashMap<>();map.put("aaa","123"); ...
- python遍历字典修改符合条件的value
仅限于字典中value类型包括list.dict.int.bytes.有其他类型酌情添加条件分支及处理函数. class traversal_modify(object):def modify_dic ...
- C++ vector 遍历修改汇总
通过迭代器.下标操作符.范围for三种方式遍历vector内部元素以及不同遍历方式修改元素. #include<iostream> #include<vector> using ...
- java list 循环 更改_Java List遍历修改
此示例仅从ArrayList入手,其他类型集合可能存在差异. 1.情景一,弄懂ArrayList的删除操作具体原理.假如有这样一个ArrayList list.add("1"); ...
最新文章
- cookie和url参数获取的常规实用方法合集(ES6)
- python创建数据集_使用Python从图像创建数据集以进行人脸识别
- libevent多线程使用bufferevent的那些事
- 【hdoj】3007 Buried memory 【计算几何--最小圆覆盖】
- SuperSocket 1.5 Documentation译文 ------- 目录索引
- kickstart及引导镜像制作
- Google的Project Stream准备在Chrome中播放AAA控制台游戏
- oracle 运营维护_Oracle数据库日常运维常用脚本
- LeetCode题——最长无重复子串
- Net操作Excel(终极方法NPOI)
- /proc 文件系统并使用/proc 进行输入
- linux shell 多线程执行程序
- python中的深拷贝和浅拷贝
- Visual Studio(VS2017/VS2019) C++ 配置 CPLEX 教程
- 即时通讯 音视频 开发技术
- HttpClient下载图片不完整的解决办法
- C++排列组合及应用
- 微格教学c语言指针教案,小学微课程教案
- Win10、Win11跳过联网注册微软账户激活方法
- 小米手机与计算机如何连接网络连接,小米手机怎么通过电脑上网如何将手机与电脑相连...
热门文章
- Parallels Toolbox for mac(PD工具箱合集)
- 微软出品 Remote Desktop for Mac(远程连接工具) 汉化版
- Macbook Pro休眠唤醒后后台运行程序被关闭的解决方法
- Angular7教程-04-Angular常用操作(下)
- 翻译spring4.2官方文档(3)
- [转载]Hibernate 一对一 双向关联
- 《统一沟通-微软-实战》-7-配置-2-呼叫寄存
- idea code key study form qinChao
- 瞧瞧,人家这后端API接口写得,那叫一个巴适~,再看看我的,像坨屎!
- 支付宝“跑路”,一亿用户服务彻底关停!