reason: ‘*** Collection was mutated while being enumerated

2015-09-22 16:45:42.229 ViewTest[2638:c07] *** Terminating app due to uncaught exception ‘NSGenericException’, reason: ‘*** Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated.

當程序出現這個提示的時候,是因爲你一邊便利數組,又同時修改這個數組裏面的內容,導致崩潰,網上的方法如下:

NSMutableArray * arrayTemp = xxx;
NSArray * array = [NSArray arrayWithArray: arrayTemp];
for (NSDictionary * dic in array) {
   if (condition){
      [arrayTemp removeObject:dic];
   }
}

這種方法就是在定義一個一模一樣的數組,遍歷數組A然後操作數組B

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章