我在向项目添加新视图控制器时遇到问题。在故事板中,我添加了一个新的视图控制器。然后我添加了新的视图控制器文件。我从详细的披露表视图中添加了一个segue到这个新的视图控制器,但是当我运行它并尝试单击详细按钮时,它崩溃并给我这个错误。
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[DetailsViewController setCompletionHandler:]: unrecognized selector sent to instance 0xa235050'
有谁知道如何解决这个问题?
非常感谢!
编辑:
UIDetailsViewController.h
#import <UIKit/UIKit.h>
@interface UIDetailsViewController : UIViewController
@end
UIDetailsViewController.m
#import "UIDetailsViewController.h"
@interface UIDetailsViewController ()
@end
@implementation UIDetailsViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
答案 0 :(得分:2)
每当您的应用发生unrecognized selector
次崩溃时这意味着您的方法未在您的课程中定义或不可用。请记住,私有方法无法通过类对象访问。
修改强>
Rp:对于你的答案,使用prepareForSegue会是这样的事情,如果你没有这个事件,这对你没有任何问题吗?
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"EventDeatailSeg"]) {
EventDetailViewController *editVc = segue.destinationViewController;
editVc.myEvent = currentEvent;
}
}
答案 1 :(得分:0)
我弄清楚我做错了什么。我没有为新视图控制器设置segue的prepareForSegue。感谢所有帮助人员!