如何从NSURL获取路径/目录组件?

Bre*_*ett 16 macos cocoa nsurl

我从NSSavePanel中检索了一个NSURL.我现在有这个NSURL,它给了我以下内容:

file://localhost/Users/brett/Documents/asdf%20asdf.json

现在,我很容易使用以下内容检索文件名:

[[[NSFileManager defaultManager] displayNameAtPath:pathAndFilename] stringByDeletingPathExtension]

这给了我正确的本地化文件名,如预期的那样: asdf%20asdf

那么,我如何获得路径,如下: file://localhost/Users/brett/Documents/

Mik*_*lah 34

-[NSURL URLByDeletingLastPathComponent] 是实现这一目标的最简单方法.


Nek*_*kto 27

您可以使用NSString方法来处理文件路径.例如,

NSString *directory = [[URL absoluteString] stringByDeletingLastPathComponent];
NSString *filename = [[URL absoluteString] lastPathComponent];
Run Code Online (Sandbox Code Playgroud)

您可以在Apple Docs中找到其他有用的方法:NSString类参考 - > 使用路径部分