![](/img/trans.png)
[英]Swift: Initializer does not override a designated initializer from its superclass
[英]Xcode 7.3.1 Swift “initializer does not override a designated initializer from its superclass” error
import Foundation
import SpriteKit
class HGHero: SKSpriteNode {
var body: SKSpriteNode!
var arm: SKSpriteNode!
var leftFoot: SKSpriteNode!
var rightFoot: SKSpriteNode!
錯誤出現在這里:
override init () {
我不確定發生了什么。 我試圖覆蓋SKSpriteNode的默認初始化。
super.init(texture: nil, color: UIColor.blackColor(), size:
CGSizeMake(32,44))
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
您只需要刪除override
關鍵字。
class HGHero: SKSpriteNode {
var body: SKSpriteNode!
var arm: SKSpriteNode!
var leftFoot: SKSpriteNode!
var rightFoot: SKSpriteNode!
init() {
super.init(texture: nil, color: UIColor.blackColor(), size:
CGSizeMake(32,44))
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
實際上的初始值設定項不會被繼承(就像方法或屬性那樣)。 因此,您不會覆蓋它們。
這些隱式未包裝的可選
var body: SKSpriteNode!
var arm: SKSpriteNode!
var leftFoot: SKSpriteNode!
var rightFoot: SKSpriteNode!
非常危險
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.