检查文档目录 URL 是不是为空

Posted

技术标签:

【中文标题】检查文档目录 URL 是不是为空【英文标题】:Check if Documents Directory Url empty检查文档目录 URL 是否为空 【发布时间】:2017-11-29 17:01:08 【问题描述】:

在下面的代码中,我试图检查我的文档目录 URL 是否为空,因此如果它为空,它将立即显示或继续执行我需要的操作。

这是我的代码:

- (IBAction)saveVideo:(id)sender 
    NSURL *vedioURL;
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSArray *filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory  error:nil];
    NSLog(@"files array %@", filePathsArray);

    NSString *fullpath;
    for ( NSString *apath in filePathsArray )
    
        fullpath = [documentsDirectory stringByAppendingPathComponent:apath];
        vedioURL =[NSURL fileURLWithPath:fullpath];
    
    NSLog(@"vurl %@",vedioURL);
    NSURL *movieUrl = [NSURL fileURLWithPath:fullpath];
    NSString *moviePath = [movieUrl path];

    if (videoUrl.absoluteString.length == 0) 
        NSLog(@"No way");
     else 
        self.imageViewPost.image = [self generateThumbImage:moviePath];
        AVPlayerItem * playeritem = [AVPlayerItem playerItemWithURL:vedioURL];
        [_player replaceCurrentItemWithPlayerItem:playeritem];
        [_player play];
        [self clearTmpDirectory];
    

应用程序崩溃了,它向我的 Url 显示 Null 值:

vurl (null)
2017-11-29 20:54:24.288473+0400 EasyVideo[43587:2429960] ***
Terminating app due to uncaught exception 'NSInvalidArgumentException',
 reason: '*** -[NSURL initFileURLWithPath:]: nil string parameter'

我希望能解决这个问题。 谢谢

【问题讨论】:

这毫无意义。您对 Documents 文件夹中的所有文件和文件夹进行完整的递归列表。然后你遍历整个列表,只保留最后一个条目的结果(如果有的话)。然后假设最后一个条目是电影 URL。你为什么这么做?您的 Documents 文件夹可以包含各种文件和其他文件夹。你真的想在这里做什么? 在“if (videoUrl.absoluteString.length == 0)”实例中videoUrl和vedioURL是同一个实例?? 【参考方案1】:

可以先从URL中获取数据,检查是否为空。

NSData *data = [NSData dataWithContentsOfURL:videoURL];

这里,如果数据不为空,您将相应地执行任务:

 if (data == nil) 
  
       //Do not perform the task.

  
else 
  
      //perform the task
  

【讨论】:

以上是关于检查文档目录 URL 是不是为空的主要内容,如果未能解决你的问题,请参考以下文章

用 R 检查远程目录是不是存在

如何从 PHAsset 获取图像 URL?是不是可以使用 PHAsset URL 将图像保存到文档目录?

检查文件目录中是不是存在文件

没有为请求的 URL 配置默认文档,并且没有在服务器上启用目录浏览?求解

在 Swift 中使用 Glimpse 时将文档目录指定为文件输出 URL

检查目录在 Python 中是不是有效