title: Scrolling lag & scrollbar jumping when UITableView gets bigger
body: <p>As the title says, I'm working with a UITableView which is hooked up to a FetchedResultsController mediated by the ViewController.</p>
  
  <p>The lag happens when the user scrolls close to the bottom of the grid and we fetch more data to display to the user. When the data is received, and the tableview's content gets larger, the scrolling pauses momentarily followed by some stuttering and then the scrollbar jumps higher and finally everything smooths back out.
  This happens in:</p>
  
  <pre><code>-(void)controllerDidChangeContent:(FetchedResultsController *)controller {
      [tableView reloadData];
  }
  </code></pre>
  
  <p>I've done all the optimization that I have found scouring Apple's dock's and SO.</p>
  
  <ol>
  <li><p>Reusing views as I should. This helped the most with performance. Init's for cells hardly ever get hit.</p></li>
  <li><p>Decoding images in background threads (drawing on a context) before using the imageview. (note the stutter happens before we even get images to replace the "loading" ui of the cells).</p></li>
  <li><p>Extremely short and quick delegate methods.</p></li>
  <li><p>Opaque hand drawn views.</p></li>
  </ol>
  
  <p>Does anyone have any recommendations on handling additions of rows to a UITableView that does not block the UI thread and prevents the scrollbar from jumping? I've tried using [tableView insertRows...] but the same stuttering and scrollbar jumping happened, which I thought was odd.</p>
  
  <p>Cheers,
  Zed</p>