gpt4 book ai didi

ios - 列出(仅)文件夹中的子文件夹——Swift 3.0/iOS 10

转载 作者:搜寻专家 更新时间:2023-10-31 22:01:41 24 4
gpt4 key购买 nike

<分区>

我正在尝试获取文件夹中所有子文件夹的列表(应用程序的 Documents 目录,在下面的示例中)。下面的代码成功地找到了文件夹中的所有内容(文件 + 文件夹),并且还找到了具有指定 .text 扩展名的文件,但我未能将结果缩小到 just 子目录列表。

let filemgr = FileManager.default
var dirPaths = filemgr.urls(for: .documentDirectory, in: .userDomainMask)
myDocumentsDirectory = dirPaths[0]

var r = "Directory Listing:\n------------------\n" // r = will be returned (or displayed in this case)

do {
let directoryContents = try FileManager.default.contentsOfDirectory(at: myDocumentsDirectory, includingPropertiesForKeys: nil, options: [])

// all files -- works fine
let allFileNames = directoryContents.map{ $0.deletingPathExtension().lastPathComponent }
r += "All file names:\n\(allFileNames)\n\n"

// filtering for text files -- also works fine
let textFiles = directoryContents.filter{ $0.pathExtension == "text" }
let textFileNames = textFiles.map{ $0.deletingPathExtension().lastPathComponent }
r += "text file list:\n\(textFileNames)\n\n"

// Look for folders within the folder -- fails, nothing returned
let subdirs = directoryContents.filter{ !$0.isFileURL }
let subdirNames = subdirs.map{ $0.deletingPathExtension().lastPathComponent }

r += "Subdirectories:\n\(subdirNames)\n\n"
textView.text = r

} catch let error as NSError {
print(error.localizedDescription)

我可以通过将过滤器设置为

来获取所有目录
$0.pathExtension == ""

但是会选择目录中没有扩展名的任何文件——即它正确地排除了 foo.bar 但错误地包含了文件 foo 以及文件夹,这不是我需要的 - 必须是目录,仅此而已。

此外,我并没有试图深入了解子文件夹中的子文件夹——我只是在寻找“这里”的子文件夹。

任何建议将不胜感激!

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com