如何在Swift中通过字符串更改按钮名称?

如何在Swift中通过字符串更改按钮名称?,swift,function,Swift,Function,对于我的第一个应用程序,我正在制作一个玩家可以改变难度的游戏。当他选择难度时,某些值必须改变 其中一个值是“maxDynamites”,我使用了两个困难,简单和正常。在easy模式下,值为3,在正常模式下,值为1 现在,我宣布如下: func setDifficulty() { if Difficulty == 0 { maxDynamites = dif0MaxDynamites else if Difficulty == 1 {

对于我的第一个应用程序,我正在制作一个玩家可以改变难度的游戏。当他选择难度时,某些值必须改变

其中一个值是“maxDynamites”,我使用了两个困难,简单和正常。在easy模式下,值为3,在正常模式下,值为1

现在,我宣布如下:

func setDifficulty()
{
    if Difficulty == 0
    {
        maxDynamites = dif0MaxDynamites
        else if Difficulty == 1
        {
            maxDynamites = dif1MaxDynamites
        }
    }
}

这将达到目的,但我计划使用更多的变量和更多的困难。如果难度设置为正常,是否有办法移除DIF0MaxDynamices并将其更改为自动将“0”更改为“1”?我不认为一直使用if是正确的,这样我就必须复制粘贴我的代码,以避免大量的困难。。。欢迎任何帮助。

结构中包含您的设置可能会有所帮助

struct DifficultySettings {
    static let easyModeSettings = DifficultySettings(maxDynamites: 3, maxHealth: 100, maxShields: 5)
    static let normalModeSettings = DifficultySettings(maxDynamites: 1, maxHealth: 80, maxShields: 2)
    static let hardModeSettings = DifficultySettings(maxDynamites: 1, maxHealth: 40, maxShields: 1)

    let maxDynamites: Int
    let maxHealth: Int
    let maxShields: Int
}
静态
变量可以包含所有不同的参数。易于修改等

func setDifficulty(mode: DifficultySettings) {
    // Setup the game based on settings
    print("Max dynamites: \(mode.maxDynamites)")
    print("Max health: \(mode.maxHealth)")
    print("Max shields: \(mode.maxShields)")
}
您可以将按钮连接到以下内容:

func setDifficultyToEasy() {
    setDifficulty(.easyModeSettings)
}

func setDifficultyToNormal() {
    setDifficulty(.normalModeSettings)
}

func setDifficultyToHard() {
    setDifficulty(.hardModeSettings)
}
有了这样的解决方案,就很容易增加更多的难度和游戏参数


您可以将
难度设置
传递给您的游戏逻辑,您的游戏逻辑可以使用其中包含的值。

顺便问一下,这个问题的标题与问题有什么关系?是的!我需要知道的一切:)