Swift:变量值don';不要结转到迪塞特
这是我在Swift的第一个项目,所以请容忍我 punkteLimit应该用值30初始化。每次更改滑块值时,都应更新变量值和标签Swift:变量值don';不要结转到迪塞特,swift,didset,Swift,Didset,这是我在Swift的第一个项目,所以请容忍我 punkteLimit应该用值30初始化。每次更改滑块值时,都应更新变量值和标签 var punkteLimit: Int = 30 @IBAction func sliderPunktelimitChanged(_ value: Float) { punkteLimit = Int(value) labelPunktelimit.setText("Punkte-Limit: \(punkteLimit)") } 这似乎很有效。标
var punkteLimit: Int = 30
@IBAction func sliderPunktelimitChanged(_ value: Float) {
punkteLimit = Int(value)
labelPunktelimit.setText("Punkte-Limit: \(punkteLimit)")
}
这似乎很有效。标签正确更新,即当我将滑块更改为28时,它显示“Punkte Limit:28”。但是,在下一部分中,punkteLimit被固定在初始值30处(considerPunktelimit也是如此,但解决方案应该相同)。无论上述变化如何,触觉反馈都将在gesamtPunkte==30时触发
我使用一个执行gesamtPunkte+=1的按钮来调整值(如果有必要)
var gesamtPunkte: Int = 0 {
didSet {
if gesamtPunkte == punkteLimit && considerPunktelimit == true {
WKInterfaceDevice.current().play(WKHapticType.stop)
}
...
}
}
我不太确定从这里到哪里去
非常感谢您的帮助。我通过将相关变量移到InterfaceController类之外(使其成为全局变量?)解决了这个问题。我读过关于这种方法的各种不同意见,如果有人想评论为什么它在课堂上不起作用,以及在使它们全球化方面是否存在问题,请随意评论