gpt4 book ai didi

iphone - 无法识别的选择器发送到实例...再次

转载 作者:行者123 更新时间:2023-12-01 17:27:09 29 4
gpt4 key购买 nike

我目前正在做具有图形功能的计算器应用程序。然后,我在我的计算器中有这个按钮,并将它连接到我的 Calculator2ViewController 上。此外,我将此按钮连接到另一个名为 GraphViewController 的 UIViewController,并将 segue 的标识符命名为 showGraph。 .下面是我的segue的代码。

- (GraphViewController *)graphViewController {
return [self.splitViewController.viewControllers lastObject];
}

- (IBAction)graphPressed {

if ([self graphViewController]) {
[[self graphViewController] setProgram:self.brain.program];
}

else {
[self performSegueWithIdentifier:@"showGraph" sender:self];
}
}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
[segue.destinationViewController setProgram:self.brain.program];
}

在那里,所以没有错误和警告。但是当我尝试运行应用程序并按 Graph按钮,应用程序崩溃并在我的控制台上获取它。
2012-06-18 11:08:17.272 Calculator2[1135:f803] -[Calculator2ViewController graphPressed:]: unrecognized selector sent to instance 0x6c38850
2012-06-18 11:08:17.273 Calculator2[1135:f803] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Calculator2ViewController graphPressed:]: unrecognized selector sent to instance 0x6c38850'

请告诉我为什么会发生这种情况以及如何以更好的方式做到这一点。谢谢!

编辑:
已更改 - (IBAction)graphPressed- (IBAction)graphPressed:(id)sender .转场现在有效。但是,我的控制台上有这个通知(有点吓人)
2012-06-18 11:30:02.955 Calculator2[1260:f803] nested push animation can result in corrupted navigation bar
2012-06-18 11:30:03.308 Calculator2[1260:f803] Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
2012-06-18 11:30:03.309 Calculator2[1260:f803] Unbalanced calls to begin/end appearance transitions for <GraphViewController: 0x6e458d0>.

最佳答案

graphPressedgraphPressed:是不同的方法。一个有参数参数,另一个没有。您已将其实现为:

-(IBAction)graphPressed

但是您可能已在 header 中将函数声明为:
-(IBAction)graphPressed:(id)sender

它(正确地)将其视为两个完全独立的功能。现在,您实际上可以在没有任何参数( -(IBAction)graphPressed )或使用参数( -(IBAction)graphPressed:(id)sender )的情况下声明和实现它,但重要的是它是 声明和实现一致 .声明和实现必须相同。

只是一个提示,最好始终将 IBActions 声明为 -(IBAction)myButtonWasPressed:(id)sender因为这可以让您知道按下了哪个按钮(通过 sender 参数),并且它允许您拥有多个触发相同事件的按钮,并且仍然能够判断哪个按钮被按下。

关于iphone - 无法识别的选择器发送到实例...再次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11076559/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com