计算属性和属性设置与swift 3中的闭包之间的区别?

时间:2017-05-18 14:04:35

标签: swift properties computed-properties

我已经阅读了这个(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关键字?

1 个答案:

答案 0 :(得分:0)

没有区别。

来自documentation

  

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