无法使用Float初始化CGFloat

时间:2015-02-04 04:54:49

标签: swift sprite-kit cgfloat

我有一个使用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'”

我觉得我显然缺少一些影响我的代码行为方式的语言核心概念。

1 个答案:

答案 0 :(得分:4)

您显然缺少的概念是您没有为函数声明返回类型。

应该是

func someFunction () -> CGFloat {
    var x:Float = 5.0
    return CGFloat(x)
}

这声明someFunction返回的值为CGFloat。