Передача данных из модального сегмента в родительский
Я хочу передать данные (например, set var) из модального сегмента в родительский, как я могу это сделать?
Я использую этот код для выхода из модального segue:
@IBAction func doneClicked(sender: AnyObject) {
    self.dismissViewControllerAnimated(true, completion: nil)
}
Я не могу использовать segue.destinationViewController здесь, чтобы передать данные, как я привык делать на push-сегментах.
2 ответов
создать протокол на модальном ViewController
protocol ModalViewControllerDelegate
{
    func sendValue(var value : NSString)
}
также объявите в Вас модальный класс ViewController
var delegate:ModalViewControllerDelegate!
включить этот протокол ModalViewControllerDelegate в ParentViewController
при перемещении формы одного 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)
}
во втором viewController (показанном segue) объявите переменную как
var parentVC : UIViewController?
тогда, когда вы вызываете segue от родителя
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
    if segue.identifier == "yourSegue" {
        let secondController= segue.destinationViewController as UIViewController
secondController.parentVC = self
    }
}
Так что вы можете использовать
@IBAction func doneClicked(sender: AnyObject) {
    self.parentVC.yourVariable = 0
    self.dismissViewControllerAnimated(true, completion: nil)
}