簡體   English   中英

Xcode 7 和 Swift 2.0 的 UITableView 數組中的 DocumentsDirectory

[英]DocumentsDirectory in UITableView Array for Xcode 7 and Swift 2.0

我有一個我正在處理的項目,它在本地創建 PDF 文件並將其保存到DocumentDirectoy 我在此處閱讀有關如何查看DocumentDirectory並針對PDF文件對其進行過濾的信息。 我想讓DocumentDirectory文件在UITableView可見。 我知道我必須有一個array 我在這里看到這樣做,但無法弄清楚如何將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查看嗎? 謝謝你。

我想到了。 ViewDidLoad()部分的主菜單View Controller中,我添加了:

    // 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文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM