報(bào)錯(cuò): Collection <__NSArrayM: 0x170052360> was mutated while being enumerated
原因: 在遍歷數(shù)組的同時(shí)蝌蹂,對數(shù)組里面的內(nèi)容進(jìn)行修改,導(dǎo)致崩潰
解決方法: 先將這個(gè)數(shù)組賦值給一個(gè)tempArray点晴,遍歷tempArray時(shí)修改原數(shù)組
- (void)setCateTitles:(NSMutableArray *)cateTitles {
_cateTitles = cateTitles;
/// 需求:無論怎么修改頻道分類數(shù)組爸黄,都要保持標(biāo)題欄的前兩位一直是<精彩推薦>和<全部直播>
/// 當(dāng)每一次修改頻道分類標(biāo)題調(diào)用set方法時(shí)歌逢,進(jìn)行判斷,如果沒有<精彩推薦>和<全部直播>就插入
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++;
}
}