小编mbo*_*ess的帖子

如何在Swift中检查Enum类型?

我正在写一个可以序列化枚举和其他Swift类型(字符串,对象等)的序列化程序。所以我需要检查传递到我的序列化程序中的Any参数是否为Enum或其他。看来在Swift中做到这一点的唯一方法是使用反射。下面的代码看起来合理还是有更好的方法来检查Enum类型?

enum Things {
    case Thing1
    case Thing2
}

let something:Any = Things.Thing1
let mirror = Mirror(reflecting: something)
if (mirror.displayStyle == .Enum) {
    print("Reflected type is Enum") // works
}
Run Code Online (Sandbox Code Playgroud)

enums swift

5
推荐指数
1
解决办法
6311
查看次数

标签 统计

enums ×1

swift ×1