您的位置:首页 > 移动开发 > IOS开发

iOS Mutable集合“古怪”问题备忘

2014-01-23 17:32 323 查看
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];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: