gpt4 book ai didi

ios - UISlider ValueChanged 操作不起作用

转载 作者:行者123 更新时间:2023-11-30 12:55:00 26 4
gpt4 key购买 nike

我想用UISlider实时计算一个数字,这是我的方法:

@IBAction func HPsliderValueChanged(_ sender: CustomUISlider) {

calculator.HPPercentage = Double(HPSlider.value)
HPValue.text = String(Int(HPSlider.value * 100)) + " %"
resultLabel.text = String(calculator.calculate())
}

当用户在 slider 上滑动时,HPValue 标签和 resultLabel 预计都会更改值,但是,现在只有 HPValue 标签发生变化, resultLabel 不起作用。

计算器不为零,这是它的代码:

class TurretDiveCalculator {

var hero: Heroes = .taka
var build = [DefenseItems](repeatElement(DefenseItems(name: "Empty Item", index: 0, price: 0, image: #imageLiteral(resourceName: "EmptyItem")), count: 6))
var HPPercentage: Double = 0

func calculate() -> Int {
let baseHP = hero.HPLow + (hero.HPHigh - hero.HPLow) / 12 * Double(hero.level)
let baseDefense = hero.armorLow + (hero.armorHigh - hero.armorLow) / 12 * Double(hero.level) + hero.shieldLow + (hero.shieldHigh - hero.shieldLow) / 12 * Double(hero.level)

var buildHP = 0.0
var buildDefense = 0.0
for item in build {
buildDefense += item.armor
buildDefense += item.shield
buildHP += item.HP
}

let fullHP = baseHP + buildHP
var HP = fullHP
let defense = baseDefense + buildDefense
var numberOfShots = 0

while HP > 0 {
let perShotDamageRaw: Double = 330 + Double(numberOfShots) * 0.09 * fullHP
let mitigatedDamage: Double = 0.09 * perShotDamageRaw + 0.9 * perShotDamageRaw / (100 + defense) * 100

HP -= mitigatedDamage
numberOfShots += 1
}

return numberOfShots
}

}

如何实时更改 resultLabel 的值?

最佳答案

从聊天中可以看出,我们成功找到了问题。

这个答案只是出现此类问题时的一些一般调试技巧和技巧。

原来的问题是:

now only HPValue label changes, the resultLabel doesn't work.

我们来看看问题出在哪里。代码如下:

resultLabel.text = String(calculator.calculate())

这里可能会出现两件事:

  1. resultLabel 未正确接线。要查看是否是这种情况,请尝试将值设置为普通的 ol' 字符串,看看是否可以看到。我可以,文本字段已正确连接。

  2. calculate() 方法返回意外值。尝试通过在 return 之前添加 print 语句来验证该方法返回的内容

正如您在聊天中看到的,一旦我们隔离了问题发生的位置,@bright-future 就可以更轻松地追踪问题。

希望这可以帮助任何人尝试调试问题:)

关于ios - UISlider ValueChanged 操作不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40521593/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com