我试图在另一个类中声明一个空数组的枚举,如下所示,并收到以下错误:
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.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。