2013-05-21 50 views
-1

下面是我NSURL使用字符串,给出空值

NSString *foofile = @"/Users/alkandari/Library/Application Support/iPhone Simulator/6.1/Applications/8C445026-6387-4E40-B5A3-D1A1680666D6/Documents/ProjacsBODFiles/file_5_21.pdf" 
NSURL *url; 
if (fileExists) { 
    url = [NSURL URLWithString:foofile]; 
    NSLog(@"taking local file 1 ... %@==%@", url, foofile); 
} else { 

    url=[NSURL URLWithString:address]; 
    NSLog(@"taking internet file 1... %@", url); 
} 

当我执行,我更多的日志如下

taking local file 1 ... (null)==/Users/alkandari/Library/Application Support/iPhone Simulator/6.1/Applications/8C445026-6387-4E40-B5A3-D1A1680666D6/Documents/ProjacsBODFiles/file_5_21.pdf 

我不明白为什么我收到网址为空。正因为如此,我无法打开文件。

任何想法为什么我得到的URL为null以上?

回答

1

您将需要使用fileURLWithPath的路径LOCALFILE系统:

NSString *foofile = @"/Users/alkandari/Library/Application Support/iPhone Simulator/6.1/Applications/8C445026-6387-4E40-B5A3-D1A1680666D6/Documents/ProjacsBODFiles/file_5_21.pdf" 
NSURL *url; 
if (fileExists) { 
    url = [NSURL fileURLWithPath:foofile]; 
    NSLog(@"taking local file 1 ... %@==%@", url, foofile); 
} else { 
... 
} 
+0

谢谢...其工作.. –

1

您也可以通过下面的代码到达您的模拟器文件夹中的文件;

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

NSString *libraryBaseDirectory = [paths objectAtIndex:0]; 

NSString *privateDocumentsDirectory = [libraryBaseDirectory stringByAppendingPathComponent:@"ProjacsBODFiles"];