gpt4 book ai didi

ios - 从初始值设定项错误返回之前,未在所有路径上调用 Super.init

转载 作者:搜寻专家 更新时间:2023-11-01 06:28:32 25 4
gpt4 key购买 nike

我正在开发一个使用操纵杆的 SpriteKit 游戏。我创建了一个操纵杆 SKNode 类。

类的代码:

import Foundation
import SpriteKit

class Joystick: SKNode {
var joystickPad: SKShapeNode!
var joystickStick: SKShapeNode!

var colour: UIColor!

init(colour: UIColor) {
//constructor method
self.colour = colour;
}

required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}

// lots of other code unrelated to the error
}

当我运行我的代码时出现以下错误:

Super.init isn't called on all paths before returning from initializer

任何人都可以解释错误并告诉我任何解决方案,我不明白为什么会出现该错误,因为我认为我的类只是一个类而不是父类(super class)。

任何帮助将不胜感激。

附加信息:

我正在使用:

  • swift 4
  • Spritekit
  • Xcode 9.2
  • iPhone 6s 运行最新公开发布的 iOS

最佳答案

因为你的类继承自SKNode

如果子类声明了新的指定初始化器,它们应该调用父类(super class) init。您可以找到有关初始化的更多信息 here .

您只需在 init 中添加 super.init() 调用即可修复错误。

init(colour: UIColor) {
//constructor method
self.colour = colour;
super.init()
}

关于ios - 从初始值设定项错误返回之前,未在所有路径上调用 Super.init,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50544522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com