Swift:无法创建嵌套枚举类型的空数组

前端之家收集整理的这篇文章主要介绍了Swift:无法创建嵌套枚举类型的空数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在另一个类中声明一个空数组的枚举,如下所示,并收到以下错误
  1. class OuterClass {
  2. enum MyEnum {
  3. case ThingOne
  4. case ThingTwo
  5. }
  6. }
  7.  
  8. // Error: Invalid use of '()' to call a value of non-function type '[OuterClass.MyEnum.Type]'
  9. var emptyEnumArray = [OuterClass.MyEnum]()
  10. emptyEnumArray.append(.ThingOne)

但是,我可以按如下方式声明数组,没有问题:

  1. // No errors
  2. var emptyEnumArray: [OuterClass.MyEnum] = []

当enum在另一个类中定义时,这似乎只是一个问题,因为这有效:

  1. enum OtherEnum {
  2. case ThingOne
  3. case ThingTwo
  4. }
  5.  
  6. var emptyArrayTwo = [OtherEnum]()
  7. emptyArrayTwo.append(.ThingTwo)

有关为什么第一个代码段不起作用的任何想法?这是一个语言错误吗?

我认为这是一个Swift错误.这也有效.
  1. var emptyEnumArray = Array<OuterClass.MyEnum>()

这个问题让我回想起a question in apple Swift tutorial.

猜你在找的Swift相关文章