gpt4 book ai didi

swift - 计算按下两个按钮的百分比时为零

转载 作者:行者123 更新时间:2023-11-28 10:48:05 25 4
gpt4 key购买 nike

我有两个按钮,一个是浅色侧按钮,另一个是深色侧按钮。当按下任何按钮时,执行此操作:

    lightSideInt = lightSideInt! + 1
totalClicks = totalClicks!+1

let lightPercent = (lightSideInt!/totalClicks!) * 100
let darkPercent = (darkSideInt!/totalClicks!) * 100

darkSideButton.setTitle("\(darkPercent)%",for: .normal)
lightSideButton.setTitle("\(lightPercent)%",for: .normal)

darkSideInt = darkSideInt 外,深色按钮也一样! + 1 一切都一样。 darkSideInt, lightSideInt & totalClicks 是全局变量。

现在发生的事情是,当我第一次按下按钮时,它给出了一个按钮标题 100% 和另一个 0% 并且在使用之后必须取消屏幕,然后再次出现在该屏幕上。所以这一次,由于变量是全局的,它们已经有了值,所以当我按下按钮时,我可以看到增量正在成功发生,但按钮标题是 0%,无论我按下多少次按钮保持不变。

这些是全局变量:

var darkSideInt: Int?
var lightSideInt: Int?
var totalClicks: Int?

最佳答案

当将 / 运算符应用于两个 Int 时,结果也将是 Int 类型,因此您的问题。在应用除法之前,您需要将两个变量都转换为 Double

let lightPercent = Int(Double(lightSideInt)/Double(totalClicks) * 100)
let darkPercent = Int(Double(darkSideInt)/Double(totalClicks) * 100)

darkSideButton.setTitle("\(darkPercent)%",for: .normal)
lightSideButton.setTitle("\(lightPercent)%",for: .normal)

如果您要强制展开分配给它们的值,那么将 lightSideIntdarkSideInt 定义为可选值是没有意义的。只需将它们定义为非可选项,然后您就可以摆脱百分比计算中的强制展开。

关于swift - 计算按下两个按钮的百分比时为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47641625/

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