title: UITableView doesn't keep row selected upon return
body: <p>i have several table views in my app. I am familiar with the usual behaviour of tables, that when you select a row and progress to a pushed view, it turnes blue, then when you go back it stays blue for a split second then fades to white, in order to notify the user of what row was just selected.</p>
  
  <p>This worked perfectly up until recently when i noticed it no longer did the last bit of what I described: it didn't stay blue for that split second...</p>
  
  <p>I have no idea why, but after reading a few related posts on this site i realised that the piece of code that does that gets called is in the "viewDidAppear" method. What confuses me is that I don't override this method, but i did test it with an NSLog to show me the index path for the row it should deselect, which returned (null).</p>
  
  <p>So this is leading me to believe that somehow, the tableView is prematurely deselecting the row.</p>
  
  <p>Below is my didSelectRowForIndexPath method:</p>
  
  <pre><code>- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
      NSLog(@"Selected row at index path: %@", indexPath);
  
      //setting our view controller as what we want
      TripDetails *detailViewController = [[TripDetails alloc] initWithNibName:@"TripDetails" bundle:nil];
      self.tripsDetailViewController = detailViewController;
      [detailViewController release];
  
  
   // Pass the selected object to the new view controller.
      NSLog(@"Passing trip...");
      self.tripsDetailViewController.selectedTrip =  [fetchedResultsController objectAtIndexPath:indexPath];
  
      //Hide the bottom bar on pushed view
      tripsDetailViewController.hidesBottomBarWhenPushed = YES;
  
     [self.navigationController pushViewController:tripsDetailViewController animated:YES];
  
  }
  </code></pre>
  
  <p>Any help is greatly appreciated, thanks :)</p>
  
  <hr>
  
  <p>EDIT: Fixed</p>
  
  <p>I got it working.... Seems i was calling the [self.tableView reloadData] method in my viewWillAppear method which then caused the table to deselect all cells. Below is my modified viewDidLoad method. Thanks for the suggestions!</p>
  
  <pre><code>- (void)viewWillAppear:(BOOL)animated 
  {
  NSLog(@"running viewWIllAppear for TripsTable");
  
  //Getting indexpath for highlighened cell, to rehighlight
  NSIndexPath *selectedIndex = [self.tableView indexPathForSelectedRow];
  
  //Refreshing Table - Implement an if statement on the condition that the data has     changed
  [self viewDidLoad];
  [self.tableView reloadData];
  
  //Re select cell
  [self.tableView selectRowAtIndexPath:selectedIndex animated:NO scrollPosition:UITableViewScrollPositionNone];
  
  
  [super viewWillAppear:animated];
   }
  </code></pre>