我看过弹出此错误的所有其他人,我知道这是一个路径错误,是的我尝试退出并重新启动它,我检查了路径是否使用了最新文件,以及大多数人建议没有成功。我试图从TapViewController获取方法在JumpController中运行。我简化了我想要调用的方法,以便更容易找到问题,但仍然遇到问题。这是我到目前为止的相关代码:
TapViewController.h
-(void)hello;
TapViewController.m
-(void)hello {
NSLog(@"Hello");
}
JumpController.h
#import <UIKit/UIKit.h>
#import 'TapViewController.h'
@property (strong, nonatomic) TapViewController *TapView;
@property (strong, nonatomic) JumpController *JumpControl;
JumpController.m
-(void)viewDidLoad {
self.JumpControl = (TapViewController *)[UIApplication sharedApplication].delegate;
self.TapView = [[TapViewController alloc] init];
[self.JumpControl.TapView hello];
}
我从其他人所说的内容中抓取了大部分代码,所以我真的不知道其中一些代码是否无关紧要,或者是否一切都有助于这种情况。基本上,应用程序在加载陈述[AppDelegate TapView]: unrecognized selector sent to instance...
时崩溃。如果我做错了或者我遗漏了相关代码,请告诉我!
更新:使用其他人所说的内容以及我自己的个人更改,问题似乎不仅与self.JumpControl = (TapViewController *)[UIApplication sharedApplication].delegate
有关,而且与self.JumpControl
整体有关。因为我在TapViewController *TapView
文件中创建了.h
,所以没有理由使用self.JumpControl
,这会导致显示的视图顺序出现问题。我会将 almas 标记为正确,但我想澄清还需要做些什么。
答案 0 :(得分:1)
您的问题在于:[AppDelegate TapView]: unrecognized selector sent to instance
。您正在尝试将AppDelegate转换为TapViewController,这就是它崩溃的原因。 AppDelegate不是视图控制器。您的错误消息refs
明确指出AppDelegate无法识别方法“TapView”,这是因为app delegate不是“TapViewController”的实例。