iOS 报错Collection <__NSArrayM: 0x7fdf0b8154c0> was mutated while being enumerated.'
2015-03-02 23:59
411 查看
顾名思义,在遍历NSMutableArray的时候对其进行了操作.
1. 最简单的方法是创建一个新的相同的数组,一个用来进行遍历,一个进行操作.
错误写法是:
正确的写法是:
2.或者使用block遍历 符合条件后暂停遍历,然后修改内容
参考自:点击打开链接
1. 最简单的方法是创建一个新的相同的数组,一个用来进行遍历,一个进行操作.
错误写法是:
NSMutableArray *dbArray = [....]; for (... in dbArray) { if (.....) { [dbArray removeObjectAtIndex:.]; } }
正确的写法是:
NSMutableArray *dbArray = [....]; NSArray *tempArray = [NSArray arrayWithArray:dbArray]; for (... in tempArray) { if (.....) { [dbArray removeObjectAtIndex:.]; } }参考自:点击打开链接
2.或者使用block遍历 符合条件后暂停遍历,然后修改内容
NSMutableArray *tempArray = [[NSMutableArray alloc]initWithObjects:, nil]; [tempArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { if (....) { *stop = YES; if (*stop == YES) { [tempArray replaceObjectAtIndex:idx withObject:@"3333333"]; } } if (*stop) { NSLog(@"array is %@",tempArray); } }];
参考自:点击打开链接
相关文章推荐
- Bug-iOS: Collection <__NSArrayM: 0x> was mutated while being enumerated.
- 【学习ios之路:Objective-C错误】Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated.
- 解决 Crash:Collection <__NSArrayM: 0x61000024df50> was mutated while being enumerated
- NSGenericException', reason: '*** Collection <__NSArrayM: 0x12a9f7d0> was mutated while being enumer
- iOS之解决崩溃Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated.
- Bug-iOS: Collection <__NSArrayM: 0x> was mutated while being enumerated.
- 解决Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated.-
- 解决Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated.-
- Collection <__NSArrayM: 0xxxxxxx> was mutated while being enumerated.
- 解决Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated.-
- 【错误处理:】Collection <__NSArrayM: 0x12ec10e0> was mutated while being enumerated.
- Collection <__NSArrayM: 0xaf88c50> was mutated while being enumerated.的解决办法
- 【Bug-iOS】Collection <__NSArrayM: 0x> was mutated while being enumerated.
- iOS之解决崩溃Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated.
- 解决Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated.-
- 解决Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated
- Collection <__NSArrayM: 0x> was mutated while being enumerated.
- *** Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated崩溃原因
- *** Collection <__NSArrayM: 0x7f9fb3c48bc0> was mutated while being enumerated问题
- reason: ‘*** Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated