

Swiftで以下のようなコードがあります。

[code]

    var videoBitrateLabel:UILabel = {
        let label:UILabel = UILabel()
        label.textColor = UIColor.whiteColor()
        return label }()
    
[/code]

これでできたインスタンスは後ほどaddSubviewします。

[code]

    view.addSubview(videoBitrateLabel)
    
[/code]

ぱっと見で、このようなものだと理解はできるのですが、{}と()の意味(効果?)を教えてください。  
またGoogleで調べるのに何と調べればわかるのでしょうか？


CC BY-SA 3.0
2016-06-04T16:15:20.193
25451
2016-06-04T18:26:35.040
2016-06-04T18:26:35.040
3068
8593
question
swift
Swiftの {}()の意味は？


以下のように書いたのと同じになります。  
引数なし、戻り値がUILabel、inの後ろから}までが本体となるクロージャ式(closure expression)です。  
swiftの型推論機能などにより、() -> UILabel inは省略することができます。  
引数と戻り値の数などによっては、省略できない場合もあります。  
最後の()はクロージャ式を実行しています。

[code]

    var videoBitrateLabel:UILabel = {() -> UILabel in 
        let label:UILabel = UILabel()
        label.textColor = UIColor.whiteColor()
        return label
    }()
    
[/code]


CC BY-SA 3.0
2016-06-04T17:43:30.393
25454
2016-06-04T17:43:30.393
8601
25451
answer