performSegueWithIdentifier中的"无法识别的选择器发送到实例"

Sha*_*mad 3 objective-c uiviewcontroller ios unrecognized-selector segue

所以我在View Controller中有一个以编程方式添加的按钮.因此我直接从我的根View Controller创建了一个push segue到下一个.已经嵌入了导航控制器.

这是我设置按钮并添加目标;

registerButton = [UIButton buttonWithType:UIButtonTypeCustom];

[registerButton addTarget:self action:@selector(pushRegisterScreen) forControlEvents:UIControlEventTouchUpInside];
Run Code Online (Sandbox Code Playgroud)

这就是pushRegisterScreen;

- (void) pushRegisterScreen
{
    [self performSegueWithIdentifier:@"registerSegue" sender:self];
}
Run Code Online (Sandbox Code Playgroud)

但这引发了这个例外;

'NSInvalidArgumentException', reason: '-[RegisterScreen _setViewDelegate:]: unrecognized selector sent to instance 0x8d70d70'
Run Code Online (Sandbox Code Playgroud)

Xcode的第一天耶!

rde*_*mar 10

我已经看到了,当你设置的类别的视图(可能是控制器的主视图)的一类,这不是UIView的子类的之前这个错误.确保在设置控制器的自定义类(在故事板中)时,将其设置在控制器上,而不是其视图.

  • 你是一个救生员!我不小心将控制器和注册屏幕场景中的视图设置为从UIViewController子类化的RegisterScene类. (2认同)