У меня есть табличное представление с несколькими разделами. В какой-то момент я хочу удалить раздел из таблицыView. Чтобы сделать это, у меня есть длинные отводы жест на заголовках, и на длинном кране я воспитывать UIMenuController так:EXC_BAD_ACCESS При попытке удалить раздел TableView
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];
Это делается в моем настраиваемом представлении подкласса для заголовков. в методе deleteCell:
я вызываю метод делегата (делегат является контроллером представления, которому принадлежит табличное представление). В реализации метода делегата, я стараюсь, чтобы удалить раздел, как так (раздел будучи INT):
[statsTable deleteSections:[NSIndexSet indexSetWithIndex:section] withRowAnimation:UITableViewRowAnimationAutomatic];
На этой линии, я получаю EXC_BAD_ACCESS. Странно, что Xcode также срабатывает, когда это происходит, поэтому я не вижу причины для BAD_ACCESS. Если кто-нибудь знает, почему это происходит, ваша помощь будет очень признательна.
Спасибо,
EDIT :: Найдено решение, вк, который имеет TableView должен стать первым ответчиком для того, чтобы удалить что-то из Tableview. Спасибо
Вы пробовали работать с NSZombies? – CodaFi
Нет, не могли бы вы рассказать мне, как это сделать? Я думал, что мне не нужно, потому что я использую ARC. –
Хм, с ARC вы правы, вам не нужно. вы вызываете -beginUpdates и -endUpdates перед тем, как удалить раздел? – CodaFi