我试图在另一个类中声明一个空数组的枚举,如下所示,并收到以下错误:
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在另一个类中定义时,这似乎只是一个问题,因为这有效:
enum OtherEnum { case ThingOne case ThingTwo } var emptyArrayTwo = [OtherEnum]() emptyArrayTwo.append(.ThingTwo)
我认为这是一个Swift错误.这也有效.
var emptyEnumArray = Array<OuterClass.MyEnum>()
这个问题让我回想起a question in apple Swift tutorial.