方法 – 在swift中从struct调用方法

前端之家收集整理的这篇文章主要介绍了方法 – 在swift中从struct调用方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在这里找到了迭代枚举的优雅解决方案: How to enumerate an enum with String type?

接下来,我无法弄清楚如何调用方法.在面值,它看起来不像是一个参数,但当我尝试调用Card.createDeck()时,我得到一个编译错误告诉我“错误:在调用中缺少参数#1的参数”.

请让我知道我在这里做错了什么?我应该传递给这种方法的是什么?

  1. struct Card {
  2. var rank: Rank
  3. var suit: Suit
  4.  
  5. func simpleDescription() -> String {
  6. return "The \(rank.simpleDescription()) of \(suit.simpleDescription())"
  7. }
  8.  
  9. func createDeck() -> [Card] {
  10.  
  11. var deck = [Card]()
  12.  
  13. var n = 1
  14. while let rank = Rank.fromRaw(n) {
  15.  
  16. var m = 1
  17. while let suit = Suit.fromRaw(m) {
  18. deck += Card(rank: rank,suit: suit)
  19. m++
  20. }
  21. n++
  22. }
  23.  
  24. return deck
  25. }
  26.  
  27. }

解决方法

createDeck()是一个实例方法.执行Card.createDeck()是对不存在的类方法调用.

class func – 用于类方法

编辑:

我误读了它是一个结构,但同样的逻辑适用.

static func – 用于静态方法

猜你在找的Swift相关文章