本文介绍了Swift 3:用浮点增量替换c样式for-loop的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的应用程序中有这样一个循环:
I have such a loop in my app:
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
is float, so I cant use range operators like this: ..<
.
在Swift 3中实现此类循环的最佳和最简洁的方法是什么?
推荐答案
你可以使用步幅函数 stride(通过:,by:)
为此...类似
you can use stride function stride(through:, by:)
for this .. something like
for hue in (minHue).stride(through: maxHue, by: hueIncrement){
// ...
}
从 Swift3.0
,您可以使用 stride(from:to:by:)
或 stride(from:through:by:)
syntax
From Swift3.0
, you can use stride(from:to:by:)
or stride(from:through:by:)
syntax
for hue in stride(from: minHue, through: maxHue, by: hueIncrement){
//....
}
这篇关于Swift 3:用浮点增量替换c样式for-loop的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!