2

我有一个正在处理的项目,该项目在本地创建 PDF 文件并将其保存到DocumentDirectoy. 我已在此处阅读有关如何查看文件DocumentDirectory并为其过滤PDF文件的信息。我想让DocumentDirectory文件在UITableView. 我知道我必须有一个array。我在这里看到了这样做,但无法弄清楚如何将DocumentDirectorySwift 2.0 中的数组放入我的UITableView. 我的 PDF 文件正在保存并且可以在我的UIWebView.

我查看DocumentDirectoryPDF 的代码是:

    func itemsInDirectory() {

    // We need just to get the documents folder url
    let documentsUrl =  NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first!

    // now lets get the directory contents (including folders)
    do {
        let directoryContents = try NSFileManager.defaultManager().contentsOfDirectoryAtURL(documentsUrl, includingPropertiesForKeys: nil, options: NSDirectoryEnumerationOptions())
        print("Items: \(directoryContents)")

    } catch let error as NSError {
        print(error.localizedDescription)
    }

    // if you want to filter the directory contents you can do like this:
    do {
        let directoryUrls = try  NSFileManager.defaultManager().contentsOfDirectoryAtURL(documentsUrl, includingPropertiesForKeys: nil, options: NSDirectoryEnumerationOptions())
        print(directoryUrls)
        let PDFFiles = directoryUrls.filter(){ $0.pathExtension == "pdf" }.map{ $0.lastPathComponent }
        print("PDF FILES:\n" + PDFFiles.description)
    } catch let error as NSError {
        print(error.localizedDescription)
    }

}

当我运行它时,它会打印它们。有人可以帮我将 转换DocumentDirectory为数组以在我的 中查看UITableView吗?谢谢你。

4

1 回答 1

1

我想到了。在我添加的部分的主菜单View ControllerViewDidLoad()

    // Get the documents folder url
    let documentsUrl =  NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first!

    // Filter for PDF only
    do {
        let directoryUrls = try  NSFileManager.defaultManager().contentsOfDirectoryAtURL(documentsUrl, includingPropertiesForKeys: nil, options: NSDirectoryEnumerationOptions())
        let PDFFiles = directoryUrls.filter(){ $0.pathExtension == "pdf" }.map{ $0.lastPathComponent }

        // Set TableView array for saved files to DocumentDirectory PDFs
        savedPDFFiles = PDFFiles
        print(savedPDFFiles)

    } catch let error as NSError {
        print(error.localizedDescription)
    }

在我的其他Table View Controller中,我设置savedPDFFilesGlobal Variable. 加载 myTable View Controller时,表格DocumentDirectory按名称显示我的文件。

于 2015-12-02T17:27:54.783 回答