ale*_*lex 4 delegates implements ios swift
[new to swift]我测试这个函数来导出一些简单的文件
@IBAction func exportFile(delegate: UIDocumentInteractionControllerDelegate) {
print("export csv")
let fileName = tmpDir.stringByAppendingPathComponent("myFile.csv")
let url: NSURL! = NSURL(fileURLWithPath: fileName)
if url != nil {
let docController = UIDocumentInteractionController(URL: url)
docController.UTI = "public.comma-separated-values-text"
docController.delegate = delegate
docController.presentPreviewAnimated(true)
}
}
// Return the view controller from which the UIDocumentInteractionController will present itself.
func documentInteractionControllerViewControllerForPreview(controller: UIDocumentInteractionController)-> UIViewController {
return self
}
Run Code Online (Sandbox Code Playgroud)
但是当我点击导出按钮时,我收到了消息
UIDocumentInteractionController delegate must implement documentInteractionControllerViewControllerForPreview: to allow preview
Run Code Online (Sandbox Code Playgroud)
我想
class ViewController:UIViewController,UIDocumentInteractionControllerDelegate {
会足够吗?
我试过Self.documentInteractionControllerViewForPreview(docController)
[编辑]原来我犯了以下错误docController.delegate = self //委托
您需要实现以下委托方法.代表是从服务提供者到服务使用者的回调,为即将发生的操作做好准备.在某些情况下,您必须提供详细信息(称为数据源)才能使用所述功能.
func documentInteractionControllerViewControllerForPreview(controller: UIDocumentInteractionController!) -> UIViewController! {
return self
}
func documentInteractionControllerViewForPreview(controller: UIDocumentInteractionController!) -> UIView! {
return self.view
}
func documentInteractionControllerRectForPreview(controller: UIDocumentInteractionController!) -> CGRect {
return self.view.frame
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1484 次 |
| 最近记录: |