【问题标题】:DocumentsDirectory in UITableView Array for Xcode 7 and Swift 2.0Xcode 7 和 Swift 2.0 的 UITableView 数组中的 DocumentsDirectory
【发布时间】:2016-03-04 14:54:30
【问题描述】:

我正在处理一个项目,该项目在本地创建 PDF 文件并将其保存到 DocumentDirectoy。我已经阅读了here,了解如何查看DocumentDirectory 并针对PDF 文件对其进行过滤。我想让DocumentDirectory 文件在UITableView 中可见。我知道我必须为此拥有一个array。我看到here 正在这样做,但无法弄清楚如何将DocumentDirectory 放入Swift 2.0 中的数组中以显示在我的UITableView 中。我的 PDF 文件正在保存,可以在我的UIWebView 中查看。

查看DocumentDirectory PDF 的代码是:

    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 中查看吗?谢谢。

【问题讨论】:

    标签: uitableview directory swift2 document xcode7.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 中,我将savedPDFFiles 设置为Global Variable。加载我的Table View Controller 时,表格按名称显示我的DocumentDirectory文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-14
      • 1970-01-01
      • 2015-11-15
      • 1970-01-01
      • 2015-10-20
      • 1970-01-01
      相关资源
      最近更新 更多