【发布时间】:2016-08-19 14:36:13
【问题描述】:
考虑一个嵌套在另一个结构中的结构:
struct Struct1 {
struct Struct2 {
var name: String?
}
}
我想创建一个Struct2 值的数组。一开始我试过:
var struct2Array = [Struct1.Struct2]()
但这会导致编译器错误:
error: invalid use of '()' to call a value of non-function type '[Struct1.Struct2.Type]' var struct2Array = [Struct1.Struct2]()
我可以通过声明变量的类型并使用空数组或使用更详细的语法来创建数组:
var struct2Array: [Struct1.Struct2] = []
var struct2ArrayVerbose = Array<Struct1.Struct2>()
但是为什么我不能对嵌套结构使用速记初始化器呢?
【问题讨论】:
-
@MartinR 啊,我想我应该搜索一般的嵌套类型。我虽然这只是结构的问题。谢谢。
-
@MartinR 不错。现在我们有了 bugs.swift.org,他仍然应该提交一个 bug;它的响应速度要快得多。
-
有时我觉得我花更多的时间寻找重复而不是回答...... :) - 在这种情况下,搜索
[swift] nested type array立即成功。 -
在 Swift.org bugs.swift.org/browse/SR-2428打开了一张票