Swift 3 - 在 If 条件下返回整数值

Swift 3 - Returning an integer value within an If condition

这只是我在逻辑上让以下功能正常工作时遇到的问题。我觉得我很亲近;但我似乎无法弄清楚让 else 语句不被忽略背后的逻辑。

func changeEffects(_ test: Int) -> Int {
        var test = 0


        if test == 0 {

        buttonPlayer.volume = 0
        audioPlayer.volume = 0

        return test += 1
        }

        else
        {

            buttonPlayer.volume = 100
            audioPlayer.volume = 100
        return test -= 1
        }
    }

因为你正在获取 test 作为参数,你不需要再次初始化它

 func changeEffects(_ test: Int) -> Int {

        if test == 0 {

        buttonPlayer.volume = 0
        audioPlayer.volume = 0

        return test + 1
        }

        else
        {

            buttonPlayer.volume = 100
            audioPlayer.volume = 100
        return test - 1
        }
    }

在您调用 func 的代码工作中,test 始终为 0

使用如下代码使其动态化

func changeEffects(_ aTest: Int) -> Int {
    var test = aTest // do change here


    if test == 0 {

    buttonPlayer.volume = 0
    audioPlayer.volume = 0

    return test += 1
    }

    else
    {

        buttonPlayer.volume = 100
        audioPlayer.volume = 100
    return test -= 1
    }
}

每次 changeEffects 调用函数时首先初始化 test = 0 对象 那是因为每个 return 值都是零,所以要删除那个语句。

下面的代码:

func changeEffects(_ test: Int) -> Int {

    if test == 0 {

    buttonPlayer.volume = 0
    audioPlayer.volume = 0

    return test + 1
    }

    else
    {

        buttonPlayer.volume = 100
        audioPlayer.volume = 100
    return test - 1
    }
}