for (car_info *car in [DataManagerdefaultManager].xyscData.cart.currentOrder.selectItems) {
[[NSNotificationCenter defaultCenter] postNotificationName:kNotifDidSelectCar
object:car];
}
在自定义通知中,对这个selectItems集合进行了修改,元素只有一个还好,多了就报错了,类似这个:
Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSCFDictionary: 0x597b3d0> was mutated while being enumerated.
解决方案:用个临时备份来做就好了。
// 这个临时的数组,解决遍历与插入删除同时进行问题 Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSCFDictionary: 0x597b3d0> was mutated while being enumerated.
NSArray *arResume = [NSArray arrayWithArray:[DataManager defaultManager].xyscData.cart.currentOrder.selectItems];
for (car_info *car in arResume) {
[[NSNotificationCenter defaultCenter] postNotificationName:kNotifDidSelectCar
object:car];
}