1

ビューの右側の行を削除しようとすると問題が発生します。動的に作成された3つのセルがグループ化されたテーブルビューがあり、編集モードを使用しています。各セクションに行を追加したり削除したりすると、すべて正常に機能しますが、特定の行を削除しようとすると、常に最後の行が削除されます。行1、2、3(元の行以外)を追加し、番号2を削除したい場合、常に番号3を削除するとします。作成された新しい行ごとにタグを自動的に与えるメソッドもあります。 。削除の問題をどのように渡すことができますか?何か案は?これが機能するためには、削除された行のタグを何らかの方法で識別しなければならないことを知っています...各セクションには100、200、300の1つの行があります...これは私のコードです:

-(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 に答える