【问题标题】:Calling class method in swift快速调用类方法
【发布时间】:2015-05-25 22:49:39
【问题描述】:

我创建了一个小程序,它接受一个人的姓名、性别和竞技场点数,然后根据用户的性别/评分打印一条消息。

在我调用我的方法之前一切都很好,我可以看到 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() )

【问题讨论】:

    标签: ios class swift methods


    【解决方案1】:

    通过执行println( kemkoi.getPlayerStats() ),您正在打印kemkoi.getPlayerStats() 的结果,即nil。

    尝试简单地拨打kemkoi.getPlayersStats()


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

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

    【讨论】:

    • 哇,其实我就是这么笨。我不知道我在想什么。谢谢! if 语句也应该是 '&&' 而不是 '||'。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多