资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

IOS中Foreach使用不当会引起NSGenericException

 最近在做一个应用时,测试时发现一个我写的控制器控制节点出现了问题,开始报NSGenericException错误,日志报的原因时迭代遍历元素时,元素被改变了,一开始我认为是线程同步出了问题,所以把迭代过程用线程锁保护了起来,但是发现问题依旧,然后开始不停查资料,最终发现问题居然在控制器为节点发消息的循环上。

为贺兰等地区用户提供了全套网页设计制作服务,及贺兰网站建设行业解决方案。主营业务为成都网站设计、成都网站建设、贺兰网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

原因就在这 "foreach",它的内部遍历使用了类似 Iterator进行迭代遍历,一旦元素变动,之前的元素全部被失效,所以在foreach的循环当中,最好不要去进行元素的修改动作,若需要修改,循环改为for遍历,由于内部机制不同,不会产生修改后结果失效的问题。

总结一下:遍历元素时,若需要修改原元素,不要使用foreach,而使用for循环。


本文标题:IOS中Foreach使用不当会引起NSGenericException
文章源于:http://cdkjz.cn/article/ghoojd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220