问题描述
我的 Xcode 目录中有一个黄色文件夹“Group”,名称为“pdfs”。我需要列出文件夹中所有文件 URL 的 PDF 以将其列出在我的视图中。
func listDir(dir: String) {
// Create a FileManager instance
let fileManager = FileManager.default
let documentsURL = fileManager.urls(for: .documentDirectory,in:.userDomainMask)[0].appendingPathComponent(dir)
do {
let fileUrls = try fileManager.contentsOfDirectory(at:documentsURL,includingPropertiesForKeys: nil)
// process files
print(fileUrls)
} catch {
print("Error while enumerating files \(documentsURL.path): \(error.localizedDescription)")
}
我遇到了这个错误
枚举文件时出错/Users/user/Library/Developer/CoreSimulator/Devices/EF0F4EB3-CFB0-42F0-B7F5-B36034508BA2/data/Containers/Data/Application/08019A23-FDD9-4FF8-AC15F2C3CBA /Documents/pdfs:无法打开文件“pdfs”,因为没有这样的文件。
解决方法
这是来自Swift - How do I get the file path inside a folder的解决方案
和代码
func listDir(dir: String) -> [URL]? {
let fileManager = FileManager.default
let documentsURL = Bundle.main.resourceURL!.appendingPathComponent(dir)
var fileUrls:[URL]?
do {
fileUrls = try fileManager.contentsOfDirectory(at:documentsURL,includingPropertiesForKeys: nil)
return fileUrls
} catch {
print("Error while enumerating files \(documentsURL.path): \(error.localizedDescription)")
return nil
}
}