ios - 如何从VC subview 向VC super View 发送数据

标签 ios swift2

我有一个第一个 Controller 和一个第二个 Controller 。当在第一个 Controller 中单击一个单元格时,数字键盘(=第二个 Controller )将作为 subview 加载。我想将数字键盘的按钮连接到第一个集合,以便我能够立即在第一个 Controller 上的标签中显示数字。数据交易应该是即时的。

我无法将按钮连接到第一个 View Controller 。 这是我第一次尝试使用它,所以我可能完全以错误的方式看待它。我使用了两个不同的 viewController 来维护 Storyboard中的概览。

关于如何将数据从 VC subview 转发到 super View 有什么建议吗?

When collection cell is clicked the pickerview appears

最佳答案

您可以使用委托(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/

相关文章:

Swift2:按值删除对象的数组扩展 - Foundation

ios - UICollectionViewCell 的标签宽度错误

ios - 如何使用 NSPredicate 过滤存储在 CoreData 中的数组?

iOS 8.3 键盘方向错误

xcode - Swift:不同版本的 XCode 给出不同的错误

ios - 抛出异常的 Swift2 闭包

ios - 以编程方式实现的约束与 Storyboard 中的约束的工作方式不同

ios - 核心数据 ANY ANY 多 INNER JOIN

ios - 核心数据迁移问题: storePath cannot be initiated

ios - 从另一个类访问 IBOutlet