Man*_*ani 10 types type-conversion cgfloat swift
试图在返回`CGFloat的函数中进行算术运算,我得到一个错误:
找不到接受提供的参数的'/'的重载
func kDCControlDegreesToRadians(x : CGFloat) -> CGFloat
{
return (M_PI * (x) / 180.0) // error is here.
}
Run Code Online (Sandbox Code Playgroud)
还有其他人见过这类问题吗?
Sul*_*han 16
这是一个问题double,以float转换.
在64位计算机上,CGFloat定义为double,您将编译它没有问题,因为M_PI并且x都是双打.
在32位机器上,CGFloat是一个float但M_PI仍然是双倍的.不幸的是,Swift中没有隐式转换,所以你必须明确地转换:
return (CGFloat(M_PI) * (x) / 180.0)
Run Code Online (Sandbox Code Playgroud)
180.0推断出文字的类型.
在Swift 3中
M_PI已弃用,请CGFloat.pi改用:
return (x * .pi / 180.0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11459 次 |
| 最近记录: |