在Swift 3中通过闭包定义常量有什么好处

时间:2017-06-04 00:46:30

标签: swift

let a: UIView = {
    let a = UIView()
    a.frame = CGRect(x: 0, y: 0, width: 20, height: 20)
    return a
}()

我看到很多人的Swift源代码以这种方式定义了let。我只是好奇这种方式有什么好处?

1 个答案:

答案 0 :(得分:2)

在这种情况下,没有任何好处,但如果有问题的变量是一个值类型,那么好处是你可以执行一些变异的设置代码并且仍然可以获得一个常量。

它还允许您隐藏仅用于初始化常量的临时变量,因为它们只存在于闭包的范围内。