入門書を写経中に疑問に思って調べてみたものの、どうしても答えが見つかりませんでした。
クロージャーで引数が定義されているが、そこに書かれている引数名をクロージャー内で使用をしていない。
下記のコード内のクロージャーで 引数(action: UIAlertAction) が作られていますが、 しかしクロージャー内で使用をされていません。使われない場合エラーになると思うのですが、これはどうしてエラーにならないのでしょうか。
また、この引数は UIAlertActionが型で 引数名actionですよね。
となると、このクローシャーはどこかで呼ばれてこの引数に値が送られてきて使われることになるかと思うのですが、そもそもどこがどうやってこのクロージャーを呼ぶのかわからない。。。UIAlertActionがハンドラーの値に自分を入れ込んでクロージャーが動いているのか??
なんかこの辺がこんがらがってしまい、わからなくなります。
どなたか頭の悪い僕にもわかるよう説明いただけますと幸いです。
よろしくお願いします。
以下コード
if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) { //create selection photolibrary let photoLibraryAction = UIAlertAction(title: "フォトライブラリー", style: .default, handler: { (action: UIAlertAction) in //up photolibrary let imagePickerController : UIImagePickerController = UIImagePickerController() imagePickerController.sourceType = .photoLibrary imagePickerController.delegate = self self.present(imagePickerController, animated: true, completion: nil) }) alertController.addAction(photoLibraryAction }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/07 03:23 編集
2018/03/07 04:23