我试图在另一个类中声明一个空数组的枚举,如下所示,并收到以下错误:
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)
Run Code Online (Sandbox Code Playgroud)
但是,我可以按如下方式声明数组,没有问题:
// No errors
var emptyEnumArray: [OuterClass.MyEnum] = []
Run Code Online (Sandbox Code Playgroud)
当enum在另一个类中定义时,这似乎只是一个问题,因为这有效:
enum OtherEnum {
case ThingOne
case ThingTwo
}
var emptyArrayTwo = [OtherEnum]()
emptyArrayTwo.append(.ThingTwo)
Run Code Online (Sandbox Code Playgroud)
有关为什么第一个代码段不起作用的任何想法?这是一个语言错误吗?
小智 6
我认为这是一个Swift错误.这也有效.
var emptyEnumArray = Array<OuterClass.MyEnum>()
Run Code Online (Sandbox Code Playgroud)
这个问题让我回想起苹果Swift教程中的一个问题.
| 归档时间: |
|
| 查看次数: |
268 次 |
| 最近记录: |