首页 > 解决方案 > 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)")
                    }
                    }

标签: swiftio

解决方案


您可以像这样手动执行此操作:

 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


    }

推荐阅读