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"