質問: false ``` ### わからないこと *(_) inの記述 (_) inの記述含めた{}の中の処理の読み方について是非教えてください!>
回答: > > 計算型プロパティの中の > > > この場合は初期化処理のクロージャーの中のという感じになると思います。 `{ (_) in }`このような書き方はClosureという書き方になります。 詳しくは以下を参照 [Swift] Closureについてメモ ``` public convenience init(title: String?, style: UIAlertActionStyle, handler: ((UIAlertAction) -> Void)?) ``` 使用しているメソッドの定義は上記のようになっています。 アラートのアクションを生成して、アラートのボタンが押された場合に`{ (_) in }`のブロックの中がよばれます。 ※`loginAction.enabled = false`となっているので、押されない前提かとおもいますが・・・ `handler: ((UIAlertAction) -> Void)?)`の部分が`{ (_) in }`の部分に当たりまして、`{ (action) in }`のように書くと`action`に`UIAlertAction`の値が戻ってきます。 その値を使用しない場合は`_` (ワイルドカードといいます)を使用して、使わないことを明示しています。 ★ 簡単なクロージャーの例 ``` // 引数でわたされた値を+1してクロージャーで返すメソッド func closureSample(num1 num1 : Int, closure: (num: Int) -> ()) { // クロージャーの処理を実行、これを実行すると呼び出した方のブロックの中が呼ばれ、引数が渡されます。 closure(num: num1 + 1) } // Trailing Closuresを使用しない書き方 closureMethod (num1: 5, closure: { (num) in print(num) }) // 引数の最後がクロージャーなのでTrailing Closuresを使用した書き方 closureSample (num1: 5){ (num) in // (_) ワイルドカードによって明示的に値を受けないようにできます。 //=> 6 print(num) } ```