table reloadData not working

若如初见. 提交于 2019-12-02 15:01:26

问题


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 aggain ,i want when i delet the row tableview should rload the data... any idea ?

-(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];
    [dbmethods release];    
  }
  [self.table reloadData];//its not working reload data...
  [table endUpdates];
}

回答1:


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



回答2:


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.



来源:https://stackoverflow.com/questions/4929960/table-reloaddata-not-working

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!