我刚刚开始使用 Xcode(我使用 Xcode 15.0.1),想要创建一个小应用程序来理解 ViewControllers 之间的转换。按照网上视频的代码,我遇到了错误。我尝试自己解决这个问题,并使用不同的方式来编写相同的操作。但是,我每次都遇到同样的错误。 我想做到这一点,以便从BlueViewController,当我按下“橙色”按钮时,将使用导航控制器转换到OrangeViewController。 这是BlueViewController中的代码。
@IBAction func ShowOrangeViewController(_ sender: Any) {
let orangeVC = self.storyboard?.instantiateViewController(withIdentifier: "OrangeViewController") as! OrangeViewController
self.navigationController?.pushViewController(orangeVC, animated: true);
}
}
这就是 Main 的样子。
当我运行程序并按橙色按钮时,它会触发错误。
Thread 1: "-[UIViewController ShowOrangeViewController:]: unrecognized selector sent to instance 0x103b06a2
如果您查看收到的错误,它会显示找不到的 IBAction 是
-[UIViewController ShowOrangeViewController:]:
。
它试图在
ShowOrangeViewController(_:)
基类中找到您的 UIViewController
方法。您的“Blue View Controller”可能属于自定义类“BlueViewController”,但 IBAction 试图调用错误类中的方法。
做这些事情:
我猜它写的是“UIViewController ShowOrangeViewController”,这是错误的。如果是这样:
ShowOrangeViewController
操作上,并确保它创建一个链接,并且现在正确列出该 IBAction。重新运行您的程序并再次尝试橙色按钮。