我的应用程序中存在这样的循环:
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 ,因此我不能使用如下范围运算符:..<。
hueIncrement
..<
在Swift 3中实现这种循环的最佳,最简洁的方法是什么?
您可以stride(through:, by:)为此使用跨步功能..类似
stride(through:, by:)
for hue in (minHue).stride(through: maxHue, by: hueIncrement){ // ... }
在中Swift3.0,您可以使用stride(from:to:by:)或stride(from:through:by:)语法
Swift3.0
stride(from:to:by:)
stride(from:through:by:)
for hue in stride(from: minHue, through: maxHue, by: hueIncrement){ //.... }