Удалить в 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];
}
}
Я уверен, что это определенно поможет вам удалить ячейку с данными из массива.