+ [NSInvocation invocationWithMethodSignature:]:方法签名参数不能为nil(Cocos2d)

时间:2011-11-01 00:32:57

标签: iphone objective-c cocos2d-iphone

我遇到了cocos2d这个问题。希望其他人之前见过这个。错误消息(在标题中):

  

由于未捕获的异常而终止应用   'NSInvalidArgumentException',原因:'+ [NSInvocation   invocationWithMethodSignature:]:方法签名参数不能   零

当我试图画一个场景时,

不停地出现。要点击它,你可以点击主菜单上的一个按钮直接进入它。我已经进入它并且它在我试图添加一些按钮的行上崩溃了:

CCMenuItem *menuItem1 = [CCMenuItemImage 
  itemFromNormalImage:@"menubtn-normal.png" 
  selectedImage:@"menubtn-pressed.png" 
  target:self     
  selector:@selector(displayMatchMaker:)];

当我使用“target:self selector:@selector(displayMatchMaker :)]”不存在的方法时,它工作正常并绘制按钮。 displayMatchMaker:方法在同一实现中存在。我开始在这里失去理智!希望有人可以帮助我!

以下是方法实现:

- (void)displayMatchMaker:(id)sender{
...
}

2 个答案:

答案 0 :(得分:1)

事实证明,代码处于错误的位置。它崩溃了,因为它在技术上看不到方法,即使它在同一个实现中。将代码移动到新位置后,它运行正常。

答案 1 :(得分:0)

如果我没记错,选择器应该没有冒号:

@selector(displayMatchMaker)

  

-(void) displayMatchMaker { }