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

时间:2016-10-14 18:08:54

标签: enums swift3

这是一个简单的enum混合型案例:

enum Options {
    case width
    case height
    case gravity
}

widthheight只能有Int类型,但最后一个 - gravity - 只能包含String类型“北”或“东南”。

如何检查该枚举中是否存在给定变量并将其值转换为某种类型?

说我有一个数组:

let arr:Array = ["width", "12"]

我想检查枚举中是否存在arr[0](“width”),如果是,请将第二个元素arr[1](“12”)转换为适当的类型(Int在那种情况下)。

当我明确将enum的类型设置为String时:

enum Options:String

比我可以执行检查:

if Options(rawValue: arr[0]) != nil

这远非理想,因为如前所述,我的枚举应该包含混合类型的案例。

有没有办法将显式类型与枚举中的案例相关联,所以当我知道枚举中存在arr[0]时,我可以将arr[1]强制转换为该类型?

0 个答案:

没有答案
相关问题