我在这里找到了迭代枚举的优雅解决方案: How to enumerate an enum with String type? 接下来,我无法弄清楚如何调用此方法.在面值,它看起来不像是一个参数,但当我尝试调用Card.createDeck()时,我得
接下来,我无法弄清楚如何调用此方法.在面值,它看起来不像是一个参数,但当我尝试调用Card.createDeck()时,我得到一个编译错误告诉我“错误:在调用中缺少参数#1的参数”.
请让我知道我在这里做错了什么?我应该传递给这种方法的是什么?
struct Card { var rank: Rank var suit: Suit func simpleDescription() -> String { return "The \(rank.simpleDescription()) of \(suit.simpleDescription())" } func createDeck() -> [Card] { var deck = [Card]() var n = 1 while let rank = Rank.fromRaw(n) { var m = 1 while let suit = Suit.fromRaw(m) { deck += Card(rank: rank, suit: suit) m++ } n++ } return deck } }createDeck()是一个实例方法.执行Card.createDeck()是对不存在的类方法的调用.
class func – 用于类方法
编辑:
我误读了它是一个结构,但同样的逻辑适用.
static func – 用于静态方法