从NSString创建NSURL的正确方法是什么?

时间:2013-01-14 17:47:47

标签: macos cocoa nsstring nsurl

我有一个NSString,它存储了保存文件的路径:

NSString *filePath = [NSString stringWithFormat:
                      @"%@/someFolder/%@",
                      NSHomeDirectory(),
                      [NSString stringWithFormat:@"%@",[self.fileName stringByAppendingPathExtension:@"txt"]]];

没关系 - 当我记录它时,我得到:

/Users/username/someFolder/fileName.txt

所以我的下一步是从NSURL创建一个NSString对象。我这样做了:

        NSURL *pathURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@", filePath]];
        NSLog(@"URL = %@", pathURL);

但回复是:

URL = (null)

这里有什么问题?我怎么能正确地做到这一点?

1 个答案:

答案 0 :(得分:11)

路径本身不是有效的URL。你必须使用这个:

NSURL *pathURL = [NSURL fileURLWithPath:filePath];

阅读文档。 (并且不要过度使用/滥用格式字符串。)