Удалить в tableView

Я просто добавляю эти методы в файл .h:

- (IBAction)EditTable:(id)sender;

- (IBAction) DeleteButtonAction: (id) отправитель;

и в .m файле:

  • (IBAction) DeleteButtonAction: (ID) отправитель { [tableList removeLastObject]; [Таблица reloadData]; }

  • (IBAction) Редактирование: (id) отправитель {

    если (self.editing)

    {

    [super setEditing:NO animated:NO];
    [Table setEditing:NO animated:NO];
    [Table reloadData];
    [self.navigationItem.leftBarButtonItem setTitle:@"Edit"];
    [self.navigationItem.leftBarButtonItem setStyle:UIBarButtonItemStylePlain];
    

    }

    еще {

    [super setEditing:YES animated:YES];
    [Table setEditing:YES animated:YES];
    [Table reloadData];
    [self.navigationItem.leftBarButtonItem setTitle:@"Done"];
    [self.navigationItem.leftBarButtonItem setStyle:UIBarButtonItemStyleDone];
    

    }

}

когда я запускаю программу и нажимаю кнопку удаления (красная кнопка), программа останавливается! в чем проблема? пожалуйста, помогите?


ты злой:(

ОК, снова мой код в файле .h:

- (IBAction)EditTable:(id)sender;
- (IBAction)DeleteButtonAction:(id)sender;

и в .m файле:

- (IBAction)DeleteButtonAction:(id)sender{
    [tableList removeLastObject];
    [Table reloadData];
}
- (IBAction) EditTable:(id)sender{

  if(self.editing)

{
[super setEditing:NO animated:NO];
[Table setEditing:NO animated:NO];
[Table reloadData];
[self.navigationItem.leftBarButtonItem setTitle:@"Edit"];
        [self.navigationItem.leftBarButtonItem setStyle:UIBarButtonItemStylePlain];
}
else
{
[super setEditing:YES animated:YES];
[Table setEditing:YES animated:YES];
[Table reloadData];
[self.navigationItem.leftBarButtonItem setTitle:@"Done"];
[self.navigationItem.leftBarButtonItem setStyle:UIBarButtonItemStyleDone];
} }  

когда я запускаю программу и нажимаю кнопку удаления (красная кнопка), программа вылетает! в чем проблема? пожалуйста, помогите?

Ответы

Ответ 1

Если я не ошибаюсь, вы хотите удалить ячейку таблицыView при нажатии кнопки удаления....

Вам нужно вызвать другой метод tableview:

//To Delete the Data
- (void)setEditing:(BOOL)editing animated:(BOOL)animated {
    // Updates the appearance of the Edit|Done button as necessary.
    [super setEditing:editing animated:animated];
    [tblViewBM setEditing:editing animated:YES];
    // Disable the add button while editing.
}


- (void)tableView:(UITableView *)tableView commitEditingStyle:
(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {

 if (editingStyle == UITableViewCellEditingStyleDelete) {

//Use your Array from which you need to delete the data.
  NSMutableDictionary *dict=(NSMutableDictionary *)[appDel.BookMarkAry objectAtIndex:indexPath.row];
  type=[dict valueForKey:@"type"];

  [appDel.BookMarkAry removeObjectAtIndex:indexPath.row];


  [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];


  [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
 } 
}

Я уверен, что это определенно поможет вам удалить ячейку с данными из массива.