【问题标题】:NSFileManager - Swift - File BrowserNSFileManager - Swift - 文件浏览器
【发布时间】:2014-12-10 17:54:59
【问题描述】:

我是 ios 开发的新手,我正在尝试快速创建一个应用程序,它将列出目录中的所有文件(所有文件都是 PDF)以及能够打开它们的用户。

过去两天我在谷歌上搜索了这个,我非常困惑。任何人都可以建议一个教程或步骤,我需要让它工作。

我已经在我的 ViewController.swift 文件中开始这样做了:

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    class func defaultManager()->NSFileManager{

    }

}

我只是不知道下一步该做什么,我知道非常难过。我将不胜感激。

谢谢, J

【问题讨论】:

    标签: ios swift nsfilemanager


    【解决方案1】:
    let manager = NSFileManager.defaultManager()
    var array = manager.contentsOfDirectoryAtPath(_ path: String,
                             error error: NSErrorPointer) -> [AnyObject]?
    

    Swift 3.0 版本

    let manager = FileManager.default
    let installed_files = try manager.contentsOfDirectory(atPath: "/Applications/")
    

    【讨论】:

    • 您需要传递存储文件的目录。这可能是 documentDirectory 或它的子目录。我的代码只是一个提示,但看起来像它
    • 我要把这段代码放在我的类 func defaultManager 中吗?
    • 你可以把它放在你想要的任何地方。实际上你的 func defaultManager 是错误的,你不需要它。如果您正在测试,您应该放入 viewdidLoad。当你的控制器出现在屏幕上时,它至少会被调用一次
    • 我试过你的代码,但我得到一个错误:`一行上的连续语句必须用';'分隔
    • 这一行:var array = manager.contentsOfDirectoryAtPath(_ path: String, error error: NSErrorPointer) -> [AnyObject]?;
    【解决方案2】:

    这是一个更完整的示例,并针对 Swift 2 进行了更新。

    将文件添加到项目中的文件夹(而不是组)。然后使用以下代码获取文件名列表。

    private func getListOfFileNames() -> Array<String> {
    
        let docsPath = NSBundle.mainBundle().resourcePath! + "/DirectoryName"
        let fileManager = NSFileManager.defaultManager()
        let docsArray: Array<String>
    
        do {
            docsArray = try fileManager.contentsOfDirectoryAtPath(docsPath)
        } catch {
            print(error)
        }
    
        return docsArray
    }
    

    【讨论】:

      【解决方案3】:

      也许我为您回答迟到了,但答案可能对其他人有所帮助。我找到了一个library on github。这是一种非常容易访问以浏览文件的方法。 At here 是例子:

      let fileBrowser = FileBrowser()
      present(fileBrowser, animated: true, completion: nil)
      

      【讨论】:

        猜你喜欢
        • 2020-12-31
        • 2019-10-10
        • 1970-01-01
        • 2015-09-14
        • 2014-09-01
        • 1970-01-01
        • 2011-06-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多