table reloadData not working

前端 未结 2 521
不思量自难忘°
不思量自难忘° 2021-01-28 05:17

i am using following code to delet a row from tableview as well from db , the row is delted from the db at once but its not delted from the tableview till i back back and th chk

相关标签:
2条回答
  • 2021-01-28 05:30

    What is self.table? Is it your class variable for your UITableView? You should note that you can also reference the UITableView directly since it is passed into that method as tableView. I dunno if your table variable isn't setup correctly (through Interface Builder) or what, but I'd try using the tableView variable.

    0 讨论(0)
  • 2021-01-28 05:34

    Include this line,

    [self.allBookMarks removeObjectAtIndex:indexPath.row];
    

    EDIT:

    The problem is not with reloadData, the problem is that you are not updating your datasource (self.allBookMarks). Update the values into self.allBookMarks then reload the table.

    Edited Code

    -(void) tableView:(UITableView *)tableView
    commitEditingStyle:(UITableViewCellEditingStyle)editingStyle 
    forRowAtIndexPath:(NSIndexPath *)indexPath 
    {
        [self.table beginUpdates];
    
      if (editingStyle == UITableViewCellEditingStyleDelete) 
      { 
        Hadits *delHadit = [self.allBookMarks objectAtIndex:indexPath.row];
        dbAccess *dbmethods = [[dbAccess alloc] init]; 
        NSInteger delHaditid = delHadit.haditid;
        [dbmethods deleteBookMark:delHaditid];
        self.allBookMarks = [dbMethods getAllBookMarks]; 
        [dbmethods release];    
      }
      [self.table reloadData];//its not working reload data...
      [table endUpdates];
    }
    
    0 讨论(0)
提交回复
热议问题