static vs class as class variable/method(Swift)

Dan*_*hin 11 ios swift

我知道static关键字用于声明类型变量/在方法struct,enum等等.

但今天我发现它也可以在class实体中使用.

class foo {
  static func hi() {
    println("hi")
  }
  class func hello() {
    println("hello")
  }
}
Run Code Online (Sandbox Code Playgroud)

什么是static关键字的使用class实体?

谢谢!

编辑:我指的是Swift 1.2,如果这有任何区别的话

Mar*_*n R 21

从Xcode 3 beta 3发行说明:

现在允许在类中使用"静态"方法和属性(作为"类final"的别名).

所以在Swift 1.2中,hi()定义为

class foo {
  static func hi() {
    println("hi")
  }
}
Run Code Online (Sandbox Code Playgroud)

是一种类型方法(即在类型本身上调用的方法),它也是最终的(即不能在子类中重写).