美文网首页
Collection <__NSArrayM: 0x170

Collection <__NSArrayM: 0x170

作者: 字节码 | 来源:发表于2016-12-10 15:02 被阅读16次

报错: Collection <__NSArrayM: 0x170052360> was mutated while being enumerated
原因: 在遍历数组的同时,对数组里面的内容进行修改,导致崩溃

解决方法: 先将这个数组赋值给一个tempArray,遍历tempArray时修改原数组

- (void)setCateTitles:(NSMutableArray *)cateTitles {
    _cateTitles = cateTitles;
    
    /// 需求:无论怎么修改频道分类数组,都要保持标题栏的前两位一直是<精彩推荐>和<全部直播>
    /// 当每一次修改频道分类标题调用set方法时,进行判断,如果没有<精彩推荐>和<全部直播>就插入
    
    NSArray *tempArray = [NSArray arrayWithArray:cateTitles];
    
    NSInteger i = 0;
    for (NSDictionary *dict in tempArray) {
        NSString *value = [dict valueForKey:@"cname"];

        if (i == 0 && ![value isEqualToString:@"精彩推荐"]) {
            NSDictionary *dict1 = @{@"cname" : @"精彩推荐"};
            [cateTitles insertObject:dict1 atIndex:0];
            
        }
        
        if (i == 1 && ![value isEqualToString:@"全部直播"]) {
            NSDictionary *dict2 = @{@"cname": @"全部直播"};
            [cateTitles insertObject:dict2 atIndex:1];
        }
        
        i++;
    }
    
    
}

相关文章

网友评论

      本文标题:Collection <__NSArrayM: 0x170

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