2015-08-25 16 views
29

Sto cercando di capire come utilizzare le funzionalità di Stride in Swift.Utilizzo di Stride in Swift 2.0

sembra che abbia cambiato di nuovo, dal momento che Xcode 7.0 beta 6.

In precedenza ho potuto utilizzare

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

Ora, nonostante il suggerimento sul codice non riesco a capire come utilizzare questa funzionalità.

Qualsiasi esempio sarebbe utile, grazie.

Ho visto examples, ma non riesco a capire come usarlo. Tutto ciò che ottengo dai documenti Apple è limitato.

Grazie

+0

passo viene utilizzato per generare un numero per funzione interna, quindi non può essere utilizzato semplicemente per gli array di splicing perché hai bisogno di numeri (indici di inizio e fine) per quello – maxpovver

+0

@maxpovver, quindi usarlo per questa è una cattiva idea http://stackoverflow.com/questions/26395766/swift-what-is-the-right- way-to-split-up-a-string-risultante-in-a-string-wi – DogCoffee

+0

tocca a te @DogCoffee – maxpovver

risposta

63

E 'cambiato un po', ecco la nuova sintassi:

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

e

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

se si dà un'occhiata a here, è possibile vedere quali tipi conformi alle il protocollo Strideable.

Come @RichFox sottolineare, a Swift 3.0 la sintassi cambiato torna alla forma originale come funzione globale:

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

Non sapevo di SwiftDoc - bonus! Grazie la sintassi – DogCoffee

+1

è ora di nuovo la funzione globale ... 'passo (da: 0, a: 10, di: 2)' per esempio è possibile: 'per i in stride (da: 0, a: 10, da: 2) {print (i)} –

+0

@RichFox grazie per averlo indicato! –