在tableView中删除

时间:2010-04-28 06:40:51

标签: iphone

我只是在.h文件中添加此方法:

- (IBAction)EditTable:(id)sender;

- (IBAction)DeleteButtonAction:(id)sender;

并在.m文件中:

  • (IBAction为)DeleteButtonAction:(ID)发送方{ [tableList removeLastObject]; [表reloadData]; }

  • (IBAction)EditTable:(id)sender {

    如果(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 个答案:

答案 0 :(得分:1)

如果我没有错,那么你想在点击删除按钮时删除tableView的单元格....

您需要调用另一种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];
 } 
}

我确信这肯定会帮助您删除包含数组数据的单元格。