使用未解析的运算符 <=

Use of unresolved operator <=

我正在尝试使用 Swift 3 个 for 循环,但一直没有成功。这是我拥有的:

for assumedPayRate: Double in (0.25..<=billRate) where assumedPayRate += 0.25 {

..<= 上它给了我错误:

Use of unresolved operator '..<='

这里是原来的Swift2版本:

for var assumedPayRate:Double = 0.25; assumedPayRate <= billRate; assumedPayRate += 0.25 {

我该如何解决这个错误?

没有..<=,需要将语句转换为while

var assumedPayRate = 0.25
while assumedPayRate <= billRate {
   ... // processing

   assumedPayRate += 0.25
}

Swift 有两个范围运算符 - .....<.

...运算符对应

for i = start ; i <= end ; i++

..<对应

for i = start ; i < end ; i++

在伪代码中。

您可以使用 ... 运算符进行 ¼ 步(即 0.25):

for r in 1 ..< 4*billRate {
    let assumedPayRate = r / 4.0
    ...
}

运算符 ..<= 在 Swift 中不存在,您的语法无效。使用 stride 代替:

// Assuming billRate is a Double
for assumedPayRate in stride(from: 0.25, through: billRate, by: 0.25) {
    // Do your things
}

您可以使用 advanced operator 来完成这项工作,但您需要自己编写。 official documentation 可能会有帮助。