【发布时间】:2019-03-19 03:01:42
【问题描述】:
我有两个简单的枚举,例如:
enum A: String {
case i = "i"
case j = "j"
}
enum B: String {
case x = "x"
case y = "y"
case i = "i"
}
而且,我有一个字典,它将所有枚举值映射到其他一些值。
var myDict:[String:String] = [
A.i.rawValue : "i in A",
A.j.rawValue : "j in A",
B.x.rawValue : "x in B",
B.y.rawValue : "y in B",
B.i.rawValue : "i in B"
]
运行此代码会引发错误:
致命错误:字典文字包含重复键
因为字典不能包含相同的多个键。
问题:
是否可以传递枚举对象而不是它们的原始值?像这样的:
var myDict:[<Dont know what to type here>:String] = [
A.i: "i in A",
A.j: "j in A",
B.x: "x in B",
B.y: "y in B",
B.i: "i in B"
]
需要帮助!
【问题讨论】:
-
你想通过将它们放入字典来做什么?
A.i.rawValue和B.i.rawValue没有区别。两者都适用于字符串i。 -
为了演示我的问题,我使用了简单的枚举。实际部分不只是返回字符串。谢谢!!
标签: swift dictionary enums key