加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 05:25:01 所属栏目:百科 来源:网络整理
导读:我试图在另一个类中声明一个空数组的枚举,如下所示,并收到以下错误: 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
我试图在另一个类中声明一个空数组的枚举,如下所示,并收到以下错误:
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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读