我已经通过按钮点击实现了一个简单的segue。这是视图控制器代码:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
{
if (self.categoryInt == 1)
[segue.destinationViewController setCategoryKey:SD_ADDITION];
else if (self.categoryInt == 2)
[segue.destinationViewController setCategoryKey:SD_SUBTRACTION];
}}
- (IBAction)category1Selected:(id)sender {
self.categoryInt = 1;
[self performSegueWithIdentifier:@"ShowWorksheet" sender:self];}
从日志消息中,我可以看到它完全通过destinationviewcontroller上的ViewDidLoad运行,但随后出错了 with:由于未捕获的异常终止应用程序' NSInvalidArgumentException',原因:' - [MainMenuViewController categorySelected:]:无法识别的选择器发送到实例0x75360e0'
我没有在这些按钮上实现任何特定的选择器。也没有" categorySelected"我的MainMenuViewController中的方法。被调用的方法是" category1Selected"。导致此错误的原因是什么?
答案 0 :(得分:0)
我想你自己回答了这个问题。当你应该发送category1Selected时,你以某种方式发送“categorySelected”。
检查您之前是否已将按钮连接到界面构建器中的categorySelected。如果您之前已执行此操作,但随后在您的代码中将categorySelected的名称更改为category1Selected,则界面构建器可能不会更新。
答案 1 :(得分:0)
这通常是连接错误,请转到您的连接检查器并确保所有内容都正确无误。
如果您不确定断开所有连接并重新连接,请仔细检查所有内容。
除了动作命令外,还要确保没有将操作按钮连接为插座。