iPhone:NSFilemanager fileExistsAtPath:isDirectory:无法正常工作?

2024-03-01

我正在为越狱 iPhone 开发一款应用程序。我试图仅获取文件夹的目录。所以我正在这样做:

NSArray *contentOfFolder = [[NSFileManager defaultManager] directoryContentsAtPath:path];
NSLog(@"contentOfFolder: %@", contentOfFolder);
directoriesOfFolder = [[NSMutableArray alloc] initWithCapacity:100];
for (NSString *aPath in contentOfFolder) {
    NSLog(@"apath: %@", aPath);

    BOOL isDir;
if ([[NSFileManager defaultManager] fileExistsAtPath:aPath isDirectory:&isDir] &&isDir)
    {
        [directoriesOfFolder addObject:aPath];
        NSLog(@"directoriesOfFolder %@", directoriesOfFolder);
    }
}
NSLog(@"dirctories %@", directoriesOfFolder);

但看看我得到了什么。当我获取文件夹的内容时,一切看起来都很好:

2009-07-28 23:23:35.930 Drowser[573:207] 新路径 /private/var 2009-07-28 23:23:35.945 Drowser[573:207] contentOfFolder:( 钥匙扣, “管理偏好”, 移动设备, 备份, 缓存, D b, EA, 空的, 文件夹, 库, 当地的, 锁, 日志, 日志, 移动的, 短信, 优先, 根, 跑步, 线轴, 藏, tmp, 虚拟机 )

但是之后:

2009-07-28 23:23:35.950 Drowser[573:207] apath:钥匙扣 2009-07-28 23:23:35.954 Drowser[573:207] apath:托管首选项 2009-07-28 23:23:35.959 Drowser[573:207] apath:MobileDevice 2009-07-28 23:23:35.984 Drowser[573:207] apath:备份 2009-07-28 23:23:35.993 Drowser[573:207] apath:缓存 2009-07-28 23:23:36.002 Drowser[573:207] apath:db 2009-07-28 23:23:36.011 Drowser[573:207] apath:ea 2009-07-28 23:23:36.019 Drowser[573:207] apath:空 2009-07-28 23:23:36.028 Drowser[573:207] apath:文件夹 2009-07-28 23:23:36.037 Drowser[573:207] apath:lib 2009-07-28 23:23:36.046 Drowser[573:207]directoriesOfFolder ( 库 )

只有“lib”!被识别为文件夹。怎么可能?其他的也是文件夹。我通过 SSH 确认了。

有人有想法吗?难道我做错了什么?


这是一个非常容易犯的错误,但也很容易修复。枚举目录的内容只会提供项目的名称,而不是项目的完整路径。您必须自己构建完整的路径。所以你有:

for (NSString *aPath in contentOfFolder) {
  NSLog(@"apath: %@", aPath);

  BOOL isDir;
  if ([[NSFileManager defaultManager] fileExistsAtPath:aPath isDirectory:&isDir] &&isDir) {
    [directoriesOfFolder addObject:aPath];
    NSLog(@"directoriesOfFolder %@", directoriesOfFolder);
  }
}

你实际上应该有这个:

