2016-05-15 45 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全体を参照する必要があります。

urlself.filesに追加します。 cellForRowAtIndexPathを更新して、そのURLのlastPathComponentを表示してください。

didSelectRowAtIndexPathには、ファイルの完全なURLにアクセスできます。

+0

こんにちはrmaddy、もう一度、私の質問にすばやく答えることに感謝します。上記のようにコードを変更しました。 didSeceltRowAtIndexPathのコードを助けることができますか?ファイルを開く方法がわからない。 – newdeveloper

+0

どのようにファイルを開きますか?あなたは実際にファイルで何をしようとしていますか?表示するためにそれをユーザーに表示しますか?編集のために?それだけコピーしたいですか?達成しようとしていることを明確にする必要があります。 – rmaddy

+0

アイデアはユーザーがファイルを選択し、後でいつでもレビューできます。したがって、セルをクリックすると、アプリはそのファイルをユーザに表示して表示することができます。ありがとう。 – newdeveloper