私はforEach
ステートメントを使用していますが、for-loop
に変換したいと思います。ただし、Cスタイルのfor-loop
は廃止されました。ここでForEach for forループを使用しないで変換しますか?
は、私が変換しようとしているものです:
items.indices.forEach { fromIndex in
...
}
はどのようにして、前方互換性がありfor-loop
を使用することができますか?
私はforEach
ステートメントを使用していますが、for-loop
に変換したいと思います。ただし、Cスタイルのfor-loop
は廃止されました。ここでForEach for forループを使用しないで変換しますか?
は、私が変換しようとしているものです:
items.indices.forEach { fromIndex in
...
}
はどのようにして、前方互換性がありfor-loop
を使用することができますか?
あなたはこののいずれかを試すことができます。
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
}
ここで私はスウィフト2.2の変化が見つかりgood articleです。あなたの質問については
あなたは伝統的なCスタイルのループを使用したい場合は、新しい構文は次のようになります。
for var i in 0..<items.indices.count {
print("index: \(i)")
}
'インデックスにitems.indices {...}で' - しかし、何が間違っています'forEach'?あなたは何を達成しようとしていますか? –
良い質問ですが、私はループから脱出する必要があり、 'forEach'では可能ではないようです。 'return'を使うときは、ループ全体ではなく、現在のサイクルから抜けるだけです。 – TruMan1