indexPath no se actualiza después de usar deleteRowsAtIndexPaths

Creé un método que actualiza mi UITableView cuando el usuario quiere eliminar una celda.

-(void)removeMoreFriendsRow:(NSNotification *)notification {
NSDictionary *d = [notification userInfo];
NSIndexPath *index = [d objectForKey:@"indexPath"];

[self.p_currentFriends removeObjectAtIndex:index.row];

[self.o_table deleteRowsAtIndexPaths:[NSArray arrayWithObject:index] withRowAnimation:UITableViewRowAnimationRight];
}

p_currentFriends es un NSMutableArray que contiene todos los objetos impresos por el UITableView.

Este método funciona bien cuando lo uso una vez, pero falla cuando lo uso más de una vez.

Parece que el indexPath permanece igual en cada llamada de deleteRowsAtIndexPaths.

Por ejemplo, - en la primera llamada, el usuario toca la segunda celda, indexPath = [0,1] y la celda correcta se elimina, - en la segunda llamada, el usuario toca la tercera celda y indexPath = [0, 3] en lugar de [0,2]

/ * Espero que sea lo suficientemente claro: / * /

La única forma que encontré para hacer que funcione es usar reloadData pero quiero tener una animación en la eliminación de celdas.

¿Alguien tiene una solución o una pista?

Respuestas a la pregunta(6)

Su respuesta a la pregunta