1

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

-(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];
        }

谢谢

4

1 回答 1

0

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

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

   if (editingStyle == UITableViewCellEditingStyleDelete) 
   {
      [myarray removeObjectAtIndex:indexPath.section];
        [Table reloadData];
   }
 }
于 2012-06-16T02:43:39.407 回答