2010-02-09 4 views
1

Я просто пытаюсь удалить строку из UITableView со следующим кодом:Удаление строки из UITableView аварий

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if (editingStyle == UITableViewCellEditingStyleDelete) 
    { 
     [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; 
    } 
} 

Проблема заключается в том, что мое приложение падает. (GDB: принятый программный сигнал: «EXC_BAD_INSTRUCTION».) Кто-нибудь знает, почему?

+0

У вас есть символическая точка останова на objc_exception_throw? Если нет, попробуйте добавить это и посмотреть, где выполняется выполнение. – kubi

+0

также, если вы поместите 4 пробела перед своим кодом, он будет лучше отформатирован и прост в чтении. – kubi

+0

ОК, спасибо за форматирование моего кода. выполнение останавливается здесь: + [NSException raise: format: arguments:] ... любая идея? – Sean

ответ

8

Вы, вероятно, нужно изменить номер возвращается в

- (NSInteger)tableView:(UITableView *)aTableView numberOfRowsInSection:(NSInteger)section 

для indexPath.section быть один меньше, чем до удаления.

+0

ОК, я попробую это. благодаря! – Sean

+2

yep, перед удалением этой строки мне пришлось удалить объект из моего массива. знайте, что это работает! благодаря – Sean

Смежные вопросы