0
我正在創建一個簡單的相機應用程序。爲什麼「picker.delegate =自我需要」?
在代碼中,UIImagePickerControllerclass是ViewControllerClass實例的委託。
但是爲什麼在這段代碼中需要「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)
}
雅其manodatry之間,如果你想aceess委託,那麼你需要提'picker.delegate =自當前類 –
@ risa8。當你設置「picker.delegate = self」。你的控制器是使用UIImagePickerControllerDelegate的所有委託方法。對您的控制器進行控制意味着授權轉移給您的控制器。 –
是的,你必須 –