title: Is there a way to programmatically associate a variable and a target object with the control in swift?
body: <p>I'm creating a slider programmatically due to and Xcode bug, (don't let me center the thumb when I change the slider values, so I decided to do it using code) and I want to have a variable which saves the slider value. Is there a way to associate the variable and the target object with the control, similar to &quot;addTarget&quot;, but instead of an action, its a variable?
  I don't know if I explained myself but tell me if I need to be more specific. Thanks in advance :) for helping me.</p>
  <p>This is my code:</p>
  <pre><code>import UIKit 
  class ViewController: UIViewController {
      var slider: UISlider!
      @IBOutlet weak var sliderVar: UISlider!
      var currentSliderValue = 0
  
      override func viewDidLoad() {
        super.viewDidLoad()
        slider = UISlider(frame: CGRect(x: 98, y: 173, width: 699, height: 30))
        slider.center = self.view.center
        slider.minimumValue = 1
        slider.maximumValue = 100
        slider.value = 50
        slider.isContinuous = true
        slider.addTarget(self, action: #selector(sliderMoved(_:)), for: UIControl.Event.valueChanged)
        self.view.addSubview(slider)
      }
  
      @IBAction func sliderMoved(_ sender: UISlider) {
        currentSliderValue = lroundf(sender.value)
      }
  }
  </code></pre>
  <p>My function “sliderMoved” changes the sliderCurrentValue variable, but this var won’t change until I use the slider and move it. I also have a button there, that when you touch it up it shows the slider value, but the “sliderCurrentValue” only changes its value when the slider is moved. I was thinking of creating an IBOutlet but I don’t know how to connect this one with the slider.</p>