Swift 2からSwift 3にコードを移行していますが、コードがこのエラーをスローします。タイプ "className"がプロトコル 'UIDocumentPickerDelegate '私はSwift 3:修正問題タイプ "className"がプロトコル 'UIDocumentPickerDelegate'に準拠していません
extension className: UIDocumentMenuDelegate {
//Opening the Document Menu
func documentMenu(_ documentMenu: UIDocumentMenuViewController, didPickDocumentPicker documentPicker: UIDocumentPickerViewController) {
documentPicker.delegate = self
print ("documentMenu")
self.present(documentPicker, animated: true, completion: nil)
}
func documentMenuWasCancelled(_ documentMenu: UIDocumentMenuViewController) {
}
}
//Using UIDocumentPickerDelegate, error persists here.
extension className: UIDocumentPickerDelegate {
func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentAt url: URL) {
if(controller.documentPickerMode == UIDocumentPickerMode.import){
print ("success")
}
}
}
class className: BaseViewController{
...Tons of code here...
@IBAction func importKeyButtonPressed(_ sender: UIButton) {
let importMenu = UIDocumentMenuViewController(documentTypes: ["public.data","public.text","public.content"], in: UIDocumentPickerMode.import)
var documentPicker = UIDocumentPickerViewController(documentTypes: ["public.txt"], in: UIDocumentPickerMode.import)
documentPicker.delegate = self
documentPicker.modalPresentationStyle = UIModalPresentationStyle.fullScreen
self.present(documentPicker, animated: true, completion: nil)
}
がどのように私は私が必要とprocotolすべてのメソッドを使用してきた?それを解決することができ、あなたが見ることができるように私の文書の多くの部分を移行するが、エラー静止画ました。ありがとうございます
私はこの問題についてはわかりませんが、**提案**スウィフトコンベンションに準拠したい場合、クラス名は "className"ではなく "ClassName"である必要があります。 – dfd
問題を再現できません。 'UIDocumentPickerDelegate'に準拠した拡張機能に関するエラーメッセージはありません。問題を再現するのに十分な情報を提供してください。 – OOPer
BaseViewControllerはUIViewControllerから継承していますか? –