无法将'CFTimeInterval.Type'类型的值转换为'CFTimeInterval'?

时间:2016-12-24 02:41:00

标签: swift initialization

我正在浏览一本关于Swift的书中的编程示例,并为SKScene创建了一个初始化程序,如下所示:

class GameOverScene: SKScene
{
    init(size:CGSize,won:Bool,time:CFTimeInterval)
    {
       ...........
    }
}

然后在程序的另一部分中使用以下行调用此初始化程序:

let gameOverScene=GameOverScene(size:self.size,won:true,time:CFTimeInterval)

似乎这一切都应该相当简单但是我得到了这个看起来很奇怪的错误:

  

无法转换类型'CFTimeInterval.Type(又名'Double.Type')的值   预期的参数类型'CFTimeInterval'(又名'Double')。

有谁知道(1)这个错误意味着什么,以及(2)如何纠正它?

1 个答案:

答案 0 :(得分:2)

-d ' '是一种类型。它不是CFTimeInterval的一个实例,您可以将其传递给该函数。

CFTimeIntervalCFTimeIntervaltypealias。因此,此函数需要类型为Double的值。 Double1.0NaN-1.5都是Double.pi的有效实例。但是你试图给它的是Double,它指的是类型本身。

例如,这可以起作用:

CFTimeInterval