Как изменить какое свойство использовать в функции действия на основе отправителя в Swift 4 - PullRequest
0 голосов
/ 28 июня 2018
@IBOutlet weak var weekdaysHoursSliderOutlet: UISlider!
@IBOutlet weak var weekdaysHoursLabelOutlet: UILabel!
@IBOutlet weak var weekdaysHoursNumberLabel: UILabel!

@IBOutlet weak var weekdendsHoursSliderOutlet: UISlider!
@IBOutlet weak var weekendsHoursLabelOutlet: UILabel!
@IBOutlet weak var weekendsHoursNumberLabel: UILabel!


@IBAction func weekendsHoursSliderChange(_ sender: UISlider) {
    let currentValue: Int = Int(sender.value)
    weekendsHoursNumberLabel.text = ("\(currentValue)")

    if(currentValue == 1){
        weekendsHoursLabelOutlet.text = ("Hour Per Day")
    }
    else{
        weekendsHoursLabelOutlet.text = ("Hours Per Day")
    }
}

Я бы хотел изменить это на будние дни, если, скажем, weekdaysHourSliderOutlet вызвал действие при изменении. Я планирую реализовать больше, чем просто выходные и будние дни, поэтому я не хочу кучу избыточного кода. Я думал об использовании какого-то словаря, но не смог правильно его подключить. Заранее спасибо!

1 Ответ

0 голосов
/ 28 июня 2018
func viewDidLoad() {
     weekdaysHoursSliderOutlet.tag = 1
     weekdendsHoursSliderOutlet.tag = 2
}

@IBAction func sliderChanged(_ sender: UISlider) {
     if sender.tag == 1 {
          //handle weekdaysHoursSliderOutlet
     }
     else {
          //handle weekdendsHoursSliderOutlet
     }
}
...