ios多线程同时访问数组问题

  错误: <__NSArrayM: 0x96be3e0>was mutated while being enumerated.
  意思就是数组在被一个线程访问的时候,另一个数组也对它进行访问。
  原因是这样的,我的游戏中,有个掉道具的系统,里面有一个数组来保存出来的道具,用一个计时器不停的检测玩家是否碰到道具,但是道具还不停的出来(在主线程中加入)。这时,一方面是计时器线程定期检测,读写道具数组,另一方面是主线程添加道具也要读写道具数组,这两个线程在不特定的时刻会冲突。
  解决的方法:在次线程中复制一个道具数组的副本,用副本进行遍历检测碰撞。

  NSArray* array=[NSArray arrayWithArray:b];

  本文原发布于键赏乾坤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值