我有一个firstController和secondController。当在firstController中单击一个单元格时,会在子视图中加载numpad(= secondController)。我想将数字键盘的按钮连接到第一个集合,以便能够立即在firstController的标签中显示数字。数据交易应立即进行。
我无法将按钮连接到第一个ViewController。
这是我第一次尝试使用它,因此我可能会完全错误地看待它。我使用了两个不同的viewControllers来维护情节提要中的概述。
关于如何将数据从VC子视图转发到 super 视图的任何建议?
最佳答案
因为您从第一个运行第二个视图控制器(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) {}
处理按钮的点击。