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

前端之家收集整理的这篇文章主要介绍了Swift:无法创建嵌套枚举类型的空数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在另一个类中声明一个空数组的枚举,如下所示,并收到以下错误
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.

原文链接:https://www.f2er.com/swift/319115.html

猜你在找的Swift相关文章