我似乎在使用[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]()
Run Code Online (Sandbox Code Playgroud)
这是我误解的东西 - 它是在我的咖啡之前,但我已经检查了发行说明,我认为你应该能够引用这样的嵌套类 - 或者是beta 7中的错误?
这可以作为一种解决方法:
var foobar: [Wrapper.InsideClass] = []
Run Code Online (Sandbox Code Playgroud)
Mat*_*son 38
这肯定看起来像编译器中的一个错误,特别是当你被允许实例化一个嵌套类的空数组时就好了; 它根本不适用于初始化语法.
我会提出一个错误.在此期间,对于遇到问题的任何人,您可以通过使用带有空数组的赋值语法和变量的指定类来解决它,而不是构造函数语法:
var foobar: [Wrapper.InsideClass] = []
Run Code Online (Sandbox Code Playgroud)