将数据从模态segue传递给父级

Vas*_*ily 10 ios segue swift

我想将数据(例如set var)从modal segue传递给parent,我该怎么做?

我正在使用该代码退出模态segue:

@IBAction func doneClicked(sender: AnyObject) {
    self.dismissViewControllerAnimated(true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)

我不能segue.destinationViewController在这里使用传递数据,就像我以前在push segues上做的那样.

Sha*_*643 17

在Modal ViewController上创建协议

protocol ModalViewControllerDelegate
{
    func sendValue(var value : NSString)
}
Run Code Online (Sandbox Code Playgroud)

同样在Modal ViewController类中声明

var delegate:ModalViewControllerDelegate!
Run Code Online (Sandbox Code Playgroud)

在ParentViewController中包含此协议ModalViewControllerDelegate

当您从一个viewController移动到另一个viewController时

 modalVC.delegate=self;
        self.presentViewController(modalVC, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

在这里,您可以在ParentViewcontroller中获得您的价值

 func sendValue(value: NSString) {

    }
Run Code Online (Sandbox Code Playgroud)

最后在ModalViewController上

@IBAction func doneClicked(sender: AnyObject) {
delegate?.sendValue("value")
    self.dismissViewControllerAnimated(true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)