2012-06-16 85 views
1

我試圖在視圖中刪除正確的行時遇到問題。我有3個動態創建單元格分組的表格視圖,並且,我正在使用編輯模式。當在每個部分中添加更多行並刪除它們時,一切正常,但是當我嘗試刪除特定行時,它總是刪除最後一行。假設我已經添加了行1,2,3(除了原來的行),我想刪除數字2,它總是刪除數字3.我還有一個方法,爲每個新創建的行自動創建一個標記。 。我怎樣才能通過刪除問題?有任何想法嗎?我知道我必須以某種方式識別刪除行的代碼中,以這個工作......每個部分都有一排,100隨後200和300 ......這是我的代碼:tableview刪除行問題

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

感謝

回答

0

使用此方法,用你的替換:

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

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

它didn't工作,我需要該方法,以便在第一列標籤100之間進行區分(即也是0部)和第二行標籤200(這也是1部分)和第三行標記300(也是2部分)。所以這個想法是,如果我的aux等於刪除的行,然後,從數組中刪除它,也是tableview ...但我不知道如何做到這一點!! ...和我 Japa