ContenedorView agregar salida

Tengo un ViewController con una Container View que tiene un TableViewController incorporado.

Ahora me gustaría acceder a TableView en el ViewController , ¿cómo puedo hacer una salida para eso?

Intenté agregar la vista de contenedor como una salida, pero no puedo acceder al TableViewController incorporado.

introduzca la descripción de la imagen aquí

No puede hacer una salida directamente porque la vista de la tabla está en una escena diferente (controller de vista), pero puede acceder a la vista de la tabla una vez que tenga una reference a la instancia UITableViewController . Hay un par de forms diferentes de hacerlo.

Primero, puede usar la propiedad childViewControllers de su subclass UIViewController . Si sabe que solo hay un hijo único, puede acceder directamente a él, de lo contrario debe determinar cuál es el hijo correcto, por ejemplo, recorrer el set.

 let myTableViewController = self.childViewControllers[0] as! UITableViewController let theTableView = myTableViewController.tableView 

La segunda opción es acceder al UITableViewController durante la UITableViewController segue. Si hace clic en la opción Insertar en su guión gráfico, puede darle un identificador como con cualquier otra opción. Luego puede implementar prepareForSegue y tomar la instancia incorporada de UITableViewController ,

 override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { if (segue.identifier == "tableviewEmbed") { let myTableViewController = segue.destinationViewController as! UITableViewController let theTableView = myTableViewController.tableView } } 

Personalmente, prefiero este segundo enfoque, ya que creo que es "más limpio"

Cree una salida en el Controlador de vista secundario y acceda a él utilizando self.childViewControllers.lastObject (suponiendo que solo tiene un hijo, use objectAtIndex 🙂