在不推荐使用 for 循环的情况下转换 forEach?

Convert forEach without deprecated for-loop?

我正在使用 forEach 语句,但我想将其转换为 for-loop。但是,现在不推荐使用 C 风格 for-loop

这是我要转换的内容:

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
}

这是 good article 我在 Swift 2.2.

中找到的更改

至于你的问题,如果你想使用传统的 c 风格循环,新的语法是:

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