手动触发seque后NSInvalidArgumentException

时间:2013-11-14 15:58:02

标签: ios objective-c segue xcode-storyboard

即使在此项目之前我从未在目标C或制作iOS应用程序中工作,我仍然处于支持别人代码的“非常棒”的位置,所以请原谅我,如果我做的事情非常明显或愚蠢

我需要一个带有自定义类的新视图控制器。首先,我在故事板上绘制了视图。然后我创建了一个新的类,我从UIViewController派生出来。然后,我将视图的自定义类设置为我创建的这个新类。我将视图上的单个按钮连接到代码,这样我就可以使它关闭视图,然后我做了一个(手动/模态)segue,这样我就可以从主菜单调用这个新视图了。所有这一切都应该很好,因为我以前使用过它,但我会告诉你我如何称之为segue:

[self performSegueWithIdentifier:@"ScoreCard" sender:self];

现在,我的问题是,当我按下按钮运行上面的操作时,我收到以下错误:

  

- [Scores _setViewDelegate:]:无法识别的选择器发送到实例0x9b4c460

Scores是我的自定义UIViewController类的名称。它的.h文件现在看起来非常简单:

#import <UIKit/UIKit.h>

@interface Scores : UIViewController

- (IBAction)goBack:(id)sender;

@end

除了默认的Xcode和我的goBack实现之外,.m文件没有做任何事情:

- (IBAction)goBack:(id)sender
{
    [self dismissModalViewControllerAnimated:YES];
}

有谁知道我忘记了什么?我昨天以同样的方式成功添加了另一个视图控制器,并且一个工作正常。为什么不这个?

1 个答案:

答案 0 :(得分:2)

你得到的错误, - [得分_setViewDelegate:]:无法识别的选择器......,似乎是由于将UIView的类设置为不是UIView的子类的类。确保您已将视图控制器的类设置为自定义类,而不是视图。