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]
时正在制作一个数组,但不知何故我把自己弄糊涂了。非常感谢你。对不起,我是个布偶。:-)很高兴你找到了答案:)。代码示例解决了您的需求吗?是的-您完全解决了它。我现在可以继续快速巡演了。;-)非常感谢。