Xcode UIKit 中的文档选择器委托
Xcode Document Picker Delegate in UIKit
为什么我不能将委托设置为自己?我是 运行 下面的代码在 viewcontroller.swift 文件中,但我想在 Render.swift 文件中调用它。我有一个相机视图的金属场景运行,想打开它前面的文件选择器,但是好像不是很简单
@IBAction func importFiles(_ sender: Any) {
let documentPicker = UIDocumentPickerViewController(documentTypes: [kUTTypePlainText as String], in: .import)
documentPicker.delegate = self
documentPicker.allowsMultipleSelection = false
present(documentPicker, animated: true, completion: nil)
}
它说 无法将类型 'ViewController' 的值分配给类型 'UIDocumentPickerDelegate
在我的 Renders.swift 文件中,我有一个函数绑定到调用以下内容的按钮:
//open dialog for picker...
let myVC: ViewController = ViewController()
myVC.importFiles()
我对这一切都很陌生。
Why cant I set the delegate to self?
因为委托需要是 UIDocumentPickerDelegate,而 self
是 而不是 UIDocumentPickerDelegate。您需要声明它是:
class ViewController : UIViewController, UIDocumentPickerDelegate {
这可能会引发其他问题(我预计会),但至少你会超越现在的状态。
为什么我不能将委托设置为自己?我是 运行 下面的代码在 viewcontroller.swift 文件中,但我想在 Render.swift 文件中调用它。我有一个相机视图的金属场景运行,想打开它前面的文件选择器,但是好像不是很简单
@IBAction func importFiles(_ sender: Any) {
let documentPicker = UIDocumentPickerViewController(documentTypes: [kUTTypePlainText as String], in: .import)
documentPicker.delegate = self
documentPicker.allowsMultipleSelection = false
present(documentPicker, animated: true, completion: nil)
}
它说 无法将类型 'ViewController' 的值分配给类型 'UIDocumentPickerDelegate
在我的 Renders.swift 文件中,我有一个函数绑定到调用以下内容的按钮:
//open dialog for picker...
let myVC: ViewController = ViewController()
myVC.importFiles()
我对这一切都很陌生。
Why cant I set the delegate to self?
因为委托需要是 UIDocumentPickerDelegate,而 self
是 而不是 UIDocumentPickerDelegate。您需要声明它是:
class ViewController : UIViewController, UIDocumentPickerDelegate {
这可能会引发其他问题(我预计会),但至少你会超越现在的状态。