在Swift中,类型Int {get set}和Type Int之间有什么区别?

时间:2016-05-20 09:21:30

标签: swift

例如:

    var someData:Int {
    get {
        return 5
    }

    set {

    }
}

    lazy var data2 = {return 5}()

    var data = 5

在上面的代码中,someData和data2被推断为Int {get set},数据被推断为Int。

顺便说一句,data2是从一个闭包的返回值声明的吗?像{}()之类的东西叫做闭包?我认为闭包就像是

{
... in

    return ...
}

1 个答案:

答案 0 :(得分:1)

附加{ ... }

()只是一个立即被调用的闭包。它也可能是

let data2 = { ... in
    return ...
}()

data2未推断为get setgetset表示计算属性,而data2是存储属性。