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

标签 swift

我有这个代码:

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/

相关文章:

ios - 更改导航后退按钮的目的地

swift - Swift 编译器会优化空闭包吗?

ios - Swift 包管理器 : How best to indicate platform dependent code?

swift - 使用 Swift 在 Mac 上显示通知横幅

ios - 在应用内购买后删除 View Controller 上的所有广告

ios - 无法在数组中插入对象,我想将其添加到用户默认值

ios - 如何将另一个语言环境中的时间解析为美国语言环境?

ios - 为什么 popViewController Animated 需要这么长时间才能运行?

ios - 如何在 SWIFT for iOS 9 中使用 json-data

ios - 用户默认需要时间来快速保存