如何将具体目录路径转换为NSURL?

时间:2018-09-21 11:40:26

标签: ios swift swift4.2

我想知道如何从路径字符串创建URL。 这是我的代码:

    let completePath = "/Volumes/MyNetworkFolder/"

    do {
        let items = try FileManager.default.contentsOfDirectory(atPath: completePath)

        for item in items {
            if item.hasDirectoryPath { //String has no member hasDirectoryPath
                itemList.append(item)
            }
        }
    } catch {
        print("Failed to read dir")
        let buttonPushed = dialogOKCancel(question: "Failed to read dir", text: "Map the network folder")
        if(buttonPushed) {
            exit(0)
        }
    }

我只想将文件夹添加到itemList数组。 hasDirectoryPath是一个URL方法。 我该如何更改代码以获取不是String的URL。

在此先感谢您提供的帮助。

1 个答案:

答案 0 :(得分:1)

最好使用contentsOfDirectory(at url: URL, ...)方法 FileManager,这将为您提供URL的数组,而不是 字符串:

let dirPath = "/Volumes/MyNetworkFolder/"
let dirURL = URL(fileURLWithPath: dirPath)

do {
    let items = try FileManager.default.contentsOfDirectory(at: dirURL,
                                                            includingPropertiesForKeys: nil)
    for item in items {
        if item.hasDirectoryPath {
            // item is a URL
            // item.path is its file path as a String
            // ...
        }
    }
} catch {
    print("Failed to read dir:", error.localizedDescription)
}