2011-12-03 43 views
1
NSURL *currentURL = [[NSURL alloc] 
    initWithString: [fileManager currentDirectoryPath]]; 

該調用返回nil。我應該如何改變它,以便它返回一個指向當前工作目錄的NSURL的指針?如何從currentDirectoryPath獲取NSURL

+0

「工作目錄」是什麼意思? –

+0

我的意思是Apple文檔中使用的「工作目錄」,包括例如NSFileManager類參考。 –

+0

答案:將initWithString:更改爲initFileURLWithPath :. –

回答

2

更改initWithString:到initFileURLWithPath :.

0
  • Documents目錄:NSDocumentDirectory
  • 緩存目錄:NSCachesDirectory
  • 資源特定的目錄:[NSBundle pathForResource:ofType:]docs
+0

這些都不會給我當前工作目錄的NSURL,除非巧合,當前的工作目錄是Documents或Caches。 –

+0

iOS上沒有這樣的工作目錄。您要麼使用應用包中的文件,要麼使用存儲在緩存或文檔目錄中的文件。 iOS上不允許使用其他文件。 –

+0

根據我的經驗和閱讀NSFileManager類參考和文件系統編程指南,我不相信這是正確的。您可以在Documents,Library或tmp中創建子目錄,並且可以使其中的任何一個成爲當前工作目錄。 –

0

這裏有一種方法

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    int ind=0; 
    NSString* destinationFilePath = [NSString stringWithFormat: @"%@/input%d.mp3", documentsDirectory,ind]; 
+0

我沒有尋找文檔或文件中的文件路徑;我正在尋找當前工作目錄的NSURL。 –