为什么我的segue导致“无法识别的选择器发送到实例”NSInvalidArgumentException?

时间:2018-03-27 00:13:21

标签: ios swift segue uistoryboard unrecognized-selector

尝试使用segue从我的第一个ViewController移动到我的第二个ViewController(都使用相同的故事板)。我的第一个ViewController有两个按钮,一个显示“Male”,一个显示“Female”(我知道,并非每个人都与这两个中的一个相关联),我想要一次点击,移动到第二个ViewController。我将按钮拖放到我的代码中以获得以下内容:

@IBAction func femaleButton(_ sender: AnyObject)
{
    Globals.onboardingList.append("girl")
    print("it's a girl!")
    performSegue(withIdentifier: "femaleSegue", sender: self)
}

男性按钮完全相同。使用printlines我知道程序一直工作到“performSegue”行。我添加了视觉segues并将他们的标识符设置为maleSegue和femaleSegue。但是,我收到以下错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: '-[Train.SecondVC 
_setViewDelegateContentOverlayInsetsAreClean:]: unrecognized selector 
sent to instance 0x7fc482d02b00'

非常感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

在我的情况下,出现此错误是因为我做了一个自定义的ViewController类,并错误地将其分配给了Storyboard中的View而不是ViewController。检查Storyboard View和ViewControllers中的自定义类,并确保已正确设置它们。

答案 1 :(得分:2)

我无法确定真正的问题,因为我认为你没有使用正确的标识符,或者从错误的视图控制器中从故事板中建立了segue连接,但为了确保,请确保一个segue ctr +点击按钮,将其拖动到第二个屏幕并评论您的操作,如果这样做,然后删除该segue和前两个segues并再次执行但是重点关注这次:)