【发布时间】:2017-04-10 11:38:40
【问题描述】:
我在 Swift 3 中执行 for 循环时遇到问题。我可以将循环用于范围运算符 ... 和 ..<,但在可能的情况下,我想要类似 ..> 的东西,但它不可用。
如何在 Swift 3 中执行以下循环?
var myMax = 20
for var i = myMax ; i >= 0 ; i -= 1 {
...
}
【问题讨论】:
我在 Swift 3 中执行 for 循环时遇到问题。我可以将循环用于范围运算符 ... 和 ..<,但在可能的情况下,我想要类似 ..> 的东西,但它不可用。
如何在 Swift 3 中执行以下循环?
var myMax = 20
for var i = myMax ; i >= 0 ; i -= 1 {
...
}
【问题讨论】:
反转循环很容易。用户reversed函数。
斯威夫特 3
let myMax = 20
for i in (1..<myMax).reversed() {
print(i)
}
你也可以像@ZaidPathan所说的那样使用stride:
这个问题有所有版本的所有答案:How to iterate for loop in reverse order in swift?
【讨论】:
Swift 3,你可以使用stride
var myMax = 20
for var i = myMax ; i > 0 ; i -= 1 {
}
//Equivalent
let myMax = 20
for value in stride(from: 20, to: 0, by: -1){
print(value)
}
var myMax = 20
for var i = myMax ; i >= 0 ; i -= 1 {
}
//Equivalent
for value in stride(from: 20, through: 0, by: -1){
print(value)
}
【讨论】:
for i in (1..<20).reversed() {
print(i)
}
希望对您有所帮助。Read More
【讨论】: