簡體   English   中英

斯威夫特:內嵌的泛型枚舉可用於所有類型嗎?

[英]Swift: Nested enum in generic that works with all types?

泛型類中可以嵌套一個枚舉:

 class MyClass<T> {

      enum MyEnum { 
      }

      var myEnum: MyEnum
 }

但是,在協議中使用枚舉時,編譯器會要求填充類型,僅是為了使用枚舉。

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

是否可以在適用於所有類型的泛型中定義嵌套枚舉?

也許您可以使用Any或AnyObject:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM