在Java中像静态方法的类级别或结构级别的方法?

有没有办法在类级别或结构级别在swift中添加方法?

struct Card { var rank: Rank var suit: Suit func simpleDescription() -> String { return "The \(rank.simpleDescription()) of \(suit.simpleDescription())" } } 

摘录自:苹果公司“Swift编程语言”,iBooks。 https://itun.es/us/jEUH0.l

现在,如果你想添加一个方法来创build一副完整的卡片,那么完成它的最好方法是什么?

要在类中添加types级别的方法,请在func声明之前添加class关键字:

 class Dealer { func deal() -> Card { ... } class func sharedDealer() -> Dealer { ... } } 

要在结构或枚举中添加types级别的方法,请在func声明之前添加static关键字:

 struct Card { // ... static func fullDeck() -> Card[] { ... } } 

在Objective-C中,两者通常都等同于Java中的静态方法或类方法(用+声明),但关键字会根据您是在类中,结构中还是在枚举中更改。 请参阅Swift编程语言手册中 Type方法 。

指导:

 struct MyStruct { static func something() { println("Something") } } 

调用方式:

 MyStruct.something() 

在class上

 class MyClass { class func someMethod() { println("Some Method") } } 

通过调用:

 MyClass.someMethod() 

第353页

 class SomeClass { class func someTypeMethod() { // type method implementation goes here } } SomeClass.someTypeMethod() 

摘录自:苹果公司“Swift编程语言”,iBooks。 https://itun.es/us/jEUH0.l