取多个滑块值的平均值
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
标签未更新的原因
nutritionScroll
和 hydrationScroll
方法应该分别调用 updateBasic()
.
@IBAction func nutritionScroll(_ sender: UISlider) {
nutritionValue = sender.value
nutritionNum.text = String(format: "%.1f", nutritionValue)
updateBasic()
}
另一种选择是向每个 nutritionValue
和 hydrationValue
属性添加 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
}
我是编码新手,需要帮助从我的滑块函数中提取值。现在我正在尝试通过更新滑块函数中的外部变量来将 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
标签未更新的原因
nutritionScroll
和 hydrationScroll
方法应该分别调用 updateBasic()
.
@IBAction func nutritionScroll(_ sender: UISlider) {
nutritionValue = sender.value
nutritionNum.text = String(format: "%.1f", nutritionValue)
updateBasic()
}
另一种选择是向每个 nutritionValue
和 hydrationValue
属性添加 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
}