【发布时间】:2013-04-07 17:07:32
【问题描述】:
应用程序在模拟器和设备上因信号 SIGABRT(调试器输出为 child already added. It can't be added again)而崩溃。当我在模拟器或设备上运行时在 Xcode 中分析应用程序时运行良好。这是为什么呢?
更新:我发现这行代码导致了问题:
Mover *moverObject = [[[Mover alloc] init] autorelease];
NSMutableArray * array = [moverObject moveToward:startPoint :finalPoint]//<-- This is the problem
moveToward 是返回包含从startPoint 到finalPoint 的点的NSMutableArray 的方法。这在今天早些时候工作得很好,但是在我开始测试新的东西之后,我想我把它弄坏了。我只在GameLayer.m(我在其中添加代码)中对实际的Mover.h/.m 没有进行任何更改。我不确定我添加了什么导致问题。
更新 2:我使用断点进行了更多挖掘,发现
GameLayer *gameLayerObject = [[GameLayer alloc] init];<-- This causes the crash
在mover.m 方法moveToward:: 所在的内部,这是它不会崩溃的最远距离。同样的错误是child already added. It can't be added again. 为什么会发生这种情况?
【问题讨论】:
标签: xcode cocos2d-iphone xcode4.5 instruments