在for循环中分割时出现Swift 3错误

时间:2018-04-24 14:46:43

标签: ios swift for-loop trigonometry

我在尝试分组时遇到此错误:

二进制运算符'/'不能应用于'_'和'Int'类型的操作数

for i in 1...40{
    let angle  = 2 * .pi / i
}

此代码有效:

for i in 1...40{
    let angle  = 2 * .pi / 4
}

有什么建议吗?也许是如此清楚,我不是在看... 感谢。

3 个答案:

答案 0 :(得分:2)

因为i被推断为Int

只需使用let angle = 2 * .pi / CGFloat(i)

即可

答案 1 :(得分:1)

索引变量推断为num,导致类型不匹配。如果需要Int使用Double

stride

甚至注释浮点类型

for i in stride(from: 1.0, through: 40.0, by: 1.0)  {
    let angle  = 2 * .pi / i
    print(angle)
}

答案 2 :(得分:0)

您需要将i转换为Double,因为i被推断为Int

for i in 1...40{
    let angle  = 2 * .pi / Double(i)
}