如何在另一个函数中减小步进值?

时间:2019-06-22 10:01:20

标签: swift uistepper

原谅混乱;通过使用在此找到的示例来尝试执行此操作,我可能会得到一些额外的代码,但似乎没有一个起作用。

我有一个步进器

@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

2 个答案:

答案 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)