Ich habe eine Tabellenansicht mit mehreren Abschnitten. Zu einem bestimmten Zeitpunkt möchte ich einen Abschnitt aus der TableView löschen. Dazu habe ich eine Geste lange Tippen auf den Headern und auf dem langen Hahn bringe ich eine UIMenuController wie so:EXC_BAD_ACCESS Beim Versuch, TableView zu löschen Abschnitt
UIMenuController *deleteMenu = [UIMenuController sharedMenuController];
UIMenuItem *delete = [[UIMenuItem alloc] initWithTitle:@"Delete" action:@selector(deleteCell:)];
[deleteMenu setMenuItems:[NSArray arrayWithObject:delete]];
[deleteMenu update];
[deleteMenu setTargetRect:CGRectMake(0, 0, 320, 460) inView:self.superview];
[deleteMenu setMenuVisible:YES animated:YES];
Diese in meiner benutzerdefinierten Ansicht Unterklasse erfolgte für die Header. In der deleteCell:
-Methode rufe ich eine Delegate-Methode auf (der Delegat ist der View-Controller, der die Tabellenansicht besitzt). Bei der Durchführung des Delegatmethode versuche ich wie so einen Abschnitt zu löschen (Abschnitt ein int ist):
[statsTable deleteSections:[NSIndexSet indexSetWithIndex:section] withRowAnimation:UITableViewRowAnimationAutomatic];
An dieser Linie, ich eine EXC_BAD_ACCESS bekommen. Das komische daran ist, dass Xcode auch in diesem Fall abstürzt, so dass ich die Ursache für BAD_ACCESS nicht sehen kann. Wenn jemand weiß, warum das passiert, würde Ihre Hilfe sehr geschätzt werden.
Danke,
EDIT :: die Lösung gefunden, die vc, die die Tableview hat der Ersthelfer zu werden, um es Ihnen etwas aus dem Tableview löschen zu lassen. Danke
Haben Sie versucht, mit NSZombies zu laufen? – CodaFi
Nein, können Sie mir sagen, wie das geht? Ich dachte, ich würde das nicht brauchen, weil ich ARC benutze. –
Hm, mit ARC hast du recht, du solltest nicht müssen. rufst du -beginUpdates und -endUpdates an, bevor du den Abschnitt löschst? – CodaFi