NSFileManager 列出不包括目录的目录内容

2024-01-21

有没有办法告诉-[NSFileManager contentsOfDirectoryAtURL:includingPropertiesForKeys:options:error:]收集目录内容时排除目录名称的方法?

我有一个显示文件夹的树视图,并且只想在表视图中显示文件,但我似乎找不到键或任何其他方式来排除文件夹。我想我可以迭代返回的数组,仅将文件填充到第二个数组中,该数组将用作数据源,但这种双重处理似乎有点狡猾。

我也尝试过返回nil来自tableView:viewForTableColumn:row:方法如果NSURL是一个目录,但这只会导致表中出现空白行,所以这也不好。

当然有一种方法可以告诉NSFileManager我只想要文件?


您可以使用目录枚举器更深入一些。

这个怎么样?

NSDirectoryEnumerator *dirEnumerator = [localFileManager enumeratorAtURL:directoryToScan includingPropertiesForKeys:[NSArray arrayWithObjects:NSURLNameKey, NSURLIsDirectoryKey,nil] options:NSDirectoryEnumerationSkipsSubdirectoryDescendants  errorHandler:nil];
NSMutableArray *theArray=[NSMutableArray array];

for (NSURL *theURL in dirEnumerator) {

    // Retrieve the file name. From NSURLNameKey, cached during the enumeration.
    NSString *fileName;
    [theURL getResourceValue:&fileName forKey:NSURLNameKey error:NULL];

    // Retrieve whether a directory. From NSURLIsDirectoryKey, also
    // cached during the enumeration.

    NSNumber *isDirectory;
    [theURL getResourceValue:&isDirectory forKey:NSURLIsDirectoryKey error:NULL];


    if([isDirectory boolValue] == NO)
    {
        [theArray addObject: fileName];
    }
}

// theArray at this point contains all the filenames
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NSFileManager 列出不包括目录的目录内容 的相关文章

