Ios 两个if语句之间的差异+;还有一个if语句,一个if语句,还有一个if语句?
我使用这些语句在进度条上设置进度,具体取决于Ios 两个if语句之间的差异+;还有一个if语句,一个if语句,还有一个if语句?,ios,swift,Ios,Swift,我使用这些语句在进度条上设置进度,具体取决于seconds变量。计时器对象每隔1秒调用一次下面的函数。7秒钟后,调用refreshApp()函数 func runTimedCode() { if seconds == 0 { self.progressView.setProgress(Float(self.seconds)/Float(7), animated: false) refreshApp() seconds += 1 }
seconds
变量。计时器对象每隔1秒调用一次下面的函数。7秒钟后,调用refreshApp()
函数
func runTimedCode() {
if seconds == 0 {
self.progressView.setProgress(Float(self.seconds)/Float(7), animated: false)
refreshApp()
seconds += 1
}
else if seconds == 7 {
self.progressView.setProgress(Float(self.seconds)/Float(7), animated: false)
seconds = 0
} else {
self.progressView.setProgress(Float(self.seconds)/Float(7), animated: false)
seconds += 1
}
}
它可以正常工作,但是当我将第二条语句设置为if seconds==7{
,而不是else if seconds==7
,进度条似乎不是从一个完全空的位置开始的(从7秒时的完全填充跳到1秒时的位填充)
有人能帮我理解为什么行为会改变吗?谢谢!当您将
如果秒==7
更改为如果秒==7
,您将输入第一个代码块,当秒
为0
时输入第三个代码块。如果您使用如果秒==7
,则整个if
语句执行一次if seconds==0
得到满足
let seconds = 0
if seconds == 0 {
print("block 1")
}
else if seconds == 7 {
print("block 2")
} else {
print("block 3")
}
block 1
if seconds == 0 {
print("block 1")
}
if seconds == 7 {
print("block 2")
} else {
print("block 3")
}
block 1
block 3