0

之前问过这个问题,我得到了他所寻求的解决方案。现在,我需要放大我的问题。使用委托,如何创建一个委托给 ViewController 将数据发送到 ContainerView 和 ContainerView 将数据发送到 ViewController

4

1 回答 1

1

好吧,我不知道这是否完全是您正在寻找的东西,但是在这种情况下我一直在做的是记录另一个类中的每个视图控制器。

例如,如果您的容器视图具有带有标识符的嵌入 segue,"Embed Segue"那么您的类可能如下所示:

监督班

Class ViewControllerOne: UIViewController {
var data = "This is my data I may want to change"
var subView: ViewControllerTwo?

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "Embed Segue" {
            let destinationVC = segue.destinationViewController as! ViewControllerTwo
            destinationVC.superView = self
            self.subView = destinationVC
        }
    }
}

嵌入式类

Class ViewControllerTwo: UIViewController {
    var data = "This is the other view controller's copy of that data"
    var superView: ViewControllerOne?
}

然后你可以简单地通过分别引用self.subView.data和来在这些视图控制器之间传递数据self.superView.data

编辑:为了让 ViewControllerTwo 将数据传回 ViewControllerOne,它只需要引用self.superView.data. 例如:

Class ViewControllerTwo: UIViewController {
    var data = "This is the other view controller's copy of that data"
    var superView: ViewControllerOne?

    func passDataBack() {
        self.superView.data = self.data
    }
}

然后这将更新第一个视图控制器中的数据变量。

于 2015-12-16T07:30:28.197 回答