0
私は簡単なカメラアプリを作成しています。なぜ "picker.delegate = self needed"ですか?
コードでは、UIImagePickerControllerclassはViewControllerClassインスタンスのデリゲートです。
しかし、なぜこのコードでは "picker.delegate = self"が必要ですか? UIImagePickerControllerの
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)
}
間のビューコントローラのナビゲーションのための UINavigationControllerDelegate屋そのmanodatryは、その後、あなたはrisa8 @現在のクラスで自己 –
= 'picker.delegateを言及する必要があります。 "picker.delegate = self"を設定すると、あなたのコントローラはUIImagePickerControllerDelegateのすべてのデリゲートメソッドを使用します。制御はあなたのコントローラに委譲されます。委任はコントローラに転送されます。 –
はいいいえ –