无法识别的select器发送到实例(iOS)

可能重复:
无法识别的select器发送到实例

那么…像其他许多人一样,我得到了一个“无法识别的select器发送到实例”错误…

当我按下button时会出现问题,例如在这种情况下:

-(IBAction)gotoTone:(id)sender { if(self.tone == nil) { Tone *toneMain = [[Tone alloc] initWithNibName:@"Tone" bundle:[NSBundle mainBundle]]; self.tone = toneMain; [toneMain release]; } [self.navigationController pushViewController:tone animated:YES]; } 

错误是:终止应用程序由于未捕获的exception“NSInvalidArgumentException”,原因:' – [音调gotoTone:]:无法识别的select器发送到实例0x531caa0'

我插入一个新的视图作为第一个视图呈现给用户后,开始发生错误…此外,我使用导航栏,并开始我忘记进入MainWindow.xib并将导航控制器更改为新的视图,但现在是固定的。

你可以看到我的整个代码:

发生该文件的.h文件: http ://snipt.org/xnoO文件发生的.m文件: http : //snipt.org/xnoM

不要介意所有的评论线,只是直到我得到这个固定的…

我试着find一个解决scheme,通过阅读“无法识别的select器发送到实例”的其他情况,但我想我只是没有看到解决scheme。 我已经检查了我的IB连接,我已经清理了这个项目,等等…

任何帮助将不胜感激

我遇到了这个问题,并解决了它,只是重新将button连接到名称被修改过的IBAction。 好尴尬。

我认为问题是你正在发送方法gotoTone:到一个Tone对象,但是这个方法是在Forside对象中定义的。 我不确定这是为什么,但是我build议检查你的xib文件中的连接。

您没有提供任何关于如何configurationbutton的信息,但是如果button位于您的nib文件中,则button目标的身份可能被设置为错误的类别。 所以确保button发送消息的对象的类是Forside而不是Tone