title: UICollectionView assertion error on stale data
body: <p>In the course of trying to unload one batch of images from my collection view and then replace them with another batch, I run into an error where, depending on whether the original or subsequent group of images was more or less than the intended replacement, an assertion error occurs which says: </p>
  
  <pre><code>*** Assertion failure in -[UICollectionViewData validateLayoutInRect:], 
  /SourceCache/UIKit_Sim/UIKit-2891.1/UICollectionViewData.m:341
  *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', 
  reason: 'UICollectionView recieved layout attributes for a cell with an 
  index path that does not exist: &lt;NSIndexPath: 0xb141c60&gt; {length = 2, path = 0 - 2}
  </code></pre>
  
  <p>In this case the existing list of images count was 5 and the new list of images count was 2. So, when it got to the third image - the exception occurred - indicating that the UI CollectionViewDataDelegate did not know of the change in the data stream. </p>
  
  <p>Any suggestions about how to make sure the new images will be referenced by the UICollectionView?  Of course I have called 'reloadData'… </p>
  
  <p>Thank you</p>