繁体   English   中英

NSMutableArray应用崩溃

[英]App Crashing with NSMutableArray

我对iOS还是很陌生,我也不知道如何找到像JAVA这样的体面的堆栈跟踪,所以我能找到的为什么它崩溃的原因是“ sigabrt”。

我知道这与我刚刚添加的代码有关。

-(void) clearGame {
    for (CCSprite *sprite in placedSprites) {
        if(sprite == nil) continue;
        [self removeChild:sprite cleanup:NO];
        [placedSprites removeObject:sprite];
    }
    placedSprites = [[NSMutableArray alloc] initWithCapacity:1000];
}

我要添加此类的地方是cocos2d中的Layer。 在它的初始化方法中

placedSprites = [[NSMutableArray alloc] initWithCapacity:1000];

我不知道可能出什么问题,因此我们将为您提供帮助。

谢谢!

快速枚举时,不能从NSMutableArray删除对象(请参阅文档 )。

您可以将对象(应删除的对象)添加到单独的NSMutableArray并从“主”数组中删除该数组中的对象:

NSMutableArray *discardedItems = [NSMutableArray array];
SomeObjectClass *item;

for (item in originalArrayOfItems) {
    if ([item shouldBeDiscarded])
        [discardedItems addObject:item];
}

[originalArrayOfItems removeObjectsInArray:discardedItems];

还请参见从NSMutableArray删除对象在迭代时从NSMutableArray删除的最佳方法?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM