繁体   English   中英

快速调用类方法

[英]Calling class method in swift

我创建了一个小程序,其中包含人员姓名,性别和竞技场分数,并根据用户的性别/等级从中打印出一条消息。

在我调用方法之前,一切都很好,我可以看到kemkoi收到了以下值: "kemkoi", "male" and "2500"但是每当我调用我的方法时,它只会显示"()"

这是代码:

class Player {
    var name : String
    var gender : String
    var arenaPoints : Int

    // method
    func getPlayerStats() {

        if(gender != "male" || gender != "female") {
            println("Please choose a gender!")
        } else if(arenaPoints < 2000) {
            println("Seems like you're too unexperienced \(arenaPoints) rating is not enough, come back when you have over 2.2k!")
        } else {
            println("Hello, \(name). You've chosen to play as a \(gender) and your arena points are equal to: \(arenaPoints)")
        }
    }

    // initializer
    init(name : String, gender : String, arenaPoints : Int) {
        self.name = name
        self.gender = gender
        self.arenaPoints = arenaPoints
    }

}

var kemkoi = Player(name: "kemkoi", gender: "male", arenaPoints: 2500)

println( kemkoi.getPlayerStats() )

通过执行println( kemkoi.getPlayerStats() )您将打印kemkoi.getPlayerStats()的结果为nil。

尝试简单地调用kemkoi.getPlayersStats()


另请注意,该方法将始终输出Please choose a gender! 因为您正在执行OR,所以应该改用AND:

if(gender != "male" && gender != "female")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM