swift 3中计算属性和带闭包的属性集之间的差异?

swift 3中计算属性和带闭包的属性集之间的差异?,swift,properties,computed-properties,Swift,Properties,Computed Properties,我读过这个有用的问题,但它并没有完全回答我想知道的问题 它回答了以下两者之间的区别: //closure var pushBehavior: UIPushBehavior = { let lazilyCreatedPush = UIPushBehavior() lazilyCreatedPush.setAngle(50, magnitude: 50) return lazilyCreatedPush }() 及 我明白这一点。现在,如果我们更改第一个,那么第二个示例中的

我读过这个有用的问题,但它并没有完全回答我想知道的问题

它回答了以下两者之间的区别:

//closure
var pushBehavior: UIPushBehavior = {
    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关键字?

没有区别

通过删除get关键字及其大括号,可以简化只读计算属性的声明

var pushBehavior: UIPushBehavior {
    let lazilyCreatedPush = UIPushBehavior()
    lazilyCreatedPush.setAngle(50, magnitude: 50)
    return lazilyCreatedPush
}