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)
}
나중에는 manodatry 사이의 뷰 컨트롤러 탐색을위한 UINavigationControllerDelegate, 당신은 risa8 @ 현재 클래스 –
에'picker.delegate = 자신을 언급 할 필요가있다. "picker.delegate = self"를 설정하면 컨트롤러가 UIImagePickerControllerDelegate의 모든 대리자 메서드를 사용합니다. 컨트롤러는 위임이 사용자의 컨트롤러로 전송된다는 것을 의미합니다. –
예 그렇습니다. –