Enums Swift3-如何检查枚举中是否存在变量并强制转换其类型

Enums Swift3-如何检查枚举中是否存在变量并强制转换其类型,enums,swift3,Enums,Swift3,下面是混合类型案例的简单枚举: enum Options { case width case height case gravity } width和height只能有一种类型的Int,但是最后一种类型的gravity-只能容纳一种类型的字符串,例如“北”或“东南” 如何检查给定变量是否存在于该枚举中,并将其值强制转换为特定类型 假设我有一个数组: let arr:Array = ["width", "12"] 我想检查我的枚举中是否存在arr[0](“宽度”),如果

下面是混合类型案例的简单枚举:

enum Options {
    case width
    case height
    case gravity
}
width
height
只能有一种类型的
Int
,但是最后一种类型的
gravity
-只能容纳一种类型的
字符串,例如“北”或“东南”

如何检查给定变量是否存在于该枚举中,并将其值强制转换为特定类型

假设我有一个数组:

let arr:Array = ["width", "12"]
我想检查我的枚举中是否存在
arr[0]
(“宽度”),如果存在,请将第二个元素
arr[1]
(“12”)转换为适当的类型(
Int

当我显式地将enum的类型设置为
String
时,如下所示:

enum Options:String
我无法执行我的检查:

if Options(rawValue: arr[0]) != nil
这远非理想,因为正如前面提到的,我的枚举应该包含混合类型的案例


有没有一种方法可以将显式类型与枚举中的大小写关联起来,这样当我知道枚举中存在
arr[0]
时,我就可以将
arr[1]
转换为该类型?

您似乎误解了枚举的功能。请阅读Hi-Pono,我认为一个结构或者一本字典会更好。如果我误解了你的意图,我很抱歉。@charlessim你是完全正确的-仍然在学习Swift。我用字典来解决我的问题。看来你误解了枚举的功能。请阅读Hi-Pono,我认为一个结构或者一本字典会更好。如果我误解了你的意图,我很抱歉。@charlessim你是完全正确的-仍然在学习Swift。我用字典来解决我的问题。