Collection <__NSCFDictionary: 0xc425570> was mutated while being enumerated.

原创 2015年11月20日 17:12:33

解决方法1:

    // 保存搜索记录

    for (int i = 0; i < _muArrayData.count; i++) {        // 去掉重复的历史记录

        NSString *stringText = _muArrayData[i];

        if ([stringText isEqualToString:self.searchBarGreens.text]) {

            [self.tableView beginUpdates];

            [self.tableView deleteRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:i inSection:1]] withRowAnimation:UITableViewRowAnimationAutomatic];

            [_muArrayData removeObject:stringText];

            [self.tableView endUpdates];

        }

    }


解决方法2:

错误:Terminating app due to uncaught exception 'NSGenericException', reason: 

'*** Collection <__NSCFDictionary: 0xc425570> was mutated while being enumerated.
因为我在枚举menuList可变数组的时候,给menuList添加元素,那这个数组的大小发生了变化,不知道枚举多少次了。
一般2种情况会发生这种错误:
1,对可变数组A在枚举的时候,添加或者删除数组A的元素,改变了数组A的大小。
2,对于数组B,一个线程在对B进行枚举操作,另一个线程改变B数组的大小。


错误:Terminating app due to uncaught exception 'NSGenericException', reason: 
'*** Collection <__NSCFDictionary: 0xc425570> was mutated while being enumerated.
答案:原因是NSArry若在多线程中进行操作是很敏感的。
如果在某个线程,对A NSArry进行写操作。在另外某线程读取A操作,就会出现“Collection was mutated while being enumerated”的错误警告。


解决办法可以,B= [NSArray arrayWithArray: A],再通过B来进行操作
版权声明:本文为博主原创文章,未经博主允许不得转载。

Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated.-

这个错误 意思是 数组在遍历的时候被改变 在遍历时这是不被允许的  可以稍作调整  for (NSDictionary * dic in array.copy) {               ...

NSArray或者NSMutableArray常见错误was mutated while being enumerated

在IOS开发中,我们经常用的NSArray或者NSMutableArray ,但是当使用不当的时候,会有下面的错误提示。 Collection was mutated while being en...
  • vaercly
  • vaercly
  • 2014年08月07日 19:38
  • 1335

0x7c92e4ff 处最可能的异常: 0xC0000008: An invalid handle was specified 的原因与解决方案

对照网上的示例(网上CDirTreeCtrl的示例很多,但是绝大部分都有让人难以接受的BUG,我推荐一个名为DriveExplorer的Demo,能从CSDN下载到)以CTreeCtrl为基类继承了一...

SharePoint log分析——"Thread was being aborted"的可能情况

SharePoint log分析——Thread abort的可能情况         每当SharePoint报错的时候,详细的信息会记录在log中,一般的错误很快就可以得到确认并解决,但是有时候...
  • shrenk
  • shrenk
  • 2013年03月12日 13:05
  • 2499

为磁盘目录授权出现:malloc: *** error for object xx: pointer being freed was not allocate问题解决

Mac终端无法运行的解决方法,错误如下: login(320,0x7fff75096180) malloc: *** error for object 0x7fa673c00380: pointer ...

AFNetWorking.a was built for newer ios version(9.1) then being is linked(7.0)

在导入第三方sdk后会提示这样的错误:在导入AF和友盟等第三方sdk时出现 was built for newer is version () then being is linked () 的警告A...

HTML sublime :Please wait a bit while PyV8 binary is being downloaded 及代码和注释颜色 ,大小调节

近期运行sublime,为了调节代码和注释显示的颜色,结果看了这篇帖子:http://blog.csdn.net/funte/article/details/47155615 下了一些插件,发现代码无...

The context cannot be used while the model is being created

今天在使用 EF 的Code First 过程中,更新数据到数据库时, 执行到  context.UserPermission.Add(permission); 时提示错误信息:提供程序未返回 P...

hibernate.cache.auto_evict_collection_cache 报错:The instance was not associated with this session/org

org.hibernate.cache.internal.CollectionCacheInvalidator.evictCache(CollectionCacheInvalidator.java:1...
  • cjsxjm
  • cjsxjm
  • 2016年05月19日 22:50
  • 2612

failed to lazily initialize a collection of role: ......, no session or session was closed

我在用ssh框架编写图书管理系统的时候遇到了这样的错误org.hibernate.LazyInitializationException: failed to lazily initialize a ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Collection <__NSCFDictionary: 0xc425570> was mutated while being enumerated.
举报原因:
原因补充:

(最多只允许输入30个字)