您的位置:首页 > 移动开发 > Cocos引擎

新手学cocos2D小笔记-NSMutableArray的使用

2011-12-04 14:57 330 查看
当遍历NSMutableArray并删除遍历到的对象,增加需要的对象时,

我首先使用一下方法实现

for (CCSprite *a in anArray){
     do something;

    int index = [anArray
indexOfObject:a];

    CCSprite *b= [CCSprite
spriteWithSpriteFrameName:@"**.png"]; 

   [anArray
replaceObjectAtIndex:index withObject:b];
}

编译通过,但运行时会出现  was mutated while being enumerated.的错误提示;

这是由于使用了枚举方法,在for里面增删会打乱内序,后来用另外一种方法,如下

int count =[anArray
count];
for(int i=0; i < count; i++){

       
CCSprite *b= [CCSprite
spriteWithSpriteFrameName:@"***.png"]; 
        [anArray
removeObjectAtIndex:i];
        [anArray
addObject:b];//我把b加在最后面,为了避免无限循环,count的值一定要在for外面获取。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: