相关疑难解决方法(0)

类不实现其超类的必需成员

所以我今天更新到Xcode 6 beta 5,并注意到我几乎所有Apple类的子类都收到了错误.

错误说明:

类'x'不实现其超类的必需成员

这是我选择的一个例子,因为这个类目前非常轻量级,因此很容易发布.

class InfoBar: SKSpriteNode  { //Error message here

    let team: Team
    let healthBar: SKSpriteNode

    init(team: Team, size: CGSize) {
        self.team = team
        if self.team == Team.TeamGood {
            healthBar = SKSpriteNode(color: UIColor.greenColor(), size:size)
        }
        else {
            healthBar = SKSpriteNode(color: UIColor.redColor(), size:size)
        }
        super.init(texture:nil, color: UIColor.darkGrayColor(), size: size)

        self.addChild(healthBar)

    }

}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,为什么我收到此错误,我该如何解决?我没有实施什么?我正在打电话给指定的初始化程序.

ios sprite-kit swift

155
推荐指数
4
解决办法
5万
查看次数

为什么Swift中甚至需要方便关键字?

由于Swift支持方法和初始化程序重载,因此您可以将多个init并排放在一起,并使用您认为方便的方法:

class Person {
    var name:String

    init(name: String) {
        self.name = name
    }

    init() {
        self.name = "John"
    }
}
Run Code Online (Sandbox Code Playgroud)

那么convenience关键字为什么会存在呢?是什么让以下更好?

class Person {
    var name:String

    init(name: String) {
        self.name = name
    }

    convenience init() {
        self.init(name: "John")
    }
}
Run Code Online (Sandbox Code Playgroud)

initialization swift

122
推荐指数
3
解决办法
2万
查看次数

标签 统计

swift ×2

initialization ×1

ios ×1

sprite-kit ×1