ios - 为什么 UIDocumentMenu 委托(delegate)给自己不起作用?

标签 ios swift delegates uidocumentmenuvc

我正在关注 UIDocumentMenuViewController 的 Apple 文档,以下是我的代码。 importMenu.delegate = self 不起作用并且 Xcode 显示:无法将类型“ViewController”的值分配给类型“UIDocumentMenuDelegate?” .请帮忙。谢谢!

import UIKit

class ViewController: UIViewController  {

override func viewDidLoad() {
    super.viewDidLoad()

    let importMenu = UIDocumentMenuViewController(documentTypes: ["public.text", "public.data"], inMode: .Import)

    importMenu.delegate = self

    self.presentViewController(importMenu, animated: true, completion: nil)

   }
}

最佳答案

根据 UIDocumentMenuDelegate Protocol Reference ,您的 ViewController 必须符合 UIDocumentMenuDelegate 并且必须实现 documentMenu:didPickDocumentPicker:

extension ViewController: UIDocumentMenuDelegate {
    func documentMenu(documentMenu: UIDocumentMenuViewController, didPickDocumentPicker documentPicker: UIDocumentPickerViewController) {
        // do stuffs here
    }
}

关于ios - 为什么 UIDocumentMenu 委托(delegate)给自己不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37052373/

相关文章:

ios - 将 'UITableViewCell' 类型的值转换为自定义单元格

ios - 重新打开应用程序时出现关系故障

ios - 如何将 uitextfield 整数转换为字符串

ios - 从 App Delegate swift 执行 Segue

ios - 自定义 UITableViewCell

arrays - 从类数组中删除重复项并按日期对数组进行排序

arrays - 当我用 Swift 制作表格时,数组为空

c# - 获取匿名方法的目标

ios - 一个对象的变化应该影响同一类的其他对象

ios - 类型为 'required' 的委托(delegate)