我正在浏览一本关于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)如何纠正它?
答案 0 :(得分:2)
-d ' '
是一种类型。它不是CFTimeInterval
的一个实例,您可以将其传递给该函数。
CFTimeInterval
是CFTimeInterval
到typealias
。因此,此函数需要类型为Double
的值。 Double
,1.0
,NaN
,-1.5
都是Double.pi
的有效实例。但是你试图给它的是Double
,它指的是类型本身。
例如,这可以起作用:
CFTimeInterval