title: UISwitches in UITableViewCell change states together
body: <p>I have a very strange problem in my Swift project. I use UIswitch in my dynamic cells in my one-section uitable. Whenever I click on the 6th switch, the first one changes its state with it and vice versa. The <code>.valueChanged</code> function only works for the one that is clicked (correct behaviour).
  I cannot figure out why the switches change state together.</p>
  
  <p>This is the code for table cells:</p>
  
  <pre><code>import UIKit
  
  class RoutineTableViewCell: UITableViewCell {
  
      @IBOutlet weak var selectionSwitch: UISwitch!
      @IBOutlet weak var title: UILabel!
      @IBOutlet weak var previewImage: UIImageView!
      override func awakeFromNib() {
          super.awakeFromNib()
      }
  
      override func setSelected(_ selected: Bool, animated: Bool) {
          super.setSelected(selected, animated: animated)
      }
  
  }
  </code></pre>
  
  <p>and here is the code in my table view controller:</p>
  
  <pre><code>func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -&gt; UITableViewCell {
          guard let cell = tableView.dequeueReusableCell(withIdentifier: RoutineTableReuseIdentifier, for: indexPath) as? RoutineTableViewCell
              else{
                  return RoutineTableViewCell()
          }
  
          let exercise = section!.exercises[indexPath.row]
          cell.title.text = exercise.title
          cell.previewImage.image = UIImage(named: (exercise.gifName + ".gif"))
          cell.selectionSwitch.addTarget(self, action: #selector(self.addRemoveExercise(_:)), for: .valueChanged)
  
          return cell
      }
  
      @IBAction func addRemoveExercise(_ sender: UISwitch!) {
  
          let buttonPosition:CGPoint = sender.convert(CGPoint.zero, to:self.tableView)
          let indexPath = self.tableView.indexPathForRow(at: buttonPosition)
  
          if(sender.isOn){
              customizedSection?.exercises[indexPath!.row] = section!.exercises[indexPath!.row]
          }
          else{
              customizedSection?.exercises[indexPath!.row] = ExerciseModel()
          }
      }
  </code></pre>