在Swift中通过并打印枚举中的所有案例

困惑

考虑这个简单的枚举:

enum myEnum: String {
    case abc = "ABC"
    case xyz = "XYZ"
}

我想编写一个可以打印枚举中所有案例的函数。喜欢..

printEnumCases(myEnum)

预期结果:

ABC
XYZ

注意:我可以像这样迭代一个枚举但是我不知道如何通过枚举。

马丁·R

您可以定义一个通用函数,该函数将类型作为参数,且为CaseIterableRawRepresentable

func printEnumCases<T>(_: T.Type) where T: CaseIterable & RawRepresentable {
    for c in T.allCases {
        print(c.rawValue)
    }
}

用法:

enum MyEnum: String, CaseIterable {
    case abc = "ABC"
    case xyz = "XYZ"
}

printEnumCases(MyEnum.self)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章