我不完全确定为什么会出现此错误。当我单击 FirstViewController 上的按钮时会发生这种情况:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[FirstViewController 1ButtonPress:]: unrecognized selector sent to instance 0x10954bbd0'
我的 FirstViewController 有一个按钮 (1ButtonPress),它与另一个具有嵌入 NavigationController 的 ViewController 执行转场(因此在我的故事板中,转场是从 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 在 Storyboard 中具有标识符“abc”。环顾四周,我相信这与错误的类有关,但第一次检查时一切看起来都很好。
我会收到此错误的任何其他原因吗?
让我们回顾一下您看到的错误。它说一个无法识别的选择器被发送到一个实例FirstViewController
.
根据我的推断,您将按钮连接到视图控制器,并稍后从视图控制器中删除实现,假设它会删除您之前从按钮创建到视图控制器的连接。不幸的是,事实并非如此。您还需要删除按钮的连接。
为此,请右键单击故事板中的按钮,然后删除显示的连接1ButtonPress:
.
旁注:你做的事情太多了,初学者无法理解。请尝试一步步探索可可世界。另外,请阅读本文 https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CodingGuidelines/CodingGuidelines.html了解如何以更易于理解的方式命名方法和变量。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)