代码之家  ›  专栏  ›  技术社区  ›  swiftPunk

在Swift中,当访问枚举关联类型和不同值类型的值时,如何解决它们的值?

  •  0
  • swiftPunk  · 技术社区  · 4 年前

    这是我的测试枚举:

    enum TestEnum {
    
        case name(String)
        case age(Int)
        case employed(Bool)
    
        var value: Any {
            switch self {
            case .name(let string):
                return string
            case .age(let int):
                return int
            case .employed(let bool):
                return bool
            }
            
        }
    }
    

    正如你在代码中看到的那样,我有多个具有不同关联类型的用例,这使得很难返回像这样的实体类型 String 或 Int 或 Bool ,因为我们有混合型的情况,所以我要回来 Any 类型,但我必须稍后将返回值强制转换为String、Int或Bool,我不太喜欢它,我想也许有更好的方法来使用 任何 考虑泛型,哪个泛型可能推断出事例类型并返回推断出的类型,而不必处理 任何 再键入。这是一种方式吗?

    0 回复  |  直到 4 年前