我有一个使用Swift为Sprite Kit应用程序编写的函数。 Xcode目前在构建时出错,声称无法初始化CGFloat()。这是我的代码:
func someFunction () {
var x:Float = 5.0
return CGFloat(x)
}
引发错误:
“无法找到接受提供的参数”
的'init'的重载在命令点击CGFloat之后,我可以看到Floats,Doubles和Ints的可能参数。
以下代码也会产生相同的错误
func someFunction () {
return CGFloat(5.0)
}
以及
func someFunction () {
return 5;
}
给出了错误
“类型'()'不符合协议'IntegerLiteralConvertible'”
我觉得我显然缺少一些影响我的代码行为方式的语言核心概念。
答案 0 :(得分:4)
您显然缺少的概念是您没有为函数声明返回类型。
应该是
func someFunction () -> CGFloat {
var x:Float = 5.0
return CGFloat(x)
}
这声明someFunction返回的值为CGFloat。