計算型プロパティの中の
この場合は初期化処理のクロージャーの中のという感じになると思います。
{ (_) in }
このような書き方はClosureという書き方になります。
詳しくは以下を参照
[Swift] Closureについてメモ
swift
1public convenience init(title: String?, style: UIAlertActionStyle, handler: ((UIAlertAction) -> Void)?)
使用しているメソッドの定義は上記のようになっています。
アラートのアクションを生成して、アラートのボタンが押された場合に{ (_) in }
のブロックの中がよばれます。
※loginAction.enabled = false
となっているので、押されない前提かとおもいますが・・・
handler: ((UIAlertAction) -> Void)?)
の部分が{ (_) in }
の部分に当たりまして、{ (action) in }
のように書くとaction
にUIAlertAction
の値が戻ってきます。
その値を使用しない場合は_
(ワイルドカードといいます)を使用して、使わないことを明示しています。
★ 簡単なクロージャーの例
swift
1// 引数でわたされた値を+1してクロージャーで返すメソッド
2func closureSample(num1 num1 : Int, closure: (num: Int) -> ()) {
3
4 // クロージャーの処理を実行、これを実行すると呼び出した方のブロックの中が呼ばれ、引数が渡されます。
5 closure(num: num1 + 1)
6}
7
8// Trailing Closuresを使用しない書き方
9closureMethod (num1: 5, closure: { (num) in print(num) })
10
11// 引数の最後がクロージャーなのでTrailing Closuresを使用した書き方
12closureSample (num1: 5){ (num) in // (_) ワイルドカードによって明示的に値を受けないようにできます。
13
14 //=> 6
15 print(num)
16}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/05/12 03:43