indexPath wird nach Verwendung von deleteRowsAtIndexPaths nicht aktualisiert

Ich habe eine Methode erstellt, die mein UITableView aktualisiert, wenn der Benutzer eine Zelle löschen möchte.

-(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 ist ein NSMutableArray, das alle Objekte enthält, die von UITableView gedruckt werden.

Diese Methode funktioniert einwandfrei, wenn ich sie einmal verwende, schlägt jedoch fehl, wenn ich sie mehrmals verwende.

Es scheint, dass der Indexpfad bei jedem Aufruf von deleteRowsAtIndexPaths derselbe bleibt.

Beispiel: - Beim ersten Aufruf tippt der Benutzer auf die zweite Zelle, indexPath = [0,1] und die richtige Zelle wird gelöscht. - Beim zweiten Aufruf tippt der Benutzer auf die dritte Zelle und indexPath = [0]. 3] statt [0,2]

/ * Hoffe, dass ich klar genug bin: / * /

Die einzige Möglichkeit, die ich gefunden habe, um dies zu erreichen, ist die Verwendung von reloadData, aber ich möchte eine Animation zum Löschen von Zellen haben.

Hat jemand eine Lösung oder einen Tipp?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage