NSURL:对于从NSSearchPathForDirectoriesInDomains获取的字符串,initWithString失败

时间:2011-12-28 00:45:42

标签: ios

有人可以告诉我为什么这段代码失败了。调用initWithString后url为nil。正在成功填充变量documentsDirectory。

NSArray   *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString  *documentsDirectory = [paths lastObject];  
NSURL* url =   [[NSURL alloc]initWithString:documentsDirectory];  

由于

1 个答案:

答案 0 :(得分:4)

来自the documentation

  

<强>参数
   URLString
  用于初始化NSURL对象的字符串。此字符串必须符合RFC 2396中所述的URL格式。此方法根据RFC 1738和1808解析URLString。

这意味着必须正确转义特殊字符(空格变为%20等);

OR

简单地做:

NSURL *url = [[NSURL alloc] initFileURLWithPath:documentsDirectory];