indexPath não atualizado após o uso de deleteRowsAtIndexPaths

Eu criei um método que atualiza meu UITableView quando o usuário deseja excluir uma célula.

-(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 é um NSMutableArray que contém todos os objetos impressos pelo UITableView.

Esse método funciona bem quando eu o uso uma vez, mas ele falha quando eu o uso mais de uma vez.

Parece que o indexPath permanece o mesmo em cada chamada de deleteRowsAtIndexPaths.

Por exemplo, - na primeira chamada, o usuário toca na segunda célula, indexPath = [0,1] e a célula correta é excluída, - na segunda chamada, o usuário toca na terceira célula e indexPath = [0, 3] em vez de [0,2]

/ * Espero que eu esteja claro o suficiente: / * /

A única maneira que eu encontrei para fazê-lo funciona é usar reloadData, mas eu quero ter uma animação sobre a exclusão de células.

Alguém tem uma solução ou uma dica?

questionAnswers(6)

yourAnswerToTheQuestion