【问题标题】:iPhone - check condition for folderiPhone - 检查文件夹的条件
【发布时间】:2010-11-22 06:33:50
【问题描述】:

我有一个 tableView,它列出了文档目录的内容。它包含文件(jpg、png、mp4、pdf、sql、mp3、...)和文件夹(它们甚至还有子文件夹)。 这是我的屏幕截图。

列表中的“SQLTutorial”是一个文件夹。

然后我有一个 detailViewController,它在 tableView 中选择时打开文件。 这是我的屏幕截图。

问题是我不知道如何检查文件夹的条件并使其在下一个视图中列出子文件夹。我正在检查以下图片和视频的条件,它可以正常工作。

图片的条件

if ([detailedViewController.strType isEqualToString:@"jpg"]) {
}

视频的条件

if ([detailedViewController.strType isEqualToString:@"mp4"]) {
}

pdf 的条件

if ([detailedViewController.strType isEqualToString:@"pdf"]) {
}

我正在检查这样一个文件夹的条件

if ([detailedViewController.strType isEqualToString:@""]) {
}

但它不起作用。

知道如何让它工作吗?提前谢谢..

【问题讨论】:

    标签: iphone uitableview detailsview


    【解决方案1】:

    我认为您可以按如下方式检查文件夹的存在性

    NSArray *contentsArray = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:NULL];
    
    if(contentsArray==nil)
    {
        NSLog(@"This directory doesn't exist");
    }
    else if(contentsArray.count==0)
    {
        NSLog(@"Directory exists but doesn't have any content i.e. files or folders");
    }
    else if(contentsArray.count>0)
    {
       for (NSString *path in contentsArray)
       {
          NSLog(@"Content Path :%@",path);
       }
    
    }
    

    【讨论】:

    • 谢谢。我已经在我的代码中使用了它。它以数组的形式列出了我的目录中的内容。但是我可以访问目录中的所有文件,但不知道如何检查文件夹访问它的条件。
    • 它很简单,有一个名为 isFolder 的 BOOL 变量,检查每个路径,如上所示,如果路径是文件夹,即最后两个条件使布尔变量为 YES,否则为 NO。
    • 好的。但我一直在检查文件夹的状况。如果图像是“jpg”类型,我可以识别图像,如果是“mp4”类型,我可以识别视频。同理如何识别文件夹?
    • 我猜你不明白我上面解释的内容,我的意思是检查该路径是否给你 contentArray 为 nil,如果它是 nil,那么它是一个文件,如果它有数组实例,这意味着它是一个文件夹,就是这样。当你有解决方案时为什么会卡住..
    • 它给出错误 *** 由于未捕获的异常 'NSInvalidArgumentException' 导致应用程序终止,原因:'*** -[NSURL initFileURLWithPath:]: nil string parameter'
    猜你喜欢
    • 2011-07-12
    • 2012-07-30
    • 2014-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    • 1970-01-01
    相关资源
    最近更新 更多