2016-05-15 42 views
0

在我的應用程序中,我選擇了UIDocumentPicker的文件,並將文件名放在tableView上。當點擊cell時,我希望應用程序打開文件。我不知道如何打開之前選擇的文件。請幫忙。如何打開UIDocumentPicker導入的文件?

import UIKit 

extension ViewController: UIDocumentMenuDelegate { 
    func documentMenu(documentMenu: UIDocumentMenuViewController, didPickDocumentPicker documentPicker: UIDocumentPickerViewController) { 
     documentPicker.delegate = self 

     self.presentViewController(documentPicker, animated: true, completion: nil) 
    } 
} 

extension ViewController: UIDocumentPickerDelegate { 
    func documentPicker(controller: UIDocumentPickerViewController, didPickDocumentAtURL url: NSURL) { 
     if controller.documentPickerMode == UIDocumentPickerMode.Import { 
      dispatch_async(dispatch_get_main_queue()) { 

       if let fileName = url.lastPathComponent { 

       self.files.append(fileName) 

      } 

      }    
     }  
    }   
} 

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { 
    var files = [AnyObject]() 

    @IBOutlet weak var fileTableView: UITableView! 
    @IBAction func addDocuments(sender: AnyObject) { 
     let importMenu = UIDocumentMenuViewController(documentTypes: ["public.data", "public.text"], inMode: .Import) 

     importMenu.delegate = self 

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

     let documentPicker = UIDocumentPickerViewController(documentTypes: ["public.data", "public.text"], inMode: .Import) 
     documentPicker.delegate = self 
     documentPicker.modalPresentationStyle = UIModalPresentationStyle.FullScreen 

     self.presentViewController(documentPicker, animated: true, completion: nil) 
    } 

    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    } 

回答

2

您需要保留對整個URL的引用,而不僅僅是文件名。

將完整url添加到self.files。然後更新您的cellForRowAtIndexPath以僅顯示該URL的lastPathComponent

然後在didSelectRowAtIndexPath您可以訪問該文件的完整URL。

+0

嗨rmaddy,再次感謝我很快回答我的問題。如上所述,我修改了我的代碼。你可以幫助解決didSeceltRowAtIndexPath中的代碼嗎?我不知道如何打開文件。 – newdeveloper

+0

以什麼方式打開文件?你真的想用文件做什麼?將其顯示給用戶查看?爲了編輯?你只是想複製它?你需要澄清你想要完成的事情。 – rmaddy

+0

這個想法是用戶選擇文件,並可以在以後任何時候查看。所以當點擊單元格時,應用程序可以將文件顯示給用戶查看。謝謝。 – newdeveloper