如何将数据传递给Swift中的前一个ViewController(Cocoa应用程序)

时间:2016-11-03 16:47:28

标签: swift macos cocoa viewcontroller

将数据传递到下一个viewController既简单又直接,可以使用prepareSegue方法完成。但是,我无法理解如何将数据传递给Swift中的先前viewController(Cocoa Application)

我在viewControllerB中有一个文本字段,当您在其中键入内容并按下按钮时,我想将其传递给viewControllerA中的标签,而不是在新窗口中打开viewControllerA,我只是希望viewController B被解雇,并且传递的数据在viewControllerA上可见。

这就是它的全部内容。过去48小时我一直坚持下去。任何有关这方面的帮助将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用委托来完成此操作。例如:

protocol NextProtocol: class {
    func sendBack(value: Int)
}

class Previous: NextProtocol {
    func sendBack(value: Int) {
        print("I have received \(value))
    }

    func prepareSegue(...) {
        // get next instance
        var next: Next
        next.delegate = self
    }
}

class Next {
   weak var delegate: NextProtocol?

   func someMethod() {
       delegate?.sendBack(5)
   }  
}