我是编码的新手,需要帮助从滑块函数中提取值。现在,我正在尝试通过更新Slider函数中的outside变量将两个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)"
}
}
答案 0 :(得分:1)
现在看来好像没有什么叫updateBasic()
,这就是basicAvg
标签没有被更新的原因
nutritionScroll
和hydrationScroll
方法应分别调用updateBasic()
。
@IBAction func nutritionScroll(_ sender: UISlider) {
nutritionValue = sender.value
nutritionNum.text = String(format: "%.1f", nutritionValue)
updateBasic()
}
另一种选择是向didSet
和nutritionValue
每个属性中添加一个hydrationValue
。
private var nutritionValue: Float = 0.0 {
didSet {
// You could even update nutritionNum.text here as well
updateBasic()
}
}
答案 1 :(得分:0)
您只需在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
}