我一直收到此错误,我也不知道为什么,这是导致该错误的代码:
@IBAction func sliderChanged(_ sender: UISlider) {
sliderBet.text = "\(Int(slider.value * Int(String(myScore.text!)!)))"
}
我正在尝试将滑块的值乘以另一个从UILabel获取的变量,这就是为什么我必须将其转换为字符串而不是Int的原因
答案 0 :(得分:0)
尽管您知道滑块的值在0到1之间,所以它必须是 float ,但为什么敢使用Int
或{ {1}}?
Double
@IBAction func sliderChanged(_ sender: UISlider) {
sliderBet.text = "\(Int(sender.value * (Float(myScore.text ?? "0") ?? 0))))"
}
看起来有点长,但可以将(Float(myScore.text ?? "0") ?? 0)
安全地转换为 myScore.text
。当Float
为nil或作为数字无效时,它返回myScore.text
,而不是崩溃。