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
}
}
这只是我在逻辑上让以下功能正常工作时遇到的问题。我觉得我很亲近;但我似乎无法弄清楚让 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
}
}