CGFloat 不能用 Float 初始化
CGFloat cannot be initialized with Float
我有一个使用 Swift 为 Sprite Kit 应用程序编写的函数。 Xcode 当前构建错误,声称无法初始化 CGFloat()。这是我的代码:
func someFunction () {
var x:Float = 5.0
return CGFloat(x)
}
抛出错误:
"Could not find an overload for 'init' that accepts the supplied arguments"
在 CGFloat 上单击命令后,我可以看到带有 Floats、Doubles 和 Ints 的 inits 以获取可能的参数。
以下代码也会产生相同的错误
func someFunction () {
return CGFloat(5.0)
}
以及
func someFunction () {
return 5;
}
哪个报错了
"Type '()' does not conform to protocol 'IntegerLiteralConvertible'"
我觉得我显然遗漏了一些影响我的代码行为方式的语言核心概念。
您显然缺少的概念是您没有为函数声明 return 类型。
应该是
func someFunction () -> CGFloat {
var x:Float = 5.0
return CGFloat(x)
}
这声明 someFunction 正在 returning CGFloat 类型的值。
我有一个使用 Swift 为 Sprite Kit 应用程序编写的函数。 Xcode 当前构建错误,声称无法初始化 CGFloat()。这是我的代码:
func someFunction () {
var x:Float = 5.0
return CGFloat(x)
}
抛出错误:
"Could not find an overload for 'init' that accepts the supplied arguments"
在 CGFloat 上单击命令后,我可以看到带有 Floats、Doubles 和 Ints 的 inits 以获取可能的参数。
以下代码也会产生相同的错误
func someFunction () {
return CGFloat(5.0)
}
以及
func someFunction () {
return 5;
}
哪个报错了
"Type '()' does not conform to protocol 'IntegerLiteralConvertible'"
我觉得我显然遗漏了一些影响我的代码行为方式的语言核心概念。
您显然缺少的概念是您没有为函数声明 return 类型。
应该是
func someFunction () -> CGFloat {
var x:Float = 5.0
return CGFloat(x)
}
这声明 someFunction 正在 returning CGFloat 类型的值。