快速声明数组的奇怪方法?

时间:2020-12-27 17:52:49

标签: arrays swift

我正在观看斯坦福大学 iOS 开发课程的第 2 课,并注意到声明数组的一种奇怪方式。

var cards: Array<MemoryGame<String>.Card> {
    return model.cards
}

我不认识这种初始化数组的方法,也无法在 Apple 的文档中找到有关它的任何详细信息。当我尝试使用等号和闭包初始化上述数组时,它指出“实例成员 'model' 不能用于类型 'EmojiMemoryGame';您是想改用这种类型的值吗?”我知道这是因为属性卡的循环定义和类的实例。但是,我不明白上面的代码是如何规避这个问题的。 我还注意到,在我在下面设置的示例案例中,代码也正确地初始化了数组:

var arr1: Array<Int> = [1, 2, 3, 4, 5]
var arr2: Array<Int> {
    return arr1
}

有人可以解释一下这种初始化数组的方法是如何工作的,或者可以将我链接到解释这一点的文档吗?

1 个答案:

答案 0 :(得分:6)

<块引用>

这种初始化数组的方法

这不是这个。这是一个“计算属性”,解释here