7
我想如下声明枚举的空数组另一个类的内部定义,并正在以下错误:斯威夫特:无法创建嵌套的枚举类型的空数组
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)
不过,我可以声明该数组没有问题如下:
// No errors
var emptyEnumArray: [OuterClass.MyEnum] = []
这只似乎是当枚举另一个类的内部定义一个问题,因为这个工程:
enum OtherEnum {
case ThingOne
case ThingTwo
}
var emptyArrayTwo = [OtherEnum]()
emptyArrayTwo.append(.ThingTwo)
有关为什么第一个代码段不起作用的想法?这是一个语言错误吗?
自己看着它,看起来很像一个bug是。您是否尝试过在编译器警告关闭的情况下运行它? –