Swift 2/Xcode 7: 无法识别的选择器发送到实例

Swift 2/Xcode 7: unrecognized selector sent to instance

我的函数是这样的,它是用 "done" UIBarButtonItem 调用的。

@IBAction func done(sender: UIBarButtonItem) {
    dismissViewControllerAnimated(true, completion: nil)
}

我已经阅读了多个其他 questions/answers 关于已删除的实例或 Interface Builder 或视图控制器代码中的 old/extra 连接。但是,我只有这个功能全部正确连接,没有任何额外的挥之不去的连接。如何摆脱 "unrecognized selector sent to instance" 错误

提前致谢!

根据题中提供的信息我怀疑

还有不需要的连接。看看你能做到:

1) 转到 IB 并 select 按钮。

2) 右击按钮,查看所有操作。如果您看到任何不需要的操作,请将其删除并重试 运行。

您也可以通过编程方式完成

像这样设置 UIBarButtonItem 的目标

var b = UIBarButtonItem(
    title: "Continue",
    style: .Plain,
    target: self,
    action: "sayHello:"
)

func sayHello(sender: UIBarButtonItem) {
}

如果你不想在 sayHello 函数中有任何参数,你可以这样做

var b = UIBarButtonItem(
    title: "Continue",
    style: .Plain,
    target: self,
    action: "sayHello"// Remove the colon
)

func sayHello() {
}

让我知道它是否适合你