我想知道如何从路径字符串创建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。
在此先感谢您提供的帮助。
答案 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)
}