我想将数据(例如set var)从modal segue传递给parent,我该怎么做?
@IBAction func doneClicked(sender: AnyObject) { self.dismissViewControllerAnimated(true,completion: nil) }
我不能在这里使用segue.destinationViewController传递数据,就像我以前在push segues上做的那样.
解决方法
在Modal ViewController上创建协议
protocol ModalViewControllerDelegate { func sendValue(var value : NSString) }
同样在你的Modal ViewController类中声明
var delegate:ModalViewControllerDelegate!
在ParentViewController中包含此协议ModalViewControllerDelegate
当您从一个viewController移动到另一个viewController时
modalVC.delegate=self; self.presentViewController(modalVC,animated: true,completion: nil)
在这里,您可以在ParentViewcontroller中获得您的价值
func sendValue(value: NSString) { }
最后在ModalViewController上
@IBAction func doneClicked(sender: AnyObject) { delegate?.sendValue("value") self.dismissViewControllerAnimated(true,completion: nil) }