0

这是我在 Swift 中的第一个项目,所以请多多包涵。

punkteLimit 应使用值 30 进行初始化。每次更改滑块值时,都应更新变量的值以及标签。

var punkteLimit: Int = 30

@IBAction func sliderPunktelimitChanged(_ value: Float) {
    punkteLimit = Int(value)
    labelPunktelimit.setText("Punkte-Limit: \(punkteLimit)")
}

这似乎工作正常。标签正确更新,即当我将滑块更改为 28 时,它显示“Punkte-Limit:28”。但是,punkteLimit 在以下部分中被卡在初始值 30 上(对于 thinkPunktelimit 也是如此,但解决方案应该相同)。无论上述更改如何,触觉反馈都将在 gesamtPunkte == 30 时触发。

如果重要,我使用执行 gesamtPunkte += 1 的按钮来调整值。

var gesamtPunkte: Int = 0 {
    didSet {
        if gesamtPunkte == punkteLimit && considerPunktelimit == true {
            WKInterfaceDevice.current().play(WKHapticType.stop)
        }
        ...
    }
}

我不确定从这里去哪里。

非常感谢您的帮助。

4

1 回答 1

0

我通过将有问题的变量移到 InterfaceController 类之外解决了这个问题(使它们成为全局变量?)。我读过关于这种方法的不同意见,如果有人想评论为什么它在课堂上不起作用,以及使它们全球化是否存在问题,请随意。

于 2017-06-03T12:32:29.373 回答