取多个滑块值的平均值

Taking the Average of multiple slider values

我是编码新手,需要帮助从我的滑块函数中提取值。现在我正在尝试通过更新滑块函数中的外部变量来将 sender.values 中的两个相加。我不知道如何从函数中提取信息。任何帮助!谢谢!

class sbBasicController: UIViewController {

    @IBOutlet weak var nutritionNum: UILabel!

    @IBOutlet weak var hydrationNum: UILabel!

    @IBOutlet weak var basicAvg: UILabel!


    // Variables

    private var nutritionValue: Float = 0.0
    private var hydrationValue: Float = 0.0


    //Functions

    @IBAction func nutritionScroll(_ sender: UISlider) {

        nutritionValue = sender.value

        nutritionNum.text = String(format: "%.1f", nutritionValue)
    }


    @IBAction func hydrationScroll(_ sender: UISlider) {

        hydrationValue = sender.value

        hydrationNum.text = String(format: "%.1f", hydrationValue)
    }


    func updateBasic() {

        let basics = (nutritionValue + hydrationValue)

        print("\(basics)")

        basicAvg.text = "\(basics)"
    }
}

目前似乎没有任何东西在调用 updateBasic(),这就是 basicAvg 标签未更新的原因

nutritionScrollhydrationScroll 方法应该分别调用 updateBasic().

@IBAction func nutritionScroll(_ sender: UISlider) {

    nutritionValue = sender.value

    nutritionNum.text = String(format: "%.1f", nutritionValue)

    updateBasic()
}

另一种选择是向每个 nutritionValuehydrationValue 属性添加 didSet

private var nutritionValue: Float = 0.0 {
    didSet {
        // You could even update nutritionNum.text here as well
        updateBasic()
    }
}

您只需在 sliderNutrition 和 sliderHydration 事件中调用 updateBasics 函数即可。 像这样声明 updateBasics 函数:

func updateBasics
{

hydrationNum.text = String(format: "%.1f", sliderHydration.value)

nutritionNum.text = String(format: "%.1f", sliderNutrition.value)

basicAvg.text =  sliderNutrition.value+ sliderHydration.value
}