title: UITableViewCell, two cells are both getting an accessory view
body: <p>Situation: When a user selects a cell, a button is added to that cell. When they select a new cell, the button is removed from the previous cell and added to the new cell. That works. The problem is when more data is added to the table. So lets say there are 20 cells, then I add another 20 cells. I then select the first cell, however the button is added to cell 1 AND cell  21. The select delegate method only registers the first one being selected though.</p>
  
  <p>From my didSelectRowAtIndexPath method:</p>
  
  <pre><code>if (self.selectedCell) {
      self.selectedCell.accessoryView = nil;
      self.selectedCell = nil;
  }
  
  UIButton *downloadButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
  [downloadButton setTitle:@"Download" forState:UIControlStateNormal];
  [downloadButton setFrame:CGRectMake(0, 0, 130, 34)];
  
  self.selectedCell = [self.tableView cellForRowAtIndexPath:indexPath];
  
  self.selectedCell.accessoryView = downloadButton;
  [self.selectedCell setNeedsDisplay];
  </code></pre>
  
  <p>In my method that adds more data to the table I end with:</p>
  
  <pre><code>if(self.selectedCell){
      self.selectedCell.accessoryView = nil;
      self.selectedCell = nil;
  }
  
  [self.tableView reloadData];
  [self.tableView setNeedsLayout];
  </code></pre>