一尘不染

为什么不能实例化嵌套类的空数组?

swift

我似乎在使用[foo]()样式语法实例化嵌套类类型的空数组时遇到问题:

// Playground - noun: a place where people can play

class outsideClass {

}

class Wrapper {
    class InsideClass {
    }
}

var foo = [outsideClass]() // Works fine

// Invalid use of '()' to call a value of non-function type '[Wrapper.InsideClass.Type]'
var bar = [Wrapper.InsideClass]()

这是我误会的东西吗(早在我喝咖啡之前,但我已经查看了发行说明,并且我认为您应该能够引用这样的嵌套类)或Beta 7中的错误?

这可以作为一种解决方法:

var foobar: [Wrapper.InsideClass] = []

阅读 209

收藏
2020-07-07

共1个答案

一尘不染

这肯定看起来像是编译器中的错误,尤其是 允许 您实例化嵌套类的空数组就好了。它根本不适用于初始化程序语法。

我会提出一个错误。同时,对于遇到问题的任何人,都可以通过使用赋值语法,空数组和变量的指定类(而不是构造函数语法)来解决此问题:

 var foobar: [Wrapper.InsideClass] = []
2020-07-07