Collection <__NSArrayM: 0xxxxxxx> was mutated while being enumerated.
2015-06-16 09:09
429 查看
在IOS开发中,我们经常用的NSArray或者NSMutableArray ,但是当使用不当的时候,会有下面的错误提示。
Collection <__NSArrayM:
0xxxxxxx> was mutated while being enumerated.
遇到这类错误的时候,是同时对同一个数组进行了操作。
*这里说的是数组,其实别的类型的对象也出现这个问题,如:NSDictionary等*
下面一个简单的出现这类错误的用法:
NSMutableArray * arrayTemp = xxx; for (NSDictionary * dic in arrayTemp) { if (condition){ [arrayTemp removeObject:dic]; } }
应该改为:
NSMutableArray * arrayTemp = xxx; NSArray * array = [NSArray arrayWithArray: arrayTemp]; for (NSDictionary * dic in array) { if (condition){ [arrayTemp removeObject:dic]; } }
在对数组内容进行改变的时候,要灵活使用备份数组。
Collection <__NSArrayM:
0xxxxxxx> was mutated while being enumerated.
遇到这类错误的时候,是同时对同一个数组进行了操作。
*这里说的是数组,其实别的类型的对象也出现这个问题,如:NSDictionary等*
下面一个简单的出现这类错误的用法:
NSMutableArray * arrayTemp = xxx; for (NSDictionary * dic in arrayTemp) { if (condition){ [arrayTemp removeObject:dic]; } }
应该改为:
NSMutableArray * arrayTemp = xxx; NSArray * array = [NSArray arrayWithArray: arrayTemp]; for (NSDictionary * dic in array) { if (condition){ [arrayTemp removeObject:dic]; } }
在对数组内容进行改变的时候,要灵活使用备份数组。
相关文章推荐
- Rails Routes中new、collection、member的区别浅析
- 解决 The Controls collection cannot be modified because the control contains code blocks
- java Collection 之List学习介绍
- Python中Collection的使用小技巧
- java Collection 之Set使用说明
- Collection架构
- 新手,正在学Java Collection,瞎写点东西-一个基于链表的stack及其遍历
- Collection has neither generic type or OneToMany.targetEntity() defined
- Oracle的PL / SQL实用程序
- 如何详细设置SUN/IBM JVM的GC日志输出(转)
- IOS的UIScrollView的自动布局
- 在Jersey JAX-RS 处理泛型Collection
- Drupal 7 Field collection
- 谷歌眼镜Mirror API开发指南之Subscriptions
- 触屏jquery tap 插件代码
- Java内存泄露的理解与解决
- Scom 2012 中的资源组(Resource Pool)
- appledoc使用简介
- 从Collection中选取对象的一种优雅写法
- 【Java基础】集合