Swift 使用super.init()时出现错误消息
从最近开始,我就一直想成为世袭的。此后,GameViewController.swift中出现以下错误:Swift 使用super.init()时出现错误消息,swift,sprite-kit,Swift,Sprite Kit,从最近开始,我就一直想成为世袭的。此后,GameViewController.swift中出现以下错误:无法将“CGSize”类型的值转换为预期的参数类型“NSCoder” GameViewController.swift class GameViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let scene = GameS
无法将“CGSize”类型的值转换为预期的参数类型“NSCoder”
GameViewController.swift
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let scene = GameScene(coder: self.view.bounds.size) //here is the error
let skview = self.view as! SKView
skview.showsFPS = true
skview.showsNodeCount = true
skview.showsPhysics = false
skview.presentScene(scene)
}
}
如果您能回答我的问题,我将不胜感激,因为我已经讨论这个问题好几个小时了。我已经检查了您的代码,您需要删除它
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
从您的
gamesene.swift
文件。您的代码编译得很好,不会产生上述错误。您应该使用以a的形式产生错误的实际代码来回答问题。我最好的猜测是您已经实现了init(coder:)
,并且正在使用不正确的参数调用super
。如果您不打算从场景文件加载场景,则只需调用fatalError(“Unsupported”)
即可实现init(coder:)
。此外,您获得否决票和关闭票的原因是,您显示的代码与您提到的错误完全无关。对于将来的问题,请确保发布导致错误的代码。你会得到更好的答案。我希望我显示正确的代码是这样,当你用CGSize
参数而不是NSCoder
调用GameSecene(coder:)
时,你希望会发生什么?