Cualquier problema con el UITableView
rendimiento del desplazamiento se puede resolver utilizando técnicas ya descritas en otras respuestas. Sin embargo, muchas veces el rendimiento lento es causado por algo intrínsecamente erróneo o repetitivo.
El hecho de que UITableView
reutilice las celdas y el hecho de que cada celda pueda necesitar su propia imagen, juntos hace que la solución sea un poco compleja. De cómo se está resolviendo de manera general, aquí resumo las cosas que deben ser atendidas:
- Cargue datos en la fuente de datos, desde REST / base de datos. Este paso debe realizarse en segundo plano, eventualmente usando dispatch_async junto con la cola de GCD.
- Cree e inicialice objetos de modelo de datos relevantes y colóquelos dentro de una matriz
[tableView reloaddata]
- En el interior
cellForRowAtIndexPath
, incluya el código que establecerá los datos (texto) del objeto de modelo de datos correcto de la matriz.
- Ahora las imágenes también pueden estar en forma de URL, por lo que este paso puede ser un poco peculiar debido a la reutilización de celdas realizada por la vista de tabla. El meollo del hecho es cargar una vez más la imagen desde la caché del dispositivo / URL usando la cola asíncrona, luego configurarla para corregir la imagen de celda (cualquiera que sea la propiedad de la imagen de su celda).
Para evitar problemas, consulte este tutorial sobre la carga diferida de imágenes dentro de la vista de tabla.