tableview删除行问题

时间:2012-06-16 01:00:41

标签: ios uitableview row delete-row

我在尝试删除视图中的右行时遇到问题。我有一个tableview与3个动态创建的单元格分组,而且,我正在使用编辑模式。在每个部分中添加更多行并删除它们时,一切正常,但是当我尝试删除特定行时,它总是删除最后一行。假设我已经添加了行1,2,3(除了de original one)并且我想删除数字2,它总是删除数字3.我还有一个方法可以自动为每个创建的新行提供一个标记。我怎么能通过删除问题?有任何想法吗?我知道我必须以某种方式识别已删除行的标记才能使其正常工作...每个部分都有一行,然后是200行和200行...这是我的代码:

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

    if (editingStyle == UITableViewCellEditingStyleDelete) 
    {
     int i=0;
     for (i=0; i<myarray.count; i++)
     {
        UITableViewCell *aux=[myarray objectAtIndex:i];

        if (aux.tag >= 101 && aux.tag < 200 && indexPath.section==0) {
            [myarray removeObjectAtIndex:i];
            [Table reloadData];
        }
        if (aux.tag >= 201 && aux.tag < 300 && indexPath.section==1) {
            [myarray removeObjectAtIndex:i];
            [Table reloadData];
        }
        if (aux.tag >= 301 && indexPath.section==2) {
            [myarray removeObjectAtIndex:i];
            [Table reloadData];
        }

感谢

1 个答案:

答案 0 :(得分:0)

使用此方法并将其替换为您的方法:

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

   if (editingStyle == UITableViewCellEditingStyleDelete) 
   {
      [myarray removeObjectAtIndex:indexPath.section];
        [Table reloadData];
   }
 }