当前位置 : 主页 > 手机开发 > ios >

ios – 单击按钮时发送到实例错误的无法识别的选择器

来源:互联网 收集:自由互联 发布时间:2021-06-11
我不完全确定为什么我会收到这个错误.当我单击FirstViewController上的按钮时会发生这种情况: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[FirstViewController 1ButtonPre
我不完全确定为什么我会收到这个错误.当我单击FirstViewController上的按钮时会发生这种情况:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[FirstViewController 1ButtonPress:]: unrecognized selector sent to instance 0x10954bbd0'

我的FirstViewController有一个按钮(1ButtonPress),它与另一个ViewController执行一个segue,它有一个嵌入的NavigationController(因此在我的故事板中,segue是从FirstViewController到NavigationController).在这个segue上,一些数据通过以下方式传输到另一个ViewController:
First.m

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"abc"]) {
            UINavigationController *navController = [segue destinationViewController];
            SecondViewController *BVC = (SecondViewController *)(navController.topViewController);
        BVC.BLLImg = [UIImage imageNamed:@"SomeImage.jpg"];
        BVC.BLLTitle = @"SomeText";
    }

}

segue在故事板中具有标识符“abc”.环顾四周,我认为它与不正确的课程有关,但第一次检查的一切看起来都很好.我会收到此错误的任何其他原因?

让我们来看看你看到的错误.它说一个无法识别的选择器被发送到FirstViewController的一个实例.

根据我的推断,您将按钮连接到视图控制器,稍后从视图控制器中删除实现,假设它将您之前创建的连接从按钮移除到视图控制器.不幸的是,这不是它的工作原理.您还需要从按钮中删除连接.

要做到这一点,请右键单击故事板中的按钮,然后删除说明1ButtonPress:的连接.

旁注:你为初学者理解你做的太多了.请尝试一步一步地浏览Cocoa世界.另外,请阅读this article以了解如何以更易于理解的方式命名方法和变量.

网友评论