swift - swift 如何从我们在文档目录中创建的子文件夹中获取所有文件?
问题描述
let fileManager = FileManager.default
let documentsFolder = try! fileManager.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
do{
let contents = try FileManager.default.contentsOfDirectory(at: documentsFolder,includingPropertiesForKeys: nil,options: [.skipsHiddenFiles])[0]
print(contents)
let directoryContents = try! fileManager.contentsOfDirectory(at: contents, includingPropertiesForKeys: nil)
let item = directoryContents[indexPath.row]
let photoURL = URL.init(fileURLWithPath: item.path)
let data = try? Data(contentsOf: photoURL)
let image = UIImage(data: data!)
cell.imageView.image = image
} catch let error as NSError {
print("Error: \(error.localizedDescription)")
}
}
解决方案
您可以像这样手动执行此操作:
let fileManager = FileManager.default
let documentsFolder = try! fileManager.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
let subdirectories = try? fileManager.contentsOfDirectory(atPath: documentsFolder.path)
// this will give the last component only.
for subdirectory in subDirectories {
let photoPath = documentsFolder + “/“ + subdirectory + “/“ + fileManager.contentsOfDirectory(atPath : subdirectory)[indexPath.item]
let photoURL = URL.init(fileURLWithPath: photoPath)
let data = try? Data(contentsOf: photoURL)
let image = UIImage(data: data!)
cell.imageView.image = image
}
推荐阅读
- javascript - 如何从多部分/表单数据中获取文本值
- java - Java编程用户定义类
- mysql - MySQL将一个子字符串与另一个字符串进行比较,如果匹配,我会得到匹配百分比
- python-3.7 - 如何使用 chromebook 空闲版本 python 3.7.3 shell 导入 CSV 文件
- c++ - 防止包含恶意 shell 脚本的代码条目
- python - Python包安装在哪个目录?[MAC]
- html - 如何在html中的表格中插入表格并合并几列
- cplex - 我如何处理 CPLEX 中的超出范围问题
- reactjs - 未调用 React 测试库 Mock 函数
- javascript - Javascript - 找出第一个元素出现在排序数组以及另一个未排序集合中