【发布时间】:2018-07-12 14:30:23
【问题描述】:
通过此链接Difference between closure and Computed property,我知道计算属性和闭包之间的区别。
我们可以用两种方式编写闭包,看一个例子,
var computedProperty:String{
return "computedProperty"
}
var clouserFirst = { (name: String) -> String in
return "Hello \(name)"
}
var clouserSecond:String = {
return "Hello clouserSecond"
}()
如果我在课堂上写两个闭包,那么,
第一次调用第二个闭包,这在上面的链接中进行了解释,之后只返回那些值。
但是当我们调用这个闭包时,第一种类型的闭包是调用,而闭包是一个引用类型。见closure in apple document。
我知道计算属性的工作方式与函数一样,因为它不在内存中存储任何值。
所以,我的问题是内存分配如何以两种关闭方式发生。谁能帮我理解这个功能以及这两个闭包之间的区别?
【问题讨论】:
标签: swift