Después de actualizar a la Xcode 7, me sale este error «el Valor de tipo de UIViewController no tiene ningún miembro topViewController.» Nadie en este? Es topViewController ya no forma parte de UIViewController?

 override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationItem.leftBarButtonItem = self.editButtonItem()
    let addButton = UIBarButtonItem(barButtonSystemItem: .Search,
        target: self, action: "addButtonPressed:")
    self.navigationItem.rightBarButtonItem = addButton

    if let split = self.splitViewController {
        let controllers = split.viewControllers
        self.detailViewController =
            controllers[controllers.count-1].topViewController as? ### Error heres
        DetailViewController
    }

    model = Model(delegate: self) //create the Model
    model.synchronize() //tell model to sync its data
    self.navigationController?.toolbarHidden = false;
    self.navigationItem.backBarButtonItem = UIBarButtonItem(title:"Home", style:.Plain, target:nil, action:nil)
}

OriginalEl autor Michael Sebastian | 2015-09-28

1 Comentario

  1. 5

    Tendrías que hacer explícito, para que sepa que usted está tratando de conseguir la topViewController de UINavigationController en Swift 2:

    self.detailViewController = (controllers[controllers.count-1] as! UINavigationController).topViewController
    sí, terminé de averiguar lo que ocurría. Me puse esto: si vamos a dividir = auto.splitViewController { dejar que los controladores = split.viewControllers auto.detailViewController = (controladores[controladores.count-1]! UINavigationController).topViewController como? DetailViewController }
    as? DetailViewController el casting es muy importante. Gracias.
    Gracias tymac para decírmelo 😉

    OriginalEl autor Unheilig

Dejar respuesta

Please enter your comment!
Please enter your name here