使用box2d发生奇怪的xcode错误

时间:2011-04-04 08:55:24

标签: objective-c xcode cocos2d-iphone box2d objective-c++

我正在使用xcode4和box2d / cocos2d。

我遇到了一些奇怪的困难,即随机弹出的运行时错误' 我认为当我在重建/跑步之前不停止这个过程时,它们会发生更多 通常如果我在重建/运行错误之前停止该过程不会发生。

有时我会得到:

  

' NSInvalidArguementException',原因   ' - [ConstructLayer createCog :::]:   无法识别的选择器发送到实例   0x554ecd0。

有时我在名为

的文件中收到一个奇怪的错误
  

LLVM:InstCombiner :: DoOneIteration(LLVM ::功能及安培;,   无符号   INT)_disassembly_0x026bc64f.nasm

突出显示该行:

  

0x02bc64f< + 0439> mov 0x20(%eax),%ecxn

     

有时我得到一个错误:对象0x68d4ba4的malloc * 错误:释放对象的错误校验和 - 对象可能在被释放后被修改。

这是我的dealloc方法:

- (void) dealloc{
delete world;
world = NULL;
body_block1 = NULL;
body_egg = NULL;
body_poly = NULL;

[_block1 release];
[_egg release];
[_poly release];
[super dealloc];
}

究竟发生了什么?通常错误会在重新开始运行之前连续发生3次并出现不同的错误 救命啊!
谢谢,
奥利弗。

1 个答案:

答案 0 :(得分:1)

尝试在释放后使数组为零。

[_block1 release];
_block = nil;

[_egg release];
_egg = nil;

[_poly release];
_poly = nil;