例如Java for循环:
for(int i=0; i<5; i+=1){
//
}
转换为Swift
for index in 0..<5 {
}
但是如果我=2
呢?
我是斯威夫特的新手。也许这是一个愚蠢的问题,但如果你回答它,将不胜感激,谢谢!:-)
检查这个
for index in stride(from: 0, to: 5, by: 2){
print(index)
}
你也可以用这种方式。
var first = 0
var last = 10
var add = 2
for i in sequence(first: first, next: { $0 + add })
.prefix(while: { $0 <= last }) {
print(i)
}
输出将是:0,2,4,6,8,10
如果您的for循环正在做比添加常量值以索引每次迭代更复杂的事情,您可以使用以下内容:
假设您有此for循环:
for(index = initial; condition(index); mutation(index)){
//
}
在哪里
initial
—类型为< code>T的初始值常数
< li>条件
—函数< code>(T)那么它将是:
for index in sequence(first: initial, next: { current in
let next = mutation(current)
return condition(next) ? next : nil
}) {
//
}