正在从超级类重写自定义init

  • 本文关键字:重写 自定义 init swift
  • 更新时间 :
  • 英文 :


我正在尝试覆盖代码中的自定义init,正如您所看到的,我正在创建具有默认和自定义init 的Player

class Player{
    //Properties
    var name : String
    var score : Int
    //Methods
    func description() -> String{
        return( "Player (name) has score (score)")
    }
    //Default Initiallizer
    init(){
        name = "Sohrab"
        score = 0
    }
    //Custom Initializer
    init(name : String, score : Int){
        self.name = name
        self.score = score
    }
}

下面我创建PremierPlayer

class PremierPlayer : Player {
    //Properties
    var memberLevel : String
    //Method
    override func description() -> String {
        let originalMessage = super.description()
        return ("(originalMessage) is a (memberLevel)")
    }
    //Default Initilizer
    override init() {
        memberLevel = "Gold"
        super.init()
    }
    //Custome Initilizer
    init(name: String, score: Int, memberLevel:String) {
        self.memberLevel = memberLevel
        super.init(name: <#String#>, score: <#Int#>)
    }
}

super.init(name: <#string#>, score: <#Int#>)行中,我得到了一个错误ISSUE expected ',' separator

我该怎么办?

您的(当前版本的)问题的格式相当混乱,但如果您谈论的是这一行:

super.init(name: <#String#>, score: <#Int#>)

则应该将<#String#>仅替换为值String,将<#Int#>替换为Int类型。那些<#…#>是XCode自动注入到代码中的占位符,以便您用合理的东西替换它们。

最新更新