在Swift 2中,为什么会这样:
struct EditorIndex {
var topLevelIndex: Int?
var subIndex: EditorIndex?
}
...由于具有递归引用而导致无效代码,而这是:
struct EditorIndex {
var topLevelIndex: Int?
var subIndex: [EditorIndex]
}
......显然有效吗?我的印象是数组是Swift中的值类型。如果允许一个,为什么不是另一个?
或者我更具体地说,鉴于Swift数组具有基本的动态特性,它如何成为一个结构?