我有这个代码:
let startX = CGFloat(arc4random_uniform(maxX + (quarterX*2))) - quarterX
quarterX 是一个 CGFloat。
这行代码给出构建错误
Cannot invoke '-' with an argument list of type (CGFloat, CGFloat)
这对我来说似乎很奇怪。这里有什么问题?
最佳答案
arc4random_uniform
需要 UInt32
,但您传递的是 CGFloat
(我假设 maxX 是同一类型)。所以你必须转换这个表达式:
maxX + quarterX * 2
到UInt32
:
let startX = CGFloat(arc4random_uniform(UInt32(maxX + quarterX * 2))) - quarterX
让我说错误信息有点误导而且完全没用:)
关于swift - 无法使用类型为 (CGFloat、CGFloat) 的参数列表调用 '-',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25981383/