Ios 如何从currentDirectoryPath获取NSURL

Ios 如何从currentDirectoryPath获取NSURL,ios,nsurl,Ios,Nsurl,此调用返回nil。我应该如何更改它以使其返回指向当前工作目录的NSURL的指针? 文档目录:NSDocumentDirectory 缓存目录:NSCachesDirectory 特定于资源的目录:[NSBundle pathForResource:of type::://代码>() 这里有一种方法 NSURL *currentURL = [[NSURL alloc] initWithString: [fileManager currentDirectoryPath]]; 将ini

此调用返回nil。我应该如何更改它以使其返回指向当前工作目录的NSURL的指针?

  • 文档目录:
    NSDocumentDirectory
  • 缓存目录:
    NSCachesDirectory
  • 特定于资源的目录:
    [NSBundle pathForResource:of type::://代码>()
    • 这里有一种方法

        NSURL *currentURL = [[NSURL alloc] 
          initWithString: [fileManager currentDirectoryPath]];
      

      将initWithString:更改为initFileURLWithPath:。

      你说的“工作目录”是什么意思?我指的是Apple文档中使用的“工作目录”,包括,例如,NSFileManager类引用。回答:将initWithString:更改为initFileURLWithPath:。我没有在文档中查找文档路径或文件;我正在寻找当前工作目录的NSURL。所有这些都不会为我提供当前工作目录的NSURL,除非碰巧当前工作目录是文档或缓存。iOS上没有工作目录。您正在使用应用程序包中的文件,或者使用存储在缓存或文档目录中的文件。iOS上不允许使用其他文件。根据我的经验和对NSFileManager类参考和文件系统编程指南的阅读,我认为这是不对的。您可以在文档、库或tmp中创建子目录,并且可以将它们中的任何一个设置为当前工作目录。没错,但据我所知,iOS实际上并没有使用它。您可以使用
      changeCurrentDirectoryPath
      设置工作目录,但强烈建议避免此情况,而是使用
      NSDocumentDirectory
      和其他目录,由于iOS的一个核心概念是用户不必担心文件和文件夹。如果您能给我指一下苹果的文档,其中“强烈建议”不要在iOS应用程序中使用changeCurrentDirectoryPath,我将不胜感激。我不相信这是真的。无论如何,我仍然需要对我原来的问题的答案。
       NSArray  *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
          NSString *documentsDirectory = [paths objectAtIndex:0];
          int ind=0;
          NSString* destinationFilePath = [NSString stringWithFormat: @"%@/input%d.mp3", documentsDirectory,ind];