For loop 替换Swift 2.2 CGFloat中的C型回路

For loop 替换Swift 2.2 CGFloat中的C型回路,for-loop,swift2,For Loop,Swift2,我已经用CGFloat尝试过了,我得到了以下错误:无法使用类型为“(CGFloat by:CGFloat)”的参数列表调用stride 导入基础 让fromValue=CGFloat(0.0) 让toValue=CGFloat(10.0) 让距离=CGFloat(3.3) //以0.0..

我已经用CGFloat尝试过了,我得到了以下错误:无法使用类型为“(CGFloat by:CGFloat)”的参数列表调用stride

<代码>导入基础 让fromValue=CGFloat(0.0) 让toValue=CGFloat(10.0) 让距离=CGFloat(3.3) //以0.0..<10.0的间隔跨步,距离为3.3 让序列=fromValue.stride(to:toValue,by:distance) 打印(序列.动态类型) /* 斯特里托 */ //Stratito符合SequenceType协议,因此我们可以在中使用 对于序列中的元素{ 打印(“\(元素)”) } /* 0 3.3 6.3 9.9 */
下面是最新的stride过载。您可以使用“将数字投射到跨步的CGFloat”

for min in (0 as CGFloat).stride(to: 55, by: value) {
    print("\(min)")
}
但是,当for循环开始时,stride返回Striable。
by
值不会随着for循环的迭代而更新。在这种情况下,使用while循环会更好

var min : CGFloat = 0

while (min < 55) {
    print("\(min)")
    min += value
}
var最小值:CGFloat=0
而(最小值<55){
打印(“\(分钟)”)
最小+=值
}

关于
(0.0)如何。stride(55.0,by:value)
?由于我对Swift的钻研是编写学校代码而不是生产代码,所以我只是在循环时转换成
,而不是费心学习
的“正确”Swift
的愚蠢语法:
var min:CGFloat=0.0;while(min-ty-abluejelly,我将尝试使用该.ty,但我正在尝试在步幅中使用算术运算符(by:parameter),这不受支持吗?@cmarti1138使用
by:min+value
不是您想要的。您只需要
by:value
import Foundation

let fromValue = CGFloat(0.0)
let toValue = CGFloat(10.0)
let distance = CGFloat(3.3)


// stride in interval from 0.0 ..< 10.0, with distance 3.3

let sequence = fromValue.stride(to: toValue, by: distance)
print(sequence.dynamicType)
/*
 StrideTo<CGFloat>
 */

// StrideTo conforms to SequenceType protocol, so we can use for-in
for element in sequence {
    print("\(element)")
}
/*
 0.0
 3.3
 6.3
 9.9
*/
for min in (0 as CGFloat).stride(to: 55, by: value) {
    print("\(min)")
}
var min : CGFloat = 0

while (min < 55) {
    print("\(min)")
    min += value
}