我有一些阵,我需要映射到枚举的数组:如何映射对象在斯威夫特枚举未抛出异常
let planets = ["Earth", "Mars", "Venus"]
enum Planet {
case Earth
case Mars
case Venus
}
阵列被审核(FE我做一个过滤器上之前,转换)现在
,在我的映射功能
func stringToPlanet(planetStr: String) -> Planet {
switch planetStr {
...
default:
return ???
}
}
我必须在默认的部分返回的东西,所以我有以下选择:
- 添加一个“未知”行星来枚举(但我知道100%,我的枚举中的所有行星都是已知的)
- Return Planet?并且没有默认的(最干净的,但是下一行我需要非可选的枚举,我将不得不使用展开来进行过滤。关于包装/展开性能怎么样?我有一个紧凑的循环来调用这个函数)。地球(功能以外令人满意的结果,但eew)
如果这将是另一种语言,我会抛在这里知道它永远不会发生。你对这里最好的模式有什么看法?