netshark1000 netshark1000 - 5 months ago 118
Swift Question

Decrement index in a loop after Swift C-style loops deprecated

How would you express a decrementing indexed loop in Swift 3.0, where the syntax below is not valid any more?

for var index = 10 ; index > 0; index-=1{
print(index)
}

// 10 9 8 7 6 5 4 3 2 1

Answer

C-style loops with a fixed increment or decrement can be replaced by stride():

for index in 10.stride(to: 0, by: -1) {
    print(index)
}

// 10 9 8 7 6 5 4 3 2 1

Use stride(to: ...) or stride(through: ...) depending on whether the last element should be included or not.