Using Stride in Swift 2.0

DogCoffee picture DogCoffee · Aug 25, 2015 · Viewed 16.3k times · Source

I'm trying to figure out how to use the Stride features in Swift.

It seems to have changed again, since Xcode 7.0 beta 6.

Previously I could use

let strideAmount = stride(from: 0, to: items.count, by: splitSize)
let sets = strideAmount.map({ clients[$0..<advance($0, splitSize, items.count)] })

Now, despite the code hint I cannot figure out how to use this feature.

Any examples would be helpful thanks.

I've looked at examples, but I cannot come to grips with how to use it. All I get from the Apple Docs are limited.

Thanks

Answer

D&#225;niel Nagy picture Dániel Nagy · Aug 25, 2015

It changed a bit, here is the new syntax:

0.stride(to: 10, by: 2)

and

Array(0.stride(to: 10, by: 2)) // is [0, 2, 4, 6, 8]

if you take a look at here, you can see what types conform to the Strideable protocol.

As @RichFox pointed out, in Swift 3.0 the syntax changed back to the original global function form like:

stride(from:0, to: 10, by: 2)