Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 无法转换类型为';CFTimeInterval.Type';至';CFTimeInterval';?_Swift_Initialization - Fatal编程技术网

Swift 无法转换类型为';CFTimeInterval.Type';至';CFTimeInterval';?

Swift 无法转换类型为';CFTimeInterval.Type';至';CFTimeInterval';?,swift,initialization,Swift,Initialization,我正在阅读一本关于Swift的书中的一个编程示例,其中有一个场景的初始值设定项,如下所示: class GameOverScene: SKScene { init(size:CGSize,won:Bool,time:CFTimeInterval) { ........... } } 然后在程序的另一部分中使用以下行调用此初始值设定项: let gameOverScene=GameOverScene(size:self.size,won:true,time:

我正在阅读一本关于Swift的书中的一个编程示例,其中有一个场景的初始值设定项,如下所示:

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)如何更正它吗?

CFTimeInterval
是一种类型。它不是可以传递给该函数的
CFTimeInterval
的实例


CFTimeInterval
是一个
typealias
Double
。因此,此函数需要类型为
Double
的值
1.0
NaN
-1.5
Double.pi
都是
Double
的有效实例。但是您试图给出的是
CFTimeInterval
,它引用了类型本身

例如,这将起作用:

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

CFTimeInterval
是一种类型。它不是可以传递给该函数的
CFTimeInterval
的实例


CFTimeInterval
是一个
typealias
Double
。因此,此函数需要类型为
Double
的值
1.0
NaN
-1.5
Double.pi
都是
Double
的有效实例。但是您试图给出的是
CFTimeInterval
,它引用了类型本身

例如,这将起作用:

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

此初始值设定项中的
time
参数的含义是什么?@Alexander-“time”参数只是一个CFTimeInterval变量,用于描述游戏结束时游戏所用的时间量。此初始值设定项中的
time
参数的含义是什么?@Alexander-“time”参数的含义是什么只是一个CFTimeInterval变量,用于描述游戏结束时游戏所用的时间量。谢谢。我觉得自己像个白痴。我试图将'CFTimeInterval'类型本身作为参数传递,而没有意识到调用的是一个'CFTimeInterval'类型的项。我混淆了用于声明init的语法和用于调用init的语法。不用担心。但请在代码中加一些空格。或者,它只是读了这篇文章,但这并不意味着你愿意与之合作。@SamuelWeir顺便说一句,你使用的是旧版本的Swift吗?在这种情况下,现代Swift会给您一个错误,提醒您要么使用
CFTimeInterval()
调用某个初始值设定项,要么使用显式写入
CFTimeInterval.self
引用该类型。我试图使Xcode和Swift始终更新到最新版本,但我会检查这一点。谢谢,谢谢。我觉得自己像个白痴。我试图将'CFTimeInterval'类型本身作为参数传递,而没有意识到调用的是一个'CFTimeInterval'类型的项。我混淆了用于声明init的语法和用于调用init的语法。不用担心。但请在代码中加一些空格。或者,它只是读了这篇文章,但这并不意味着你愿意与之合作。@SamuelWeir顺便说一句,你使用的是旧版本的Swift吗?在这种情况下,现代Swift会给您一个错误,提醒您要么使用
CFTimeInterval()
调用某个初始值设定项,要么使用显式写入
CFTimeInterval.self
引用该类型。我试图使Xcode和Swift始终更新到最新版本,但我会检查这一点。谢谢