2016-08-18 7 views
0

Я пытаюсь передать значение между моими диспетчерами. Когда я просто подключить кнопку к другому контроллеру представления, как это:(Swift) Передача данных между контроллерами просмотра

enter image description here

Я могу заставить его работать. Я преобладаю prepareforSegue.

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    var DestinationViewController : ViewTwo = segue.destinationViewController as! ViewTwo 
    DestinationViewController.scoretext = score.text! 
} 

Все работает нормально, но когда я программно программирую другой контроллер, значение не передается. Это код, я использую для этого ...

let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
let vc : ViewTwo = storyboard.instantiateViewControllerWithIdentifier("viewtwo") as! ViewTwo 
self.presentViewController(vc, animated: true, completion: nil) 

ответ

1

При использовании instantiateViewControllerWithIdentifier, prepareForSegue не называется. Вы должны будете назначить scoretext только после создания экземпляра.

let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
let vc : ViewTwo = storyboard.instantiateViewControllerWithIdentifier("viewtwo") as! ViewTwo 
vc.scoretext = score.text! 
self.presentViewController(vc, animated: true, completion: nil) 
+0

Спасибо, что сделал! – Ash

Смежные вопросы