在Swift中,类级别或结构级别的方法类似于Java中的静态方法吗?
在Swift中,类级别或结构级别的方法类似于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
现在,如果您想要添加一个创建完整卡牌组的方法,最好的实现方法是什么?
admin 更改状态以发布 2023年5月24日
添加一个类内的类型方法,需要在func
声明之前添加class
关键字:
class Dealer { func deal() -> Card { ... } class func sharedDealer() -> Dealer { ... } }
添加结构体或枚举类型方法,需要在func
声明之前添加static
关键字:
struct Card { // ... static func fullDeck() -> Card[] { ... } }
这两种方法一般等同于Java中的静态方法或Objective-C中的类方法(用+声明),但是关键字会根据你所在的类、结构体或枚举不同而发生变化。参考The Swift Programming Language book中的类型方法章节。