title: insertRowsAtIndexPaths calling cellForRowAtIndexPath for every row
body: <p>I'm trying to insert a bunch of rows into an empty UITableView in one step using insertRowsAtIndexPaths. (I know that this doesn't sound all that useful, but it's a simplified version of what I really need to do.)</p>
  
  <p>The issue I'm seeing is that after I make the insertRowsAtIndexPaths call, I get cellForRowAtIndexPath calls for every row I inserted, rather than just those that are visible.</p>
  
  <p>That doesn't seem right. And it's pretty much useless to me if it does this.</p>
  
  <p>The only slightly odd other artifact I see is that when I do this, it actually seems to animate the rows into place. This isn't the withRowAnimation, since that's set to none. But it seems there's some sort of higher level animation concept going on here. I had the off-idea that as it animated the rows into place it thought it needed cells for more/all the rows until they got pushed off screen. But I can't turn off this animation without just using reloadData which I'd prefer to avoid.</p>
  
  <p>Generally I have a data set that changes behind the scenes. I can carefully go through and construct the changes to generate data for the insert/delete/reload calls. But I can't limit that to what's on screen since then it doesn't match the data provider.</p>
  
  <p>I figure I must be missing something ... any ideas?</p>
  
  <p>(I am doing this within a beginUpdates/endUpdates pair but that seems to make no difference.)</p>