Cómo actualizar un UITableVIewCell sin volver a cargar la tabla completa

Posible duplicado:
¿Es posible actualizar una única UITableViewCell en una UITableView?

En una secuencia estoy actualizando solo un object particular en mi list de datos (NSMUtableArray), una vez actualizado su valor, Para actualizar la GUI, volví a cargar la tabla completa como se muestra a continuación …

[table reloadData]; 

Funcionó bien, sin embargo, en el punto de eficiencia, está colgando un poco mientras estoy desplazándome, ¿hay alguna forma de actualizar solo una celda en particular sin recargar la tabla completa?

Gracias.

  - (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation; 

Utilizar esta

Puedes usar esto …

 NSArray *indexPathArray = [NSArray arrayWithObject:[NSIndexPath indexPathForRow:1 inSection:0]]; //You can add one or more indexPath in this array... [tblview reloadRowsAtIndexPaths:indexPathArray withRowAnimation:UITableViewRowAnimationFade]; 

Puede recargar una fila de imágenes en particular utilizando la ruta de índice.

  [mainTableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationNone]; 

Puede get el object celular mediante:

 UITableViewCell *cell = [table cellForRowAtIndexPath:indexPath]; 

Ahora cambie sus valores relacionados según su object de la matriz de datos. Debería reflejarse en la tabla. Espero que esto ayude.

A medida que realiza una actualización de GUI, es mejor usar reloadData en lugar de usar cualquier otro método. reloadData es la mejor manera en su caso de actualizar UITableView ya que evita la incoinheritance. La otra cosa que puede hacer es, puede agregar una condición en su cellForRowAtIndexPath y permitir que la ejecución ocurra solo para la celda que se modifica.

Si solo está agregando un elemento y desea agregarlo a la tabla, puede insertlo manualmente en su UITableView, aquí hay un ejemplo:

 NSIndexPath *indexPath = [NSIndexPath indexPathForRow:_directions.count-1 inSection:0]; NSArray *indexPaths = [NSArray arrayWithObject:indexPath]; [self.tableView insertRowsAtIndexPaths:indexPaths withRowAnimation:YES];