Pasar NSString a través de prepareForSegue – Swift

Estoy tratando de pasar una cadena a mi controller de vista modal que se ve a continuación, utilizando el método prepareForSegue. Vea abajo:

Aquí está mi controller de vista inicial donde presentaré la vista modal:

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { if segue.identifier == "newProject" { var newProjectVC:ModalViewController = ModalViewController() newProjectVC = segue.destinationViewController as ModalViewController newProjectVC.testString = "hello" } } 

Aquí está mi controller de vista modal:

 import UIKit class ModalViewController: UIViewController { var testString:NSString! override func viewDidLoad() { println(self.testString) } } 

Aquí se ve lo que parece en el guión gráfico:! [Ingrese la descripción de la image aquí] [1]

El problema es que arroja una exception en esta línea:

  newProjectVC = segue.destinationViewController as ModalViewController 

Tengo la sensación de que podría ser algo que ver con el controller de navigation, pero estoy inseguro, ¿hay alguna idea?

Tiene razón, el destinoViewController es el controller de navigation no ModalViewController, pruebe que:

 let navigationController = segue.destinationViewController as UINavigationController let newProjectVC = navigationController.topViewController as ModalViewController newProjectVC.testString = "hello"