title: UITableviewCell returning as nil inside block
body: <p>My implementation of <code>tableView:cellForRowAtIndexPath:</code> is as follows:</p>
  
  <pre><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  {
  
      BSProductCell *cell = [tableView dequeueReusableCellWithIdentifier:BSProductCellIdentifier];
  
      cell.productImageView.image = [UIImage imageNamed:@"Placeholder"];
  
  [[BSImageLoader sharedInstance] getImageWithURL:self.dataSourceArray[indexPath.row] withCompletionBlock:^(UIImage *image, BOOL fromCache, NSString *error){
      BSProductCell *tableCell = (BSProductCell *)[self.tableView cellForRowAtIndexPath:indexPath];
      [tableCell.productImageView setImage:image];
      NSLog(@"%@", tableCell);
  }];
      return cell;
  
  }
  </code></pre>
  
  <p>The <code>getImageWithURL:withCompletionBlock:</code> either downloads the image from the specified URL if it cannot find it within the local cache or just returns it from the cache. At first, when the view loads and the cells get populated all the things go as expected: the images are being downloaded and then placed within the cells. The problem is when I start scrolling the tableview, the NSLog shows <code>(null)</code>. I just cannot figure out why the <code>tableCell</code> object is null.</p>
  
  <p><strong>PS:</strong> I wrote my example after following an almost identical <a href="https://developer.apple.com/library/ios/samplecode/LazyTableImages/Listings/Classes_RootViewController_m.html" rel="nofollow">example from Apple</a>.
  Also I checked and neither <code>self.tableView</code> nor <code>indexPath</code> are not nil inside the block.</p>