Подтвердить что ты не робот

Установка делегата для UIImagePicker возвращает ошибку

У вас возникла проблема с некоторым быстрым кодом, написанным для приложения для преобразования OCR. Ниже приведен фрагмент кода:

@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)
}

Image.delegate = self line возвращает ошибку: не удается присвоить значение типа viewcontroller для uiimagepickerdelegate.

Я установил делегат в определении класса, это видно ниже...

class ViewController: UIViewController, UITextFieldDelegate, UIPickerViewDelegate, UIPickerViewDataSource, UIImagePickerControllerDelegate {    }

Все и любая помощь будут оценены, спасибо заранее.

4b9b3361

Ответ 1

Вы забыли о UINavigationControllerDelegate в своем defenition класса ViewController.

Объект делегирования изображений.

Заявление

unowned(unsafe) var delegate: protocol<UIImagePickerControllerDelegate, UINavigationControllerDelegate>?

Ответ 2

Вы должны добавить UINavigationControllerDelegate в объявление класса.

class ViewController: UIViewController, UITextFieldDelegate, UIPickerViewDelegate, UIPickerViewDataSource, UIImagePickerControllerDelegate, UINavigationControllerDelegate {    


 // Some thing here

}