参考書を見ながらカメラアプリを作成しています。
picker.delegate = self
において二つのプロトコルを批准するViewController
クラスのインスタンスがUIImagePickerController
クラスのデリゲートになっています。
上記の概念は理解できるのですが、ViewController
クラスのインスタンスがUIImagePickerController
クラスのデリゲートになる必要性がわかりません。
なぜpicker.delegate = selfが必要なのでしょうか?
class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate { @IBAction func launchCamera(_ sender: UIBarButtonItem) { let camera = UIImagePickerControllerSourceType.camera if UIImagePickerController.isSourceTypeAvailable(camera) { let picker = UIImagePickerController() picker.sourceType = camera picker.delegate = self self.present(picker, animated: true) } } func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { let image = info[UIImagePickerControllerOriginalImage] as! UIImage self.imageView.image = image UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil) self.dismiss(animated: true) }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/01 05:40
2017/03/01 05:48 編集
2017/03/01 06:09
2017/03/01 07:31
2017/03/01 07:42
2017/03/01 07:51