2010-05-10 12 views
6

Estoy trabajando en una aplicación de iPhone. La aplicación carga muchos registros desde un servicio web al controlador de vista de tabla. Me gustaría cargar inicialmente 25 registros y permanecer en 25 lotes al hacer clic en "Cargar 25 más" al final de la vista de tabla.Cómo implementar "Cargar 25 más" en UITableViewController

Cualquier ayuda sería muy apreciada.

Gracias

Respuesta

6

Sólo hay que poner un botón conectado a un evento en el pie de la tabla. Cuando se hace clic en el botón, añada los siguientes 25 resultados a su matriz de elementos ya existente.

Después de eso, solo haga un [self.tableView setNeedsDisplay]. Lo uso para que mi mesa sepa que tengo datos adicionales en la mesa. Al usar eso, no hay necesidad de desplazarse a la línea derecha de la tabla, ya que mantiene su posición original.

Además, por qué llamar al método viewDidAppear, esto me parece incorrecto, porque (por supuesto) la vista ya apareció y todas las delecciones y asignaciones que haces allí se vuelven a hacer. Simplemente coloque las cosas que necesita hacer mientras mira la vista Y cuando está agregando datos en un método separado y llame a ese método desde su evento de presionar un botón y desde el evento viewDidAppear.

+0

Muchas gracias por tu respuesta Suena como un buen enfoque. Exactamente lo que estoy buscando. Lo intentaré y lo actualizaré cuando haya terminado. – Leo

+0

Ow, también, para agregar una matriz a su matriz existente: [yourCurrentArray addObjectsFromArray: newArray]; El newArray puede contener (por ejemplo) resultados recién obtenidos. –

+0

Brillante! Gracias – Leo

0

que hacen casi lo mismo en mi solicitud, consiguiendo 50 primeros registros de servicio web. Como pie de tabla, tengo una vista con los botones siguiente/anterior, que cuando se presiona, se inicia una solicitud de búsqueda para los 50 resultados siguientes/anteriores. Después de procesar la solicitud de búsqueda, invoco viewWillAppear: animated: para mi controlador de vista y dentro de [self.tableView reloadData], por lo que estos resultados aparecen en la misma vista de tabla. Por eso, guardo los datos solo para los resultados presentados, pero depende de sus necesidades.

Esperanza esto ayuda

+0

Cuando obtengo otros 25 registros y llamo a viewWillAppear para volver a cargar los datos, ¿se agregarán a los primeros 25 o los reemplazarán? – Leo

+0

En mi caso, los reemplaza, ya que utilizo la misma matriz, por lo que antes de analizar los próximos 50 resultados, limpio la matriz. Por lo tanto, no agrega resultados, sino que los reemplaza –

+0

Gracias por su respuesta. Realmente lo aprecio ¿Tienes alguna idea de cómo podemos lograr el agregado? – Leo

0

escribí algo que hace exactamente lo que usted describe, un puesto que en github: https://github.com/nmondollot/NMPaginator

Se encapsula la paginación, y las obras con prácticamente cualquier servicio web usando la página y los parámetros de página. También presenta una UITableView con búsqueda automática de los próximos resultados a medida que se desplaza hacia abajo. Espero que sea útil.

+0

¡Muchas gracias! Este proyecto es muy útil. – BlackMamba

Cuestiones relacionadas