Swift 手表套件:将2个滑块连接到1个标签

Swift 手表套件:将2个滑块连接到1个标签,swift,slider,label,watchkit,watchos,Swift,Slider,Label,Watchkit,Watchos,tenSlider将把currentBPM值更改10,并将其结果传递给bpmLabel。这个很好用 但是,我还希望onesSlider更新相同的标签,但改为+1或-1 问题是它不会检查当前值并更新该值。相反,它只更新自己的值并将其传递给bpmLabel 有人知道如何将两者联系起来吗 import WatchKit import Foundation class InterfaceController: WKInterfaceController { @IBOutlet var bpmLab

tenSlider
将把
currentBPM
值更改10,并将其结果传递给bpmLabel。这个很好用

但是,我还希望
onesSlider
更新相同的标签,但改为+1或-1

问题是它不会检查当前值并更新该值。相反,它只更新自己的值并将其传递给
bpmLabel

有人知道如何将两者联系起来吗

import WatchKit
import Foundation

class InterfaceController: WKInterfaceController {


@IBOutlet var bpmLabel: WKInterfaceLabel!

@IBOutlet var tenSlider: WKInterfaceSlider!
@IBOutlet var onesSlider: WKInterfaceSlider!

var currentBPM = Int()

@IBAction func tenSliderDidChange(value: Int) {
    currentBPM = value
    updateLabel()
}



@IBAction func onesSliderDidChange(value: Int) {
    currentBPM = value
    updateLabel()

}

func updateLabel() {
    bpmLabel.setText("\(currentBPM)")

}

您总是将currentBPM值更改为滑块设置的值。因此,如果设置“一”滑块,currentBPM值包含一个滑块的值和十个滑块的值。由于您无法直接从滑块访问值,我建议您这样做:

var ones = Int()
var tens = Int()
var currentBPM: Int {
    return tens * 10 + ones
    // return tens + ones - depending on how did you set the min, max and step values on the ten slider
}

@IBAction func tenSliderDidChange(value: Int) {
    tens = value
    updateLabel()
}



@IBAction func onesSliderDidChange(value: Int) {
    ones = value
    updateLabel()

}

func updateLabel() {
    bpmLabel.setText("\(currentBPM)")
}