随机推荐

  • 删除 apk 后,每当我启动调试时,它都会告诉我该包尚未安装

    我打开了模拟器 并使用命令提示符删除了我的应用程序 我没有关闭模拟器 然后我进入 Eclipse 并点击 调试 但没有将 apk 部署到模拟器 只是告诉我该包尚未在系统中注册 New package not yet registered w
  • gtk2hs:删除小部件后请求重新计算窗口大小

    我有一个带有三个条目小部件和一个按钮的窗口 我使用该按钮以编程方式删除其中一个小部件 问题是主窗口在被删除后不会改变其大小以适应新的布局 我可以想象我需要向主循环发送一些信号或事件 这会导致重新计算 但我一直无法找到这样的功能 这是一些示例
  • Django的bulk_create函数示例

    我试图理解 Django 中的bulk create 这是我试图转换的原始查询 for e in q msg Message objects create recipient number e mobile content batch co
  • 如何更改 TreeView 节点高度,在节点中绘制 3 条线

    我将 D7 与 TreeView 不是 VirtualTreeView 一起使用 如何更改节点高度以使用 OwnerDraw 并在节点矩形中绘制 3 或 5 或更多 行 文本 所以树应该看起来像这样 显示根节点 2 个节点 aaa 和 bb
  • 使用 PM2 运行自定义 npm 脚本

    我目前正在开发几个 Telegram 机器人 但我想将它们全部保存在同一个 git 存储库中 问题是 另一方面 我想将它们作为单独的进程运行 由于我使用的是 Telegraf 框架 因此要运行机器人 请执行以下操作 micro bot sr
  • 如何在容器内保存对不同元素的多个引用?

    考虑这个简单的例子 v Vec
  • mailchimp api 2.0通过php订阅?

    我需要一个如何通过电子邮件地址订阅 mailchimp 时事通讯的示例 请在此处查看新的 api 链接 https bitbucket org mailchimp mailchimp api php https bitbucket org
  • 两种使用局部敏感哈希查找最近邻居的算法,哪一种?

    目前我正在研究如何使用局部敏感哈希来查找最近邻居 然而 当我阅读论文和搜索网络时 我发现了两种执行此操作的算法 1 使用L个哈希表和L个随机LSH函数 从而增加两个相似文档获得相同签名的机会 例如 如果两个文档的相似度为 80 那么它们有
  • 如何将 ImageView 与底部对齐,填充其宽度和高度,并保持其长宽比?

    背景 ImageView 有各种 XML 属性来缩放其内容 以及各种允许放置视图并设置其大小的布局视图 但是 我无法弄清楚如何在某些情况下很好地缩放 imageView 一个例子是将 ImageView 放在底部 例如 frameLayou
  • 通过Java编程语言读取android中的/dev/input/event

    我想记录 Android 手机上完成的所有输入事件 将其保存在某个文件中 然后使用该文件查看用户输入在什么时间发生 AFAIK 我应该调用 dev input event 获取输入事件 请指导我如何通过 Android 活动执行相同的操作
  • 迭代 String Swift 2.0

    我正在尝试在 Swift 游乐场中编写一段非常简单的代码 var word Zebra for i in word print i 但是 我总是在第 3 行收到错误 String 没有名为 Generator 的成员 关于为什么这行不通的任
  • 如何在 TH 表标签中使用 CSS Rotate()

    我需要 CSS 专家的帮助 我正在尝试创建一个简单的 html table 其中列标题 th 标签 的文本旋转 270 度以横向显示 我在锚定标题单元格时遇到问题 因此单元格文本的最左侧部分单独与所有单元格的底部或基线对齐 th tags
  • 响应式地包裹和展开 div

    我有一组 6 个 DIV 我想根据浏览器的屏幕宽度将它们每 X 个 div 包装在一个新的 div 中 所以首先我有 div class blogItem div div class blogItem div div class blogI
  • Android VpnService - 如何检查 VpnService 是否已启动?

    我有两个使用 VpnService 类的应用程序 但同时只能有一个 VPN 连接运行 创建新接口时 现有接口将被停用 我希望新应用程序不要启动 vpnservice 以避免旧接口及其 VPN 连接被停用 所以我想在调用 startServi
  • Java POI 找不到符号 WorkbookFactory

    我正在将 HSSF 模型转换为 XSSF 我到处都会遇到一些小错误 我下载了最新的 POI 并将所有 jar 文件放入其中 并将 apache 包含在我的 java 类中 出现此错误 import org apache poi ss use
  • 当JWT过期时,本地存储中存储的JWT会自动删除吗?

    我已将 JWT 存储在用户浏览器的本地存储中 我已使用 nodejs express 将 JWT 的到期日期设置为 7 天 浏览器会检测到过期日期并自动将其从本地存储中删除吗 或者我的服务器是否必须检查 JWT 并从用户浏览器的本地存储中删
  • 在 R 中使用 rvest 抓取链接时出现空节点

    我的目标是获得 Kaggle 的所有挑战及其标题的链接 我正在使用 rvest 库 但我似乎还没有走多远 当我有几个 div 时 节点是空的 我一开始就尝试在第一个挑战中做到这一点 并且应该能够将其转移到之后的每个条目中 第一个条目的 xp
  • xquery-获取单个父元素中不为空的元素的计数

    请考虑以下 XML div p Text sihdfaif p p p p Text sihdfaif p p p p Text sihdfaif p p Text sihdfaif p p Text sihdfaif p div 现在 我
  • NewLine 转义字符不起作用

    我们知道 n 在 JavaScript 中用于换行 我应该如何将它用于输出 在 for 循环中 str prompt Enter any string for i 0 i
  • NSFileManager 列出不包括目录的目录内容

    有没有办法告诉 NSFileManager contentsOfDirectoryAtURL includingPropertiesForKeys options error 收集目录内容时排除目录名称的方法 我有一个显示文件夹的树视图 并