美文网首页
*** Collection <__NSArrayM: 0

*** Collection <__NSArrayM: 0

作者: 隔墙送来秋千影 | 来源:发表于2018-12-04 09:52 被阅读9次
错误信息:reason: '*** Collection <__NSArrayM: 0xb550c30> was mutated while
 being enumerated.'

在数组遍历的过程中出现这个问题,该是因为在遍历的过程中修改了数组中的元素例如删除导致。
例如:

NSMutablerray *array = [NSMutablerray array];  
for (NSString *name in array) {        
    if ([name isEquableTo(@"QiuQian")]){            
        [array removeObject: name];
    }       
}

解决方法:

NSMutablerray *array = [NSMutablerray array];
[array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
        if ([obj isEqualToString:@"QiuQian"]) {
           *stop = YES;
            if (*stop == YES) {
                 [array removeObject: obj];
            }
        }
        *stop = NO; //移除了数组中的元素之后继续执行
        if (*stop) {
            NSLog(@"array is %@", array);
        }
    }];

相关文章

网友评论

      本文标题:*** Collection <__NSArrayM: 0

      本文链接:https://www.haomeiwen.com/subject/hvapcqtx.html