2016-03-24 11 views
0

私はforEachステートメントを使用していますが、for-loopに変換したいと思います。ただし、Cスタイルのfor-loopは廃止されました。ここでForEach for forループを使用しないで変換しますか?

は、私が変換しようとしているものです:

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

はどのようにして、前方互換性がありfor-loopを使用することができますか?

+1

'インデックスにitems.indices {...}で' - しかし、何が間違っています'forEach'?あなたは何を達成しようとしていますか? –

+0

良い質問ですが、私はループから脱出する必要があり、 'forEach'では可能ではないようです。 'return'を使うときは、ループ全体ではなく、現在のサイクルから抜けるだけです。 – TruMan1

答えて

0

あなたはこののいずれかを試すことができます。

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

ここで私はスウィフト2.2の変化が見つかりgood articleです。あなたの質問については

あなたは伝統的なCスタイルのループを使用したい場合は、新しい構文は次のようになります。

for var i in 0..<items.indices.count { 
    print("index: \(i)") 
} 
関連する問題