title: collectionView can't reloadItemsAtIndexPaths at current scene
body: <p>First, I create a collection view controller with a storyboard, and subclass a cell (called <code>RouteCardCell</code>).</p>
  
  <p>The cell lazy loads an image from Web. To accomplish this, I create a thread to load the image. After the image loads, I call the method <code>reloadItemsAtIndexPaths:</code> to display the image.</p>
  
  <p>Loading the image works correctly, but there's a problem displaying the image. My cells display the new image only after scrolling them off-screen and back on.</p>
  
  <p>Why don't my images display properly after reloading the item?</p>
  
  <p>Here's the relevant code:</p>
  
  <pre><code>override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -&gt; UICollectionViewCell {
      let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as RouteCardCell
      let road = currentRoads[indexPath.item]
      cell.setText(road.title)
  
      var imageData = self.imageCache.objectForKey(NSString(format: "%d", indexPath.item)) as? NSData
      if let imageData_ = imageData{
          cell.setImage(UIImage(data: imageData_))
      }
      else{
          cell.setImage(nil)
          dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), { () -&gt; Void in
              var Data = self.getImageFromModel(road, index:indexPath.item)
              if let Data_ = Data{
                  self.imageCache.setObject(Data_, forKey: NSString(format: "%d", indexPath.item))
                  NSLog("Download Image for %d", indexPath.item)
              }
              else{
                  println("nil Image")
              }
          })
          self.reloadCollectionViewDataAtIndexPath(indexPath)
      }
      return cell
  }
  
  func reloadCollectionViewDataAtIndexPath(indexPath:NSIndexPath){
      var indexArray = NSArray(object: indexPath)
  
      self.collectionView!.reloadItemsAtIndexPaths(indexArray)
  }
  
  func getImageFromModel(road:Road, index:Int)-&gt;NSData?{
      var images = self.PickTheData!.pickRoadImage(road.roadId)
      var image: Road_Image? = images.firstObject as? Road_Image
  
      if let img = image{
          return img.image
      }
      else{
          return nil
      }
  
  }
  </code></pre>