我从NSSavePanel检索了一个NSURL。我现在有这个NSURL,它给了我以下内容:
file://localhost/Users/brett/Documents/asdf%20asdf.json
现在,我很容易使用以下内容检索文件名:
[[[NSFileManager defaultManager] displayNameAtPath:pathAndFilename] stringByDeletingPathExtension]
这为我提供了本地化的文件名,如预期的那样:asdf%20asdf
那么,我如何获得路径,如下所示: file://localhost/Users/brett/Documents/
答案 0 :(得分:31)
-[NSURL URLByDeletingLastPathComponent]
是实现这一目标的最简单方法。
答案 1 :(得分:27)
您可以使用NSString
方法处理文件路径。例如,
NSString *directory = [[URL absoluteString] stringByDeletingLastPathComponent];
NSString *filename = [[URL absoluteString] lastPathComponent];
您可以在Apple文档中找到其他有用的方法:NSString Class Reference - > 使用路径部分
答案 2 :(得分:1)
直接来自您的NSSavePanel:
NSSavePanel *savePanel;
...
NSString *path = savePanel.directoryURL.path;