Por supuesto, hay muchos pequeños ajustes de rendimiento que puede usar, pero conozco dos formas principales de acelerar realmente las tablas.
1. Reutiliza las celdas de tu tabla
Este es bastante sencillo. En tableView: cellForRowAtIndexPath: asegúrese de que está intentando quitar una celda antes de crear una nueva. Esto te ahorrara mucho tiempo. Si no está familiarizado con la eliminación de celdas, debería verse así:
#define MY_CELL_ID @ "MyCellId" UITableViewCell * cell = [table dequeueReuseableCellWithIdentifier: MY_CELL_ID]; si (! celda) celda = [[[UITableViewCell alloc] initWithReuseIdentifier: MY_CELL_ID] autorelease];
Si está reutilizando celdas, asegúrese de realizar algún tipo de restablecimiento en el contenido de la celda antes de configurarla con nuevos datos y devolverlos, para evitar efectos secundarios extraños de los datos antiguos que se reutilizan en nuevas celdas.
- ¿Puede una aplicación en Facebook acceder a archivos y aplicaciones no relacionadas en iOS?
- ¿Es Xamarin nativo o multiplataforma? ¿O una nueva tecnología?
- ¿Cuáles son las 3 mejores aplicaciones para iPhone?
- ¿Hay alguna manera de saber qué aplicaciones de iPhone son las que más agotan la batería?
- ¿Cuáles son las mejores aplicaciones alternativas de correo electrónico para iOS?
2. Dibuja tu propio contenido
Si las celdas de su tabla tienen muchas subvistas, serán lentas, especialmente si tiene mucha transparencia. Lo que puede hacer es crear una subclase de UIView que sobrecargue drawRect: y haga todo su propio dibujo manual en lugar de usar el material de subvista automática. Probablemente aún desee incluir UIImageViews como subvistas, pero cualquier texto, gradientes, fondos, líneas, etc., se pueden dibujar a mano muy rápidamente.
Una vez que tenga esa clase UIView de dibujo rápido, la configurará como contentView de UITableViewCell. Hecho correctamente, acelerará enormemente su desplazamiento.
Asi que…
Loopt utiliza ambas estrategias en nuestras vistas complejas de tabla. Tenemos algunas celdas muy complejas que incluyen una tonelada de información, y en su mayor parte se desplazan como mantequilla. La reutilización de celdas es una ganancia razonable para una baja inversión de esfuerzo, pero la verdadera recompensa proviene de poner la grasa en el codo y dibujar a mano las vistas de contenido. Te prometo que una vez que lo hagas funcionar una o dos veces no parecerá demasiado oneroso en el futuro, y te gustarán los resultados.