Dictionary 如何在swift中从字典中展开枚举

Dictionary 如何在swift中从字典中展开枚举,dictionary,enums,swift,optional,Dictionary,Enums,Swift,Optional,我有一个静态函数,它从结构中的一组枚举创建一个字典 看起来是这样的: // Struct section starts here struct Card { var rank: Rank var suit: Suit func simpleDescription() -> String { return "The \(rank.simpleDescription()) of \(suit.simpleDescription())" }

我有一个
静态函数
,它从结构中的一组枚举创建一个字典

看起来是这样的:

// Struct section starts here
struct Card {
    var rank: Rank
    var suit: Suit

    func simpleDescription() -> String {
        return "The \(rank.simpleDescription()) of \(suit.simpleDescription())"
    }

    // Must use static for non-instance methods
    static 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
    }

}
当我调用
Card.createDeck()
时,输出是一组很好的枚举,如下所示

{(Enum Value), (Enum Value)}
...
Lots of this
...
{(Enum Value), (Enum Value)}
如果我这样做,我甚至可以看到包装的值:

for n in deck {
    println(n)
}
这给我带来了很多好处:

\u TtV13\u lldb\u expr\u 04卡

我不知道如何打开这些枚举;有人能帮我吗


首先,谢谢你:你有一系列卡片,而不是字典

第二:数组中的项不是可选项,因此无需展开任何内容

在for循环中,您可以访问卡描述:

for n in deck {
    println(n.simpleDescription())
}

你的问题毫无意义。1.你指的是什么选项?2.您所指的第一个输出是什么?3.你的实际目标是什么?你想达到什么目的?我编辑了一些内容来澄清一些问题-我可能混淆了我的术语,所以我道歉-我想我有点不知所措了。:-)输出粘贴在操场的控制台上。啊-非常感谢!我知道我在什么地方把自己搞糊涂了!我意识到我在实际编写这个
静态func createDeck()->[Card]
时正在制作一个数组,但不知何故我把自己弄糊涂了。非常感谢你。对不起,我是个布偶。:-)很高兴你找到了答案:)。代码示例解决了您的需求吗?是的-您完全解决了它。我现在可以继续快速巡演了。;-)非常感谢。