我如何在Swift中声明一个类级别的函数?
我似乎无法在文档中find它,我想知道它是否存在于本地Swift中。 例如,我可以在NSTimer上调用一个类级别的函数,如下所示: 
 NSTimer.scheduledTimerWithTimeInterval(0.2, target: self, selector: "someSelector:", userInfo: "someData", repeats: true) 
但我似乎无法find一种方法来执行我的自定义对象,以便我可以这样调用它:
 MyCustomObject.someClassLevelFunction("someArg") 
 现在,我知道我们可以混合使用Objective-C w / Swift,并且NSTimer类方法可能是互操作性的一个补充。 
题
- 
Swift中存在类级别的函数吗? 
- 
如果是,我如何在Swift中定义一个类级别的函数? 
是的,你可以像这样创build类的function:
 class func someTypeMethod() { //body } 
虽然在Swift中,它们被称为types方法。
你可以在你的类中定义Type方法:
 class Foo { class func Bar() -> String { return "Bar" } } 
然后从类Name中访问它们,即:
 Foo.Bar() 
 在Swift 2.0中,你可以使用static关键字来防止子类重写方法。  class将允许子类重写。 
更新:感谢@Logan
 对于Xcode 6 beta 5,您应该使用static关键字来指定类的结构和class关键字: 
 class Foo { class func Bar() -> String { return "Bar" } } struct Foo2 { static func Bar2() -> String { return "Bar2" } } 
从官方的Swift 2.1 Doc :
您可以通过在方法的func关键字之前写入static关键字来指示types方法。 类也可以使用class关键字来允许子类重写该方法的超类实现。
 在一个结构中,你必须使用static来定义一个Type方法。 对于类,您可以使用static或class关键字,具体取决于是否允许您的方法被子类重写。 
你需要在你的类中定义方法
  class MyClass { class func MyString() -> String { return "Welcome" } } 
现在你可以使用类名来访问它,例如:
  MyClass.MyString() 
这将作为“欢迎”。