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?