我的应用程序中有这样一个循环:
for var hue = minHue; hue <= maxHue; hue += hueIncrement
{
let randomizedHue = UIColor.clipHue(
Random.uniform(ClosedInterval(hue - dispersion, hue + dispersion))
)
colors.append(colorWithHue(randomizedHue))
}
hueIncrement
float ,所以我不能使用这样的范围运算符:..<
。
在Swift 3中实现此类循环的最佳和最简洁的方法是什么?
答案 0 :(得分:16)
你可以使用步幅函数stride(through:, by:)
......就像
for hue in (minHue).stride(through: maxHue, by: hueIncrement){
// ...
}
从Swift3.0
开始,您可以使用stride(from:to:by:)
或stride(from:through:by:)
语法
for hue in stride(from: minHue, through: maxHue, by: hueIncrement){
//....
}