Swift - 不执行Type / Class方法

时间:2014-06-12 04:14:52

标签: swift

我们在Swift中遇到了类型方法的奇怪问题。

我们有以下文件:

Koan.swift

class Koan {
}

AboutAsserts.swift

class AboutAsserts: Koan {

    class func testTrueShouldBeTrue() {
        println("Koan runs")
    }

}

main.swift

println("Before")

AboutAsserts.testTrueShouldBeTrue()

println("After")

当代码运行时,我们会看到"之前"和#34;之后"但不是" Koan跑步"。

如果我们将AboutAsserts设置为不从Koan继承,则可以正常工作(" Koan运行"打印)。

如果我们将testTrueShouldBeTrue更改为实例方法,它就可以工作。

如果我们将testTrueShouldBeTrue作为类方法保存,并实例化一个AboutAsserts(即使不使用它),它也能正常工作

main.swift

println("About to run all the koans")

var koan = AboutAsserts()
AboutAsserts.testTrueShouldBeTrue()

println("Hello, World!")

我们疯了吗?

0 个答案:

没有答案