title: UITableView isn't updating when didChangeObject is called NSFetchedResultsController
body: <p>I'm using an NSFetchedResultsController with my UITableView. I successfully receive delegate calls to <code>- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject
         atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type
        newIndexPath:(NSIndexPath *)newIndexPath</code> but none of the changes I make to insert/update/delete rows in the UITableView actually show up. I even just try to set the background color on the UITableView to see if any changes will show up, but they don't show up unless I push a new view controller and then pop back. Then I'll see the background color and the table updates.</p>
  
  <p>My implementation of the didChangeObject: method is really just the boilerplate template:</p>
  
  <pre><code>- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller {
      [self.tableView beginUpdates];
  }
  
  - (void)controllerDidChangeContent:(NSFetchedResultsController *)controller {
      [self.tableView endUpdates];
  }
  
  - (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject
         atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type
        newIndexPath:(NSIndexPath *)newIndexPath
  {
      UITableView *tableView = self.tableView;
  
      switch(type) {
          case NSFetchedResultsChangeInsert:
              [tableView insertRowsAtIndexPaths:@[newIndexPath] withRowAnimation:UITableViewRowAnimationFade];
              tableView.backgroundColor = [UIColor redColor];
              break;
  
          case NSFetchedResultsChangeDelete:
              [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
              break;
  
          case NSFetchedResultsChangeUpdate:
              [tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
              tableView.backgroundColor = [UIColor blueColor];
              break;
  
          case NSFetchedResultsChangeMove:
              [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
              [tableView insertRowsAtIndexPaths:@[newIndexPath] withRowAnimation:UITableViewRowAnimationFade];
              break;
      }
  }
  </code></pre>
  
  <p>I added a button in the navbar with an IBAction which just calls <code>[self.tableView reloadData];</code> and whenever I tap that, then all of the insertions and updates show up in the table. However, they don't show up as the changes happen.</p>
  
  <p>What is wrong?</p>