8

Estoy desarrollando una aplicación para iOS que utilizan principalmente una UITableView. Recupera páginas de artículos de un servidor. Tenemos> 25000 artículos; así que he implementado un pull-to-refresh y un desplazamiento infinito para viajar a través de la colección de títulos. Los descargados persisten usando datos centrales; NSFetchedResultsController se utiliza para actualizar automáticamente el UITableView.UITableView mantener el rollo en la posición correcta durante la actualización NSFetchedResultsController

Sin embargo, he implementado el desplazamiento infinito ser en ambas direcciones; arriba y abajo. Como el usuario podrá desplazarse hacia abajo por los 25000 títulos de los artículos, tengo que eliminar el que el usuario ya ha desplazado. Si el usuario se desplaza hacia arriba, tengo que volver a insertar el título encima del actual. Al hacerlo, tengo una ventana móvil dentro de la colección de artículos.

visualizar mis artículos por el grupo fecha utilizando la sección y la cabecera.

El problema es que debido a que el desplazamiento infinito va en ambas direcciones, a menudo suprimir o añadir el artículo a una posición más alta en la tabla. Infact para lograr eso, tengo que cambiar el predicado asociado a NSFetchedResultsController.

Este resultado por desplazamiento de rollos. Lo he hecho retroceder a la posición en la que se suponía que era ish. No es bueno porque es un salto (animación: NO), si pongo la animación en ON, va por todo el lugar antes de volver a la posición correcta. Y la posición no es exactamente la que debería ser.

No estoy seguro de que así expliqué mi problema. Creo que el problema podría estar en la forma en que estoy usando el UITableView, pero no estoy seguro de cómo debería usarlo para mejorarlo.

Saludos

+0

Estoy tratando de resolver esto también, nada prometedor hasta ahora. – jessecurry

+0

me suena que en realidad no necesita desplazamiento infinito (la vista de tabla admite tantas filas) a menos que realmente necesite los datos para calcular la altura de fila. –

+0

¿cómo se calcula la nueva compensación con respecto a la anterior? me parece que este es el único problema que queda –

Respuesta

1

Si sólo almacenar títulos de los artículos en la base de datos, creo que puede manejar 25.000 títulos.

Sin embargo creo que el problema que tienes es con la paginación de los elementos visibles de la tabla

Aquí está una link que solía manejar algo que ha solicitado. Tendrá que modificar un poco para usar Core Data y una fuente remota.

Por favor, publique algo de código si se puede lo que puede echar un vistazo.

Cuestiones relacionadas