Haseeb
Haseeb

Reputation: 1185

table reloadData not working

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

Upvotes: 0

Views: 2287

Answers (2)

KingofBliss
KingofBliss

Reputation: 15115

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

Upvotes: 1

raid5ive
raid5ive

Reputation: 6642

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.

Upvotes: 0

Related Questions