0

所以我在 cocos2d 中遇到了 EXC_BAD_ACCESS 错误。从到目前为止我一直在搜索的内容来看,它主要与尝试释放已经释放的对象有关。我之前遇到过这个错误,它的解决方案很简单,几乎是由释放一个释放的对象引起的。但是现在,使用 cocos2d(不确定这是否是他们框架中的错误),我在这一行得到了 EXC_BAD_ACCESS:

CCMenuItemSprite *btn = [CCMenuItemSprite itemFromNormalSprite:op selectedSprite:op target:self selector:NSSelectorFromString([sceneMethods objectAtIndex:i])];

基本上,我正在创建一个简单的菜单系统,以便于维护和更新。没什么太严重的。在这个特定的行中,我正在创建一个以 self 作为目标并使用选择器的 CCMenuItemSprite。我已经断言作为参数传递的选择器是正确的,并且还尝试对正常和选定的精灵使用不同的(尽管这不应该有任何区别)但仍然不行!错误在 cocos2d 框架中很深,正是当 CCMenuItem 被“激活”时,它调用了同一类的 NSInvoker 上的调用。并分析堆栈跟踪,它恰好在调用方法上崩溃,这导致人们相信它与 NSInvoker 有关。有人有类似的问题或对此问题有建议吗?提前致谢。

4

1 回答 1

0

只是一个猜测:您完全确定 sceneMethods 中的所有对象都是真正的选择器吗?

于 2010-05-25T16:09:30.857 回答