ios cocos2d cocos3d box2d [21] NSMutableArray 循环删除

转载自:http://lijianyeath.blog.163.com/blog/static/1261149042011525101230120/

方法1:

NSMutableArray *myArray;
NSArray *myArrayCopy = [NSArray arrayWithArray:myArray];
for (NSObject *anObject in myArrayCopy) {
        if (shouldRemove(anObject)) {
                [myArray removeObject:anObject];
        }
}

方法2:

NSMutableArray *array = ...
NSMutableArray *itemsToKeep = [NSMutableArray arrayWithCapacity:[array count]];
for (id object in array) {
    if (! shouldRemove(object)) {
        [itemsToKeep addObject:object];
    }
}
[array setArray:itemsToKeep];

Or

[array release];
array = [itemsToKeep retain];

 

方法3:

NSMutableArray *discardedItems = [NSMutableArray array];
SomeObjectClass *item;
for (item in originalArrayOfItems) {
    if ([item shouldBeDiscarded])
        [discardedItems addObject:item];
}
[originalArrayOfItems removeObjectsInArray:discardedItems];


posted on 2011-11-17 21:14  yang3wei  阅读(185)  评论(0编辑  收藏  举报