Swift: no se puede crear una matriz vacía de tipo de enumeración anidada
Estoy tratando de declarar una matriz vacía de enumeración definida dentro de otra clase de la siguiente manera, y obtengo el siguiente error:
class OuterClass {
enum MyEnum {
case ThingOne
case ThingTwo
}
}
// Error: Invalid use of '()' to call a value of non-function type '[OuterClass.MyEnum.Type]'
var emptyEnumArray = [OuterClass.MyEnum]()
emptyEnumArray.append(.ThingOne)
Sin embargo, puedo declarar la matriz de la siguiente manera sin problema:
// No errors
var emptyEnumArray: [OuterClass.MyEnum] = []
Esto solo parece ser un problema cuando la enumeración se define dentro de otra clase, ya que esto funciona:
enum OtherEnum {
case ThingOne
case ThingTwo
}
var emptyArrayTwo = [OtherEnum]()
emptyArrayTwo.append(.ThingTwo)
¿Alguna idea sobre por qué el primer fragmento no funciona? ¿Es esto un error de idioma?