Ich habe alle diesbezüglichen Beiträge gelesen und habe immer noch einen Fehler:
'Invalid update: invalid number of rows in section 0. The number of rows contained in an existing section after the update (5) must be equal to the number of rows contained in that section before the update (5), plus or minus the number of rows inserted or deleted from that section (0 inserted, 1 deleted) and plus or minus the number of rows moved into or out of that section (0 moved in, 0 moved out).'
Hier sind die Details:
in .h
Ich habe eine NSMutableArray
:
@property (strong,nonatomic) NSMutableArray *currentCart;
In .m
meinem numberOfRowsInSection
Aussehen so:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return ([currentCart count]);
}
So aktivieren Sie das Löschen und Entfernen des Objekts aus dem Array:
// Editing of rows is enabled
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
//when delete is tapped
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
[currentCart removeObjectAtIndex:indexPath.row];
}
}
Ich dachte, wenn meine Anzahl von Abschnitten von der Anzahl des Arrays abhängt, das ich bearbeite, würde dies die richtige Anzahl von Zeilen sicherstellen? Kann man das nicht tun, ohne die Tabelle neu laden zu müssen, wenn man eine Zeile löscht?