title: UITableView dequeued cells reloading old images
body: <p>I know this has been asked many many times but please bear with me as I've tried for a could days to find a solution.</p>
  
  <p>I have an rss parser, a tableview with: text, detail, and images set to the AccessoryDisclosureIndicator.view. </p>
  
  <p>The images load great with simple GCD async: fast scrolling for hundreds of result. NO lag, NO errors if I have a good connection.</p>
  
  <p>The problem is, for a split second - they flicker on load, because the cell is being reused. Also if the connection is poor it will sometimes leave the straggling image BUT the text/detail are correct, only the image is old... So let me repeat, the text/detail updates fine and NEVER gets re-queued wrong, just the image sometimes rarely gets queued wrong on bad connections/seizure-scrolling back and forth fast.</p>
  
  <p>My question, can someone help me cache/tag the cell.accs.views? I tried setting cellIDs but had trouble with my implementation. My below code works great if the connection never slows, just a slight flicker on re-queuing a cell which i don't mind.</p>
  
  <pre><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
  static NSString *CellIdentifier = @"Cell";
  UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
  
  if (cell == nil) {
      cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
  
      [cell.textLabel setNumberOfLines:3];
      cell.textLabel.font = [UIFont boldSystemFontOfSize:14.0];
  
      [cell.detailTextLabel setNumberOfLines:3];
      cell.detailTextLabel.font = [UIFont systemFontOfSize:12.0];
      cell.detailTextLabel.textColor = [UIColor blackColor];
  }
  
  RSSItem * rssItem = (RSSItem *)(_rssParser.rssItems)[indexPath.row];
  
  dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH,  0ul);
  dispatch_async(queue, ^{
      //This is what you will load lazily
      NSData   *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:rssItem.imageURL]];
      dispatch_sync(dispatch_get_main_queue(), ^{
  
          UIImageView *accImageView = [[UIImageView alloc] initWithImage:[UIImage imageWithData:data ]];
  
          [accImageView setFrame:CGRectMake(0, 0, accImageView.image.size.width, 92)];
          cell.accessoryView = accImageView;
  
          //[cell setNeedsLayout];//not needed
      });
  });
  
  [cell.textLabel setText:rssItem.title];
  [cell.detailTextLabel setText:rssItem.summary];
  
  return cell;}
  </code></pre>