一部のSwift 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行は、エラーを返します。viewcontroller型の値をuiimagepickerdelegateに割り当てることができません。
私はクラス定義でデリゲートを設定しました、これは以下に見ることができます...
class ViewController: UIViewController, UITextFieldDelegate, UIPickerViewDelegate, UIPickerViewDataSource, UIImagePickerControllerDelegate { }
事前に感謝します。
ViewControllerクラスの定義でUINavigationControllerDelegateを忘れていました。
画像ピッカーのデリゲートオブジェクト。
宣言
unowned(unsafe) var delegate: protocol<UIImagePickerControllerDelegate, UINavigationControllerDelegate>?
UINavigationControllerDelegateをクラス宣言に追加する必要があります。
class ViewController: UIViewController, UITextFieldDelegate, UIPickerViewDelegate, UIPickerViewDataSource, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
// Some thing here
}