title: UITableViewCell selected buttons change to unselected state upon scroll the UITableView
body: <p>The button action is <code>SongsSelectionSongs_Click</code>. When I click this button, the button image changing, the button tap count is getting correct and after selected button images also changing, but when I scroll back and forth in the <code>UITableView</code> the button image seems to be randomly changing.</p>
  
  <p><img src="https://i.stack.imgur.com/VKfEY.png" alt="enter image description here"></p>
  
  <p>This is my code:</p>
  
  <pre><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  {
      static NSString *cellIdentifier = @"SongsTAbleViewCell";
      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
      if(cell == nil)
      {
          NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"SongsTAbleViewCell" owner:self options:nil];
          cell = [nib objectAtIndex:0];
      }
  
      btn_songSelect.tag = indexPath.row;
      lbl_songLabel.text = [[arr_tablVArray objectAtIndex:indexPath.row] objectForKey:@"SongTitle"];
      lbl_artistLabel.text = [[arr_tablVArray objectAtIndex:indexPath.row] objectForKey:@"SongArtist"];
  
      return cell;
  }
  
  -(IBAction)SongsSelectionSongs_Click:(id)sender
  {
      UIButton *button = sender;
      CGPoint correctedPoint = [button convertPoint:button.bounds.origin toView:self.tblv_SongslisttableView];
      NSIndexPath *indexPath = [self.tblv_SongslisttableView indexPathForRowAtPoint:correctedPoint];
      NSLog(@"Button tapped in row %d",indexPath.row);
  
      SelectedAlbumUrl = [[arr_tablVArray objectAtIndex:indexPath.row] objectForKey:@"SongUrl"];
      str_songtitle = [[arr_tablVArray objectAtIndex:indexPath.row] objectForKey:@"SongTitle"];
  
      if ([[button backgroundImageForState:UIControlStateNormal] isEqual:[UIImage imageNamed:@"add.png"]])
      {
          btn_songsShareButton.userInteractionEnabled = YES;
          [btn_songSelect setBackgroundImage:[UIImage imageNamed:@"remove.png"] forState:UIControlStateNormal];
          buttonStatus = buttonStatus +1;
          [btn_songsShareButton setImage:[UIImage imageNamed:@"share selected.png"] forState:UIControlStateNormal];
          }
      else
      {
          [btn_songSelect setBackgroundImage:[UIImage imageNamed:@"add.png"] forState:UIControlStateNormal];
          buttonStatus = 1;
          [btn_songsShareButton setImage:[UIImage imageNamed:@"share unselected.png"] forState:UIControlStateNormal];
      }
  }
  </code></pre>