为什么辅助 ViewConroller 的 First Responder 不显示主要 ViewController 方法?

Why First Responder of secondary ViewConrollers do not show main ViewController methods?

我的主 ViewController 上有一个方法,如下所示:

@IBAction func sendData(_ button: MyButtonClass) {
self.doSomethingWithMy(button)
}

这个视图控制器是主要的。它嵌入在初始的 NavigationController 中。

在这个主要 ViewController 中,我有一个 ViewContainer 导致次要 ViewController。

我正在尝试将此辅助视图控制器中的按钮设置为 运行 主 ViewController.

中的 sendData 方法

就此而言,我尝试将按钮拖到辅助视图控制器的第一响应程序,但 sendData 方法不存在。事实上 Xcode 甚至不让我拖动它并且没有显示任何列表。显然,辅助视图控制器不在响应者链中。

不是应该的吗?

有办法解决吗?

Interface Builder 对响应链一无所知。 First Responder 代理仅列出现有的 UIResponder 方法。要执行 nil 目标操作,沿着响应链寻找要调用的方法,请将您的方法选择器手动添加到 First Responder 代理(使用加号按钮),现在形成连接,完全在视图控制器中工作按钮是。