原谅混乱;通过使用在此找到的示例来尝试执行此操作,我可能会得到一些额外的代码,但似乎没有一个起作用。
我有一个步进器
@IBOutlet weak var turnsRemaining: UILabel!
@IBOutlet weak var turnStepper: UIStepper!\
我具有以下功能:
@IBAction func turnStepperChanged(_ sender: UIStepper) {
turnsRemaining.text = Int(sender.value).description
}
我想要的是单击一个名为“ leftRight”的按钮,然后触发一个函数(我正在使用该函数),但是我想向该函数添加步进器的值减一。
我尝试在代码中添加以下行作为函数的一部分(与上面列出的函数不同):
turnStepper.value = turnsRemaining.text -1
答案 0 :(得分:0)
这是问题所在
@IBAction func turnStepperChanged(_ sender: UIStepper) {
turnsRemaining.text = Int(sender.value).description
}
不仅仅是将Double转换为String的方法。就是您正在直接从步进器值到标签文本进行调解。
模型视图控制器。步进器是 view 。标签为视图。他们都不是真理的源头。您需要一个扮演该角色的属性。必须始终有一个实例属性来维护该值。更改时,步进器和标签将更改为匹配。
一旦有了这些代码,任何代码都可以伸出手并更改该属性以将步进器和标签一起更改,从而始终保持同步。
答案 1 :(得分:-1)
尝试将您的“ turnsRemaning.text”转换为双精度文字:
turnStepper.value = Double(turnsRemaining.text)