Swift:通用的嵌套枚举适用于所有类型?

时间:2018-04-01 22:44:47

标签: swift generics enums

泛型类可以嵌入一个枚举:

 class MyClass<T> {

      enum MyEnum { 
      }

      var myEnum: MyEnum
 }

然而,当在协议中使用枚举时,编译器要求填写类型,仅使用枚举。

 protocol MyProtocol {
      var myEnum: MyClass.MyEnum { get }
      // Error: Reference to generic type 'MyClass' requires arguments in <...>
 }

是否可以在适用于所有类型的泛型中定义嵌套枚举?

1 个答案:

答案 0 :(得分:0)

也许你可以使用Any或AnyObject:

protocol MyProtocol {
    var myEnum: MyClass<Any>.MyEnum{ get }
}