频繁崩溃解除分配CCNode

时间:2013-08-25 19:07:47

标签: ios objective-c cocos2d-iphone dealloc

我的游戏中有一个继承自CCLayer的对象。这个层MainLayer是游戏的主要组成部分,大多数动作都会发生,并且会显示精灵。

我遇到的问题并且已经尝试了几个小时来解决问题,正在解除这个问题MainLayer。这一层有很多孩子和很多动作。最令人讨厌的部分是,只有在解除分配时才会崩溃,有时候工作正常,我看不出情况有什么不同。

它崩溃的部分是dealloc的{​​{1}}方法:

CCNode

- (void) dealloc { CCLOGINFO( @"cocos2d: deallocing %@", self); [actionManager_ release]; [scheduler_ release]; [camera_ release]; [grid_ release]; [shaderProgram_ release]; [userObject_ release]; // children CCNode *child; CCARRAY_FOREACH(children_, child) child.parent = nil; [children_ release]; [super dealloc]; } child.parent = nil;错误而失败。

关于问题可能是什么的任何想法?

1 个答案:

答案 0 :(得分:0)

是。你正在释放超类负责的对象。据我所知,整个dealloc方法在这里是多余的。它会过度释放所有内部对象。

PS:如果您不接近发布应用程序,请使用ARC。