ios - 如何在 Swift 中编辑函数输入?

标签 ios swift function

我正在 Swift 中构建一个空闲点击器应用程序,并通过一个函数添加自动点击。我希望能够通过函数的输入来输入价格,但由于输入是一个常量,我无法像我希望的那样在每次用户单击升级时将成本价格添加 9%。

例如,如果我在初始价格中输入 50.0,我该如何使其在用户每次单击它时增加 10%。

func upgrade(intialPrice : Float) {
    var upgradePrice = intialPrice
    AutoClicks += 1
    totalClicks = totalClicks - Int(upgradePrice)
    upgradePrice = upgradePrice + (upgradePrice * 0.1)
    burritoLvl1Label.text = ("$" + "\(Int(upgradePrice))")
}

我对编码非常陌生,因此如果您看到任何可以缩短这段代码的方法,那将非常有帮助。

最佳答案

其他答案建议使用 inout 参数,虽然这可行,但我不推荐这种模式。一般来说,最好避免函数中的“副作用”,并且仅在有充分理由时才使用 inout

更通用的方法是使用一个返回新值的函数。

您可能还想考虑使用 Decimal处理货币时,而不是 Float

同样,更新标签可能不应该在此函数中

func upgrade(initialPrice : Decimal) -> Decimal {
    autoClicks += 1
    totalClicks -= Int(truncating: initialPrice as NSDecimalNumber)
    return initialPrice * 1.1
}

然后你可以像这样调用这个函数:

price = upgrade(initialPrice: price)
burritoLvl1Label.text = ("$" + "\(Int(truncating:price as NSDecimal))")

关于ios - 如何在 Swift 中编辑函数输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54287089/

相关文章:

ios - 如何删除添加到特定相册但不添加到其他相册的照片?

function - 可以声明将在 Rust 中对未使用的结果发出警告的函数吗?

c - 错误: assigning to 'int' from incompatible type 'void'

ios - 如何获取保存的文档并上传到 iPhone 设备?

ios - CAPSPageMenu 自动布局

ios - 我如何添加故障 block Objective-C

ios - 从 UICollectionView 中删除单元格而不重新加载

c++ - 将 const 添加到函数模板指针参数

ios - 带有自定义 XIB : IBOutlets not working 的自定义 UIView

ios - 键盘隐藏时 UITableView 略微上升