Pregunta One UITableView - Multiple DataSource, ¿el mejor patrón de diseño?


Esto parece un problema típico, pero tengo un UITableView que tiene un comportamiento idéntico para dos fuentes de datos separadas. ¿Cuál es la mejor manera de ir diseñando la jerarquía de clases para tener tan poca duplicación y si / else condiciones? El controlador de vista va a hacer exactamente lo mismo para ambas fuentes de datos, solo son únicos en su conjunto de datos. ¿Debo hacer que el controlador principal simplemente configure su fuente de datos / título respectivo?

El mismo problema es relevante también cuando se utiliza un UISegmentControl para mostrar dos vistas con las mismas interfaces, pero diferentes fuentes de datos.


5
2018-01-06 18:46


origen


Respuestas:


Tenga cuidado con su terminología aquí. Un UITableView tiene algo llamado dataSource Pero parece que te refieres, esencialmente, a dos conjuntos diferentes de datos.

En el caso que sugieras, en la tabla. dataSource (el objeto que se adhiere al protocolo UITableViewDataSource), tendría tres matrices.

  • CurrentlyViewedArray
  • datasetOneArray
  • datasetTwoArray

En los métodos de dataSource, use elorlyViewedArray actualmente como el origen de los datos de la tabla.

A continuación, establezca el valor de visualización actual en cualquier matriz que desee ver:

self.currentlyViewedArray = self.datasetOneArray;
[theTableView reloadData];

Puede usar UISegmentedControl para cambiar entre los dos arreglos.


12
2018-01-06 19:05



Preguntas populares