2016-03-24 9 views
0

Ich verwende eine forEach Anweisung, aber ich möchte es in eine for-loop konvertieren. Das C-style for-loop ist jetzt jedoch veraltet. HierConvert forEach ohne veraltete for-Schleife?

ist, was ich versuche zu konvertieren:

items.indices.forEach { fromIndex in 
    ... 
} 

Wie kann ich eine for-loop verwenden, die voraus kompatibel ist?

+1

'für den Index in items.indices {...}' - aber was mit falsch 'forEach'? Was versuchst du zu erreichen? –

+0

Gute Frage, ich muss aus der Schleife ausbrechen und scheint mit 'forEach' nicht möglich. Bei der Verwendung von return bricht nur der aktuelle Zyklus ab, nicht die gesamte Schleife. – TruMan1

Antwort

0

Sie können einen von diesen versuchen:

let arr = ["a", "b", "c", "d", "e", "f", "g"] 
let startIndex = 3 
let increment = 2 

for var i in startIndex..<arr.count { 
    print(arr[i], terminator: " ") //d e f g 
} 

for i in startIndex.stride(to: arr.count, by: increment) { 
    print(i, terminator: " ") //d f 
} 

for (index, element) in arr.enumerate() { 
    print(index, terminator: " ") //d f a b c d e f g 
} 
0

hier ein good article ich für die Veränderungen in der Swift 2.2 gefunden.

Was Ihre Frage, wenn Sie die traditionelle c Stil Schleife verwenden möchten, würde die neue Syntax sein:

for var i in 0..<items.indices.count { 
    print("index: \(i)") 
} 
Verwandte Themen