for (NSString *aPath in contentOfFolder) {
  NSString * fullPath = [path stringByAppendingPathComponent:aPath];

  BOOL isDir;
  if ([[NSFileManager defaultManager] fileExistsAtPath:fullPath isDirectory:&isDir] &&isDir) {
    [directoriesOfFolder addObject: fullPath];
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iPhone:NSFilemanager fileExistsAtPath:isDirectory:无法正常工作? 的相关文章

  • iPhone SQLite页面缓存不断增长

    I use sqlite数据库用于存储 还有许多数据库事务 我的问题是 sqlite 页面缓存的内存使用量快速增长 在instruments我可以找到这条线 Graph Category Live Bytes Living Transien
  • 使用自动布局、IB 和字体大小时表头视图高度错误

    我正在尝试为我的 uiTableView 创建一个标题视图 不是节标题 我已经有了 我已经在界面生成器中设置了一个 XIB 所有的连接都已连接好并且运行良好 除了桌子没有给它足够的空间 我的问题是表格顶部与表格标题有一点重叠 我的 XIB
  • Objective C 中类别是如何实现的?

    作为一名程序员 我知道如何使用类别 但我很好奇它们是如何实现的 编译器是否将它们编译为对类替换方法 http developer apple com library mac documentation Cocoa Reference Obj
  • 如何将CIFilter应用到UIView上?

    根据Apple docs 过滤属性CALayer不支持iOS 当我使用正在申请的应用程序之一时CIFilter to UIView即 Splice Funimate 和 Artisto 的视频编辑器 Videoshow FX 这意味着我们可
  • 使用 ZBarSDK 时 iPhone 相机失去自动对焦功能

    我正在开发一个应用程序 用户可以选择是否要扫描条形码或拍摄某物的照片 为了拍照 我正在使用UIImagePickerController照常 为了扫描条形码 我使用 ZbarSDK 1 2ZBarReaderViewController 拍
  • 如何在 iOS 上固定证书的公钥

    在提高我们正在开发的 iOS 应用程序的安全性时 我们发现需要对服务器的 SSL 证书 全部或部分 进行 PIN 操作以防止中间人攻击 尽管有多种方法可以做到这一点 但当您搜索此内容时 我只找到了固定整个证书的示例 这种做法会带来一个问题
  • UILabel UILongPressGestureRecognizer 不起作用?

    我怎样才能得到UILongPressGestureRecognizer在 uilabel 当我实现以下代码时 它不会调用该函数 那么请告诉我我做错了什么 UILongPressGestureRecognizer longPress UILo
  • 带有文本字段的 iPhone AlertView

    我有一个UIAlertView with a UITextField在里面 我想输入mail id并提交于UIAlertView s ok按钮 但是UITextField in the UIAlertView没有回复 请帮助我 thankz
  • 动画 UICollectionView 单元格大小更改并重新定位周围单元格

    Goal 以动画方式改变单元格的高度并重新定位周围的单元格 设想 集合视图中的某些单元格会加载远程图像 最初 这些单元格的大小是静态的 并显示活动指示器 加载图像后 会将其添加到其单元格中 并且更改单元格的高度以适合照片 Notes 我正在
  • 对象指针值作为字典的键

    我想使用对象的引用值作为字典的键 而不是对象值的副本 因此 我本质上想在字典中存储与另一个对象的特定实例关联的对象 并稍后检索该值 这可能吗 是不是完全违背了NSDictionary的理念 我可以看出我可能以错误的方式处理这个问题 因为字典
  • 重新启动应用程序时出现异常 SIGKILL

    我在 iPhone 模拟器中构建并运行一个项目 我通过按主页按钮将其发送到后台 然后我双击主页按钮在后台找到我的应用程序并点击它 它变得活跃并且应用程序继续运行 在这里 无论我重复多少次 我都没有问题 然后我通过点击应用程序图标上的红色小减
  • 如何去掉 UIWebView 上的状态栏背景?

    从 iOS 11 开始 当UIWebView全屏时 状态栏上会出现与屏幕颜色相同的假背景UIWebView背景 有人知道如何摆脱它吗 甚至添加IUWebView到故事板并使其全屏将使状态栏背景出现 我一直在尝试编辑 UIWebView 的大
  • 在 Xcode5 中使用 XCTest 时 AFNetworking 导致错误

    我正在使用 Xcode 5 现在刚刚开始对现有项目进行单元测试 为此我添加了CocoaTouch Unit Testing Bundle作为我的项目的目标 目标名称是 MyAppTests 我之前使用添加了 AFNetworking 库Co
  • 如何解决malloc_error_break?

    我在 iOS 3 0 模拟器上遇到此错误 但在 3 1 3 和 3 2 模拟器上没有遇到此错误 创建符号断点后malloc error break 我在日志中看到了这一点 Session started at 2010 02 13 19 1
  • 如何重新定位或移动 Google Maps SDK 上的当前位置按钮?

    如何将 Objective C 中的当前位置按钮移至我的偏好 现在 我已启用它 但底角有东西挡住了它 Thanks 您可以使用 padding 将按钮向上移动 self mapView padding UIEdgeInsets top 0
  • 核心数据对多关系。它们是延迟加载吗?

    我在核心数据 适用于 iPhone 中有典型的模型 其中包含部门和员工 部门 gt gt 员工 我不想每次加载时都加载一个部门的所有员工 所以我想将员工创建为获取的属性 我想我可以定义一些像这样的谓词 employee deparmentI
  • 是否为 Core Data 的获取结果控制器实现委托

    实现四种委托方法有什么好处 void controllerWillChangeContent NSFetchedResultsController 控制器 void 控制器 NSFetchedResultsController 控制器 di
  • 应用程序打开时处理推送通知

    我正在运行推送通知 有用 我收到通知并使用 application didReceiveRemoteNotification 获取传入数据 然后将用户发送到必要的屏幕 问题是 如果您正在使用该应用程序并收到通知 它会跳转到目标屏幕 而不会发
  • ios 在后台处理推送通知

    我想保存应用程序处于后台状态时到达的推送通知 我知道关于 void application UIApplication application didReceiveRemoteNotification NSDictionary userIn
  • 以编程方式在 App Store 上运行搜索?

    是否可以从我的应用程序中打开 App Store 应用程序并运行搜索 我想看看是否有一个 appstore 类型的 URL 可以使用 就像 mailto 和 sms 分别打开邮件和短信一样 有谁知道这是否可能 编辑 更多信息 我一直在尝试使

随机推荐

  • C++ 查找单词中的 Anagrams

    我正在开发一个程序 该程序使用以下命令来检查特定单词是否是字谜词std count但是 我认为我的功能逻辑不正确 而且我似乎无法弄清楚 假设文件中有以下单词 Evil Vile Veil Live 我的代码如下 include
  • PowerMock:模拟私有静态最终变量,具体示例

    要通过此测试必须进行的绝对最小模拟是什么 code class PrivateStaticFinal private static final Integer variable 0 public static Integer method
  • 使用 ODBC 转义包含问号的访问表名称

    我有一个Access数据库要查询如下 id name Print 1 one Yes 2 two No 现在 我在 java 中的查询 使用带有 ODBC 连接器的PreparedStatement 如下所示 select from tab
  • 将 pandas GroupBy 中的列值聚合为字典

    这是我之前面试的时候也问过的问题 我们的输入数据具有以下列 语言 产品 ID 货架 ID 排名 例如 输入将具有以下格式 English 742005 4560 10 2 English 6000075389352 4560 49 Fren
  • 如何左移一位特定位?

    我只想在特定位置左移一位 保留其位置0 所以我不想用 lt lt 运算符 这是一个示例 假设变量具有值1100 1010我想移动第四位那么结果应该是1101 0010 到达那里的步骤 从原始数字中提取位值 将位值左移一位 将位移后的值合并回
  • 幂集生成函数的时间复杂度

    我试图计算出我编写的函数的时间复杂度 它生成一个电源组 http en wikipedia org wiki Power set对于给定的字符串 public static HashSet
  • 高效浮点比较 (Cortex-A8)

    有一个很大的 100 000 数组floating点变量 并且有一个阈值 也floating point 问题是我必须将数组中的每个变量与阈值进行比较 但 NEON 标志传输需要非常长的时间 根据探查器 约为 20 个周期 有没有有效的方法
  • 使用 nginx 通过 index.php 路由请求 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在将我的服务器从 Apache 迁移到 Nginx 这非常简单 htaccess rule RewriteEngine On RewriteCon
  • 在 ssl (ldaps) 的支持下连接活动目录

    我正在尝试在 ssl 的支持下连接活动目录 我尝试了以下网站中的步骤 http confluence atlassian com display CROWD Configuring an SSL Certificate for Micros
  • 防止进入后台状态 ios swift 时 websocket 连接断开

    经过大量研究后 这似乎是一个灰色地带 一旦用户进入后台状态 使用 Swift 库 Starscream 但我相信问题出在 iOS 和套接字上 我会尝试通过 websockets 偶尔发送网络请求 用户离开应用程序后不久 套接字连接会自动断开
  • 如何获取全日历的开始和结束时间?

    我怎样才能得到start and end全日历中可见天数的时间 我需要它在另一个 javascript 实例中使用 有没有类似的功能 calender getStartTime 如果您正在寻找visible开始和结束日期 那就是visSta
  • 有 Safari 阅读器的 API 吗?

    Safari Reader 是否有一个 API 可用于为 iOS 应用过滤网页中的文本 清除广告 不需要的文本部分等 如果没有 还有其他选择吗 只是在为我的应用程序做一些研究 这就是我发现的 无法发布所有链接 因为我是新人 但很容易通过谷歌
  • 是否有理由使用 std::conjunction/std::disjunction 而不是“&&”/“||”上的折叠表达式?

    是否存在您无法正确处理的特定情况std conjunction std disjunction并且不使用更 基本 即语言功能而不是库功能 的折叠表达式 Example func is enabled if all Ts have the s
  • ngx-datatables 在排序时给出“rxjs_1.fromEvent 不是函数”错误

    我只是按照演示来展示一个简单的数据表 这是我的代码 columns name ID prop id name Street Address prop address street name Suburb prop address subur
  • Java流过滤器值之和

    我有一堂课叫MonitoredData其中描述了一项活动及其开始时间和结束时间 属性是activityLabel startTime endTime 我必须使用流对这些活动进行分组和过滤 这些活动的总持续时间超过 10 小时 我设法计算持续
  • 如何访问 Apple 照片应用程序中使用的人物相册

    苹果的照片应用程序具有面部识别功能 我想知道是否存在 API 来访问已由应用程序分类的照片的相关数据 Apple 发布了一个用于访问 Apple Photos 的 SDK 名为照片套件 https developer apple com d
  • Django REST Framework 中的命名 JSON 数组

    实际上我已经定义了模型序列化器 class MyObjectSerializer serializers ModelSerializer class Meta model MyObject fields id name 它为我准备 JSON
  • CasperJS“无法加载脚本”

    我在为我一直使用的 casperJS 编写新脚本时遇到了最奇怪的问题 当我尝试使用 casperjs myScript js 启动脚本时 我得到以下信息 Unable to load script var www scrapers mySc
  • 操作 TCP 标头中 ISN 编号的最有效方法 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我目前正在尝试编写一个程序 该程序将
  • iPhone:NSFilemanager fileExistsAtPath:isDirectory:无法正常工作?

    我正在为越狱 iPhone 开发一款应用程序 我试图仅获取文件夹的目录 所以我正在这样做 NSArray contentOfFolder NSFileManager defaultManager directoryContentsAtPat