En la Biblioteca de objetos de Xcode, hay dos opciones que se pueden usar para crear vista de tabla: vista de tabla y controlador de vista de tabla. ¿Cuál es la diferencia entre los dos y cuándo se usarían?iOS: cuál es la diferencia entre la Vista de tabla y el Controlador de vista de tabla
Respuesta
Un TableViewController es un ViewController con un TableView incorporado. Esto tendrá los métodos de delegado necesarios ya declarados y configurados. Este VC ya es un delegado de TableView y una fuente de datos. No puede ser redimensionado. Al revés es fácil de usar, la desventaja es una flexibilidad muy limitada.
Una TableView es solo eso una TableView (subclase de UIView). Se puede agregar a ViewController y redimensionarse, usarse junto con otro objeto basado en vista, etc. El aspecto positivo es la flexibilidad, la desventaja es que usted mismo tiene que configurar los métodos de delegado y de origen de datos (en mi opinión, vale la pena el tiempo para obtener la flexibilidad).
Otra nota es que al usar las nuevas celdas de TableView estático (parte de iOS5), debe usar TableViewController.
El UITableViewController
es una subclase del UIViewController
. Ya supone que tendrá UITableView
como su vista raíz, por lo que ya tiene acceso desde el código a tableView (self.tableView). Implementa el protocolo UITableViewDataSource
y UITableViewDelegate
. También le brinda muchos métodos para que anule. Le permite no depender del archivo XIB, porque ya sabe lo que tendrá (UITableView
como rootView).
El UITableView
es sólo UIView
, normalmente tendrá que ajustarse a los protocolos que he hecho referencia anteriormente en su UIViewController
con el fin de poblar (fuente de datos) y trabajar con él (delegado), y es probable que tenga que crear una IBOutlet para su UITableView
.
Por un lado, tiene velocidad pero no es tan flexible como el otro camino. Por el otro, tienes todo lo contrario.
Su respuesta es generalmente correcta pero un poco IB céntrica para mi gusto. Solo para aclarar, IBOutlets ciertamente solo son necesarios en caso de que pretenda usar InterfaceBuilder para diseñar sus vistas. Esa tarea también puede realizarse (a veces mejor) utilizando código simple. – Till
Prefiero usar 'InterfaceBuilder' cada vez que puedo, es más rápido y mantiene el código limpio. Por supuesto, puede declarar un 'UITableView' en su código y simplemente agregarlo a su' UIView', aunque no me gusta. – Peres
- 1. ¿Cuál es la diferencia entre un índice de tabla y un índice de vista?
- 2. ¿Cuál es la diferencia entre una Vista y un Controlador de Vista?
- 3. ¿Cuál es la diferencia entre una vista y una secuencia?
- 4. Entidades asociación mapeo marco entre la vista y la tabla
- 5. Diferencia entre seleccionar de la tabla directamente y ver
- 6. cómo actualizar dinámicamente la vista de tabla en IOS?
- 7. crear tabla de Vista
- 8. ¿Cuál es la diferencia entre una vista y una vista parcial en ASP.NET MVC?
- 9. Vista de desplazamiento y rendimiento de la vista de tabla al cargar imágenes desde el disco
- 10. ¿Cuál es la diferencia entre una vista respaldada por la capa de CoreAnimation y una vista de alojamiento de capa?
- 11. Cambiar el nombre de la tabla o vista de Oracle
- 12. Varias columnas en la vista de tabla
- 13. ¿Cuál es la diferencia entre un procedimiento almacenado y una vista?
- 14. entendimiento Vista Controlador de anidación en IOS
- 15. ¿Cómo puedo "conectar" una vista de tabla a un controlador de vista
- 16. ¿cuál es la diferencia entre un modelo de vista y un objeto de transferencia de datos?
- 17. iOS Cómo agregar STABLE UITableView y otra vista al mismo controlador de vista
- 18. ¿Cuál es la diferencia entre addChildViewController y presentModelViewController
- 19. columna de la tabla no tomará el tamaño completo de la vista de tabla en javaFX
- 20. ¿Cuál es la diferencia entre% TMP% y% TEMP% en las variables de entorno de Vista?
- 21. ¿Cuál es la diferencia entre un esquema y una tabla y una base de datos?
- 22. Diferencia entre la vista de lista y DataGrid en WPF?
- 23. ¿Cuál es la diferencia entre la columna 'estado' y 'estado' en la tabla sales_flat_order en Magento
- 24. Tablas de SQL Server: ¿cuál es la diferencia entre @, # y ##?
- 25. ¿Cuál es la diferencia entre un controlador y un servicio?
- 26. Cuál es la diferencia entre un subproceso y un controlador
- 27. Vista de tabla dentro de vista, dentro de viewcontroller. ¿La mejor manera de hacerlo?
- 28. ¿Cómo puedo cambiar el tipo de controlador de vista de tabla a un controlador de vista normal?
- 29. iPhone Vista de tabla con el alfabeto
- 30. ¿Cómo controlar la vista de tabla de UISearchDisplayController?
Un buen punto al mencionar la falta de cambio de tamaño/compartir el 'UITableView' con otros controles en la misma pantalla cuando se utiliza un' UITableViewController'. Bueno, por otro lado, uno siempre puede usar la parte 'tableHeaderView' y' tableFooterView' para otros controles. – Till
Es cierto, pero cuando se hace algo como tener una SearchBar estática (que no se desplaza), un VC con un TableView funciona bien. –