异常Crash之 NSGenericException,NSArray was mutated while being enumerated

时间:2023-02-25 15:43:01

  *** Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSArrayM: 0x17542520> was mutated while being enumerated.'

  从字面上不难理解,Crash的原因在于我们一边遍历数组,一边修改该数组数据。例如:
      NSMutableArray *OriginalArray = [NSMutableArray arrayWithObjects:@"1",@"2",@"3",@"3",@"4",nil];
  for (id obj in OriginalArray){
    if ([obj isEqualToString:@"3"]){
      [OriginalArray removeObject:obj]
    }
  }

      很自然我们会想到copy一个数组,在副本数组中进行遍历操作,如果符合条件我们就在原始数组中进行处理。
      NSMutableArray *DuplicateArray = [OriginalArray mutableCopy];
      for(id obj in DuplicateArray){
    if ([obj isEqualToString:@"3"]){
      [OriginalArray removeObject:obj];
    }
  }

异常Crash之 NSGenericException,NSArray was mutated while being enumerated的更多相关文章

  1. 诊断:记一次存储异常CRASH致数据库无法正常打开的恢复

    数据库存储异常crash,首先控制文件出现问题 ORA-: ????? ???? ORA-: ???? : '/oracledata/oradata/orc11rac/orc11rac/system0 ...

  2. Objective-C Collection was mutated while being enumerated crash

    Collection was mutated while being enumerated

  3. bug&colon;&ast;&ast;&ast; Collection &lt&semi;&lowbar;&lowbar;NSArrayM&colon; 0x1c444d440&gt&semi; was mutated while being enumerated&period;

    崩溃提示:Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <CAL ...

  4. iOS之解决崩溃Collection &lt&semi;&lowbar;&lowbar;NSArrayM&colon; 0xb550c30&gt&semi; was mutated while being enumerated&period;

    崩溃提示:Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <CAL ...

  5. 【转】was mutated while being enumerated 你是不是以为你真的懂For&period;&period;&period;in&period;&period;&period; &quest;&quest;

    原文网址:http://www.jianshu.com/p/ad80d9443a92 支持原创,如需转载, 请注明出处你是不是以为你真的懂For...in... ??哈哈哈哈, 我也碰到了这个报错 . ...

  6. 解决Collection &lt&semi;&lowbar;&lowbar;NSArrayM&colon; 0xb550c30&gt&semi; was mutated while being enumerated&period;-

    bug: 今天做项目的时候遇到了这样一个崩溃信息: 解决Collection <__NSArrayM: 0xb550c30> was mutated while being enumera ...

  7. &ast;&ast;&ast; Collection &lt&semi;&lowbar;&lowbar;NSArrayM&colon; 0x600000647380&gt&semi; was mutated while being enumerated&period;

    *** Collection <__NSArrayM: 0x600000647380> was mutated while being enumerated.

  8. 用ndk-stack分析应用native程序异常crash掉

    adb logcat | "/home/hxl/bin/android-ndk-r10d/ndk-stack" -sym "/home/hxl/plu/BadGame/p ...

  9. MYSQL 的异常CRASH事件处理

    检查问题的过程****************************************************************************************** ps ...

随机推荐

  1. ABAP关键字SUBMIT的简单例子和学习小记

    网上有关SUBMIT实现程序调用的例子稍显复杂,而相关的参考和解释则不是很完善.本文给出一个SUBMIT的小示例程序(代码见文末),实现了最简单的程序间调用及返回值,以及SAP官方文档中相关内容的翻译 ...

  2. 使用expect scp避免直接输密码

    需求:现在有一百多台的机器,都是使用用户名密码登录做一些运维操作,不想因为密码变更造成管理上的一些麻烦,所以改为通过密钥文件的方式进行登录,需要提前做一些准备工作,把准备好的.SSH文件复制到各机器的 ...

  3. Oracle&colon;ORA-00955&colon; name is already used by an existing object

    下午从生产库导出了一份表结构,用来测试一些问题,由于生产库连接着其他用户下的表所以通过视图在本地模拟一下,于是创建视图: create or replace view csews as select ...

  4. Golang之sdl2学习之路&lpar;零&rpar; -- 环境工具准备

    学习Golang有一段时间了,从毫无头绪到四处乱撞,再到如今静下心来安心学习sdl2也有小半年了. 今晚重构之前的学习代码,发现如果不写该文,可能会在以后回顾这段时间写的代码上花费时间,故以此文做一点 ...

  5. 纸上谈兵:左倾堆(leftist heap)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们之前讲解了堆(heap)的概念.堆是一个优先队列.每次从堆中取出的元素都是堆中 ...

  6. Linux Shell Bash 带有特殊含义的退出码

    linux在执行完一条命令后,使用 echo $? 会显示上一条命令是否执行成功,相关状态码如下 0为成功 表格 D-1. "保留的"退出码 退出码的值 含义 例子 注释 1 通用 ...

  7. JS初学之-if else图片顺序及循环切换

    初学JS,代码还需多多改进,自学中... <!doctype html><html><head><meta charset="utf-8" ...

  8. 见怪不怪的typedef

    typedef是C++中的一个十分重要的关键字,它有强大的功能和方法的用途.但是有时候,碰到一些用到typedef的地方却感到很奇怪了. 给个栗子尝尝: typedef void(*pFun)(voi ...

  9. 强化学习读书笔记 - 02 - 多臂老O虎O机问题

    # 强化学习读书笔记 - 02 - 多臂老O虎O机问题 学习笔记: [Reinforcement Learning: An Introduction, Richard S. Sutton and An ...

  10. 完整的系统帮助类Utils

    //来源:http://www.cnblogs.com/yuangang/p/5477324.html using System; using System.Collections.Generic; ...