present modally modal close ios uiviewcontroller swift segue modalviewcontroller

ios - modally - Pasar NSString a través de prepareForSegue-Swift



swift present modal view controller programmatically (1)

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

Aquí está mi controlador 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 controlador de vista modal:

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

Esto es lo que parece en el guión gráfico:! [Introduce la descripción de la imagen aquí] [1]

El problema es que arroja una excepción en esta línea:

newProjectVC = segue.destinationViewController as ModalViewController

Tengo la sensación de que podría tener algo que ver con el controlador de navegación, pero no estoy seguro de ninguna idea.


Tiene razón en que el destino ViewController es el controlador de navegación, no ModalViewController, intente lo siguiente:

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