加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 04:25:20 所属栏目:百科 来源:网络整理
导读:我在这里找到了迭代枚举的优雅解决方案: How to enumerate an enum with String type? 接下来,我无法弄清楚如何调用此方法.在面值,它看起来不像是一个参数,但当我尝试调用Card.createDeck()时,我得到一个编译错误告诉我“错误:在调用中缺少参数#1的参数”.
我在这里找到了迭代枚举的优雅解决方案: How to enumerate an enum with String type?

接下来,我无法弄清楚如何调用此方法.在面值,它看起来不像是一个参数,但当我尝试调用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 – 用于静态方法

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读