在segue上崩溃到新的视图控制器

时间:2014-05-07 06:44:37

标签: ios objective-c uiviewcontroller segue

我在向项目添加新视图控制器时遇到问题。在故事板中,我添加了一个新的视图控制器。然后我添加了新的视图控制器文件。我从详细的披露表视图中添加了一个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

2 个答案:

答案 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。感谢所有帮助人员!