Avoir un problème avec du code Swift que j'avais écrit pour une application de traduction OCR. L'extrait de code est ci-dessous:
@IBAction func btnOCR(sender: AnyObject) {
var languageAlert = UIAlertController(title: "For Your Information...", message: "The OCR feature currently only supports English & French.", preferredStyle: .Alert)
languageAlert.addAction(UIAlertAction(title: "Okay", style: .Default, handler: { action in
var image = UIImagePickerController()
image.sourceType = UIImagePickerControllerSourceType.Camera
image.allowsEditing = false
image.delegate = self
presentViewController(image, animated: true, completion: nil)
}))
self.presentViewController(languageAlert, animated: true, completion: nil)
}
La ligne image.delegate = self renvoie l'erreur: Impossible d'attribuer une valeur de type viewcontroller à uiimagepickerdelegate.
J'ai mis le délégué dans la définition de classe, cela peut être vu ci-dessous ...
class ViewController: UIViewController, UITextFieldDelegate, UIPickerViewDelegate, UIPickerViewDataSource, UIImagePickerControllerDelegate { }
Toute aide serait appréciée, merci d'avance.
Vous avez oublié UINavigationControllerDelegate dans votre définition de classe ViewController.
Objet délégué du sélecteur d'images.
Déclaration
unowned(unsafe) var delegate: protocol<UIImagePickerControllerDelegate, UINavigationControllerDelegate>?
Vous devez ajouter UINavigationControllerDelegate à la déclaration de classe.
class ViewController: UIViewController, UITextFieldDelegate, UIPickerViewDelegate, UIPickerViewDataSource, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
// Some thing here
}