快速声明数组的奇怪方法?
我在看斯坦福大学的 iOS 开发课程的第二讲时注意到了一种声明数组的奇怪方式。
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
}
有人可以解释一下这种初始化数组的方法是如何工作的,或者将我链接到解释这一点的文档吗?
回答
这种初始化数组的方法
那不是这个。这是一个“计算属性”,解释here