【发布时间】:2017-10-18 09:38:09
【问题描述】:
我已经阅读了这个 (Difference between computed property and property set with closure) 有用的问题,但它并没有完全回答我想知道的问题。
它回答了以下区别:
//closure
var pushBehavior: UIPushBehavior = {
let lazilyCreatedPush = UIPushBehavior()
lazilyCreatedPush.setAngle(50, magnitude: 50)
return lazilyCreatedPush
}()
和
//computed
var pushBehavior: UIPushBehavior {
get{
let lazilyCreatedPush = UIPushBehavior()
lazilyCreatedPush.setAngle(50, magnitude: 50)
return lazilyCreatedPush
}
}
我明白这一点。现在,如果我们更改第一个,第二个示例中的计算变量与此有什么区别:
var pushBehavior: UIPushBehavior {
let lazilyCreatedPush = UIPushBehavior()
lazilyCreatedPush.setAngle(50, magnitude: 50)
return lazilyCreatedPush
}
对我来说,这与 get{} 完全一样,但没有 get 关键字。是这样吗?如果是这样,为什么我们有 get 关键字?
【问题讨论】:
标签: swift properties computed-properties