Aus*_*tin 2 cocos2d-iphone ios
我对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];
}
Run Code Online (Sandbox Code Playgroud)
我正在添加它的类是cocos2d中的一个层.在它的init方法中,我有
placedSprites = [[NSMutableArray alloc] initWithCapacity:1000];
Run Code Online (Sandbox Code Playgroud)
我不知道什么是错的,所以任何帮助都表示赞赏.
谢谢!
您无法从NSMutableArray快速枚举中删除对象(请参阅文档).
您可以将对象(应该删除)添加到单独NSMutableArray的对象中,并从"main"数组中删除此数组中的对象:
NSMutableArray *discardedItems = [NSMutableArray array];
SomeObjectClass *item;
for (item in originalArrayOfItems) {
if ([item shouldBeDiscarded])
[discardedItems addObject:item];
}
[originalArrayOfItems removeObjectsInArray:discardedItems];
Run Code Online (Sandbox Code Playgroud)
另请参阅从NSMutableArray中删除对象以及迭代时从NSMutableArray中删除的最佳方法?.
| 归档时间: |
|
| 查看次数: |
854 次 |
| 最近记录: |