我有一个第一个 Controller 和一个第二个 Controller 。当在第一个 Controller 中单击一个单元格时,数字键盘(=第二个 Controller )将作为 subview 加载。我想将数字键盘的按钮连接到第一个集合,以便我能够立即在第一个 Controller 上的标签中显示数字。数据交易应该是即时的。
我无法将按钮连接到第一个 View Controller 。 这是我第一次尝试使用它,所以我可能完全以错误的方式看待它。我使用了两个不同的 viewController 来维护 Storyboard中的概览。
关于如何将数据从 VC subview 转发到 super View 有什么建议吗?
最佳答案
您可以使用委托(delegate)将数据传递回第一个 Controller 。
在数字键盘 View 上创建委托(delegate)将在有人输入数字时触发。
protocol NumpadDelegate {
func numpadWasPressed(value:Int)
}
以及 numpadvc 上的一个 var,它是委托(delegate)
var delegate: NumpadDelegate?
然后,您的第一个 vc 需要实现委托(delegate)并将其自身设置为委托(delegate)
FirstVC: NumPadDelegate {
func viewDidLoad() {
self.numpadVC.delegate = self
}
}
在有人按下数字时触发的方法调用您的委托(delegate)方法
self.delegate.?numpadWasPressed(numpadValue)
然后第一个 View Controller 将实现该委托(delegate),当按下数字键盘时,您可以从该方法获取数据。
func numpadWasPressed(value:Int) {
//get numpad value here
}
类似的事情
关于ios - 如何从VC subview 向VC super View 发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33629997/