我有一个firstController和secondController。当在firstController中单击一个单元格时,会在子视图中加载numpad(= secondController)。我想将数字键盘的按钮连接到第一个集合,以便能够立即在firstController的标签中显示数字。数据交易应立即进行。

我无法将按钮连接到第一个ViewController。
这是我第一次尝试使用它,因此我可能会完全错误地看待它。我使用了两个不同的viewControllers来维护情节提要中的概述。

关于如何将数据从VC子视图转发到 super 视图的任何建议?

ios - 如何将数据从VC subview 发送到VC super  View-LMLPHP

最佳答案

因为您从第一个运行第二个视图控制器(NumpadVC),所以您当然具有对NumpadVC的引用。

合适的解决方案是声明一个协议(在任何类之外)

protocol NumPadDelegate {
  didTapButton(button: UIButton)
}

和一个NumpadVC的代表
var delegate NumPadDelegate?

每次轻按一个按钮
delegate?.didTapButton(button)

并将引用传递给当前按钮。

在第一个视图控制器中,将NumPadDelegate添加到类声明行中,并在过渡到NumpadVC之前,将numpadVC的委托(假设是实例的名称)设置为self
numpadVC.delegate = self

然后实施
func didTapButton(button: UIButton) {}

处理按钮的点击。

07-26 09:30