无法使用类型的参数列表(CGFloat,CGFloat)调用' - '

时间:2014-09-22 19:05:26

标签: swift

我有这段代码:

let startX = CGFloat(arc4random_uniform(maxX + (quarterX*2))) - quarterX

其中 quarterX 是CGFloat。

这行代码给出了构建错误

  

无法使用类型的参数列表(CGFloat,CGFloat)调用' - '

这对我来说似乎很奇怪。这里有什么用?

1 个答案:

答案 0 :(得分:1)

arc4random_uniform需要UInt32,但您传递的是CGFloat(我认为maxX属于同一类型)。所以你必须转换这个表达式:

maxX + quarterX * 2

UInt32

let startX = CGFloat(arc4random_uniform(UInt32(maxX + quarterX * 2))) - quarterX

让我说错误信息有点误导,完全无用:)