删除for init; comparison; increment {} 并轻松删除++ 和--。并使用 Swift 漂亮的 for-in 循环
// WARNING: C-style for statement is deprecated and will be removed in a future version of Swift
for var i = 1; i <= 10; i += 1 {
print("I'm number \(i)")
}
斯威夫特 2.2:
// new swift style works well
for i in 1...10 {
print("I'm number \(i)")
}
对于递减指数
for index in 10.stride(to: 0, by: -1) {
print(index)
}
或者你可以使用reverse()like
for index in (0 ..< 10).reverse() { ... }
对于浮点类型(there is no need to define any types to index)
for index in 0.stride(to: 0.6, by: 0.1) {
print(index) //0.0 ,0.1, 0.2,0.3,0.4,0.5
}
Swift 3.0:
来自Swift3.0,Strideable 上的stride(to:by:) 方法已替换为免费函数stride(from:to:by:)
for i in stride(from: 0, to: 10, by: 1){
print(i)
}
Swift 3.0中的递减索引,可以使用reversed()
for i in (0 ..< 5).reversed() {
print(i) // 4,3,2,1,0
}
除了for each 和stride(),你可以使用While Loops
var i = 0
while i < 10 {
i += 1
print(i)
}
Repeat-While Loop:
var a = 0
repeat {
a += 1
print(a)
} while a < 10
查看The Swift Programming Language Guide中的控